From 03bcf653d3788fd9e353b628d79055c3ac1b5b3c Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 10 Sep 2024 11:07:36 +0200 Subject: [PATCH 001/106] bump version --- .buildkite/pipeline.yml | 2 +- config/version.txt | 2 +- .../clients/transport/VersionInfo.java | 2 +- .../ElasticsearchAsyncClient.java | 20 +-- .../elasticsearch/ElasticsearchClient.java | 20 +-- .../elasticsearch/_types/SortOptions.java | 2 +- .../_types/analysis/Normalizer.java | 2 +- .../_types/mapping/GeoShapeProperty.java | 2 +- .../_types/mapping/ShapeProperty.java | 2 +- .../elasticsearch/_types/query_dsl/Like.java | 2 +- .../elasticsearch/_types/query_dsl/Query.java | 2 +- .../ElasticsearchAsyncSearchAsyncClient.java | 24 ++-- .../ElasticsearchAsyncSearchClient.java | 24 ++-- .../ElasticsearchAutoscalingAsyncClient.java | 14 +- .../ElasticsearchAutoscalingClient.java | 14 +- .../cat/ElasticsearchCatAsyncClient.java | 126 +++++++++--------- .../cat/ElasticsearchCatClient.java | 126 +++++++++--------- .../ccr/ElasticsearchCcrAsyncClient.java | 52 ++++---- .../ccr/ElasticsearchCcrClient.java | 52 ++++---- .../ElasticsearchClusterAsyncClient.java | 84 ++++++------ .../cluster/ElasticsearchClusterClient.java | 84 ++++++------ .../reroute/CommandAllocateReplicaAction.java | 2 +- .../ElasticsearchConnectorAsyncClient.java | 104 +++++++-------- .../ElasticsearchConnectorClient.java | 104 +++++++-------- ...ankEvalMetricDiscountedCumulativeGain.java | 2 +- .../RankEvalMetricExpectedReciprocalRank.java | 2 +- .../RankEvalMetricMeanReciprocalRank.java | 2 +- .../rank_eval/RankEvalMetricPrecision.java | 2 +- .../core/rank_eval/RankEvalMetricRecall.java | 2 +- .../elasticsearch/core/search/Context.java | 2 +- .../ElasticsearchEnrichAsyncClient.java | 8 +- .../enrich/ElasticsearchEnrichClient.java | 8 +- .../eql/ElasticsearchEqlAsyncClient.java | 12 +- .../eql/ElasticsearchEqlClient.java | 12 +- .../esql/ElasticsearchEsqlAsyncClient.java | 4 +- .../esql/ElasticsearchEsqlClient.java | 4 +- .../graph/ElasticsearchGraphAsyncClient.java | 4 +- .../graph/ElasticsearchGraphClient.java | 4 +- .../ElasticsearchIndicesAsyncClient.java | 40 +++--- .../indices/ElasticsearchIndicesClient.java | 40 +++--- .../elasticsearch/indices/IndexSettings.java | 2 +- .../indices/MappingLimitSettings.java | 2 +- .../ElasticsearchIngestAsyncClient.java | 8 +- .../ingest/ElasticsearchIngestClient.java | 8 +- .../ml/ElasticsearchMlAsyncClient.java | 28 ++-- .../ml/ElasticsearchMlClient.java | 28 ++-- .../nodes/ElasticsearchNodesAsyncClient.java | 24 ++-- .../nodes/ElasticsearchNodesClient.java | 24 ++-- .../tasks/ElasticsearchTasksAsyncClient.java | 16 +-- .../tasks/ElasticsearchTasksClient.java | 16 +-- 50 files changed, 586 insertions(+), 586 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 36bab6c67..8a9c2615d 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -2,7 +2,7 @@ steps: - label: ":java: :elasticsearch: Elasticsearch Java API client - {{matrix.workflow}}" agents: provider: "gcp" - branches: [ "main", "7.17", "8.14", "8.15" ] + branches: [ "main", "7.17", "8.15", "8.x", "9.0" ] matrix: setup: workflow: diff --git a/config/version.txt b/config/version.txt index 894aa0bc6..f7ee06693 100644 --- a/config/version.txt +++ b/config/version.txt @@ -1 +1 @@ -8.16.0 +9.0.0 diff --git a/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java b/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java index bc7163923..6a419c3de 100644 --- a/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java +++ b/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java @@ -22,5 +22,5 @@ // Package private class VersionInfo { static final String FLAVOR = "stack"; - static final String VERSION = "8.16.0"; + static final String VERSION = "9.0.0"; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index 01ff4a0d2..47ac1b436 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -357,7 +357,7 @@ public ElasticsearchXpackAsyncClient xpack() { * increase indexing speed. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -377,7 +377,7 @@ public CompletableFuture bulk(BulkRequest request) { * a function that initializes a builder to create the * {@link BulkRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -391,7 +391,7 @@ public final CompletableFuture bulk(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -406,7 +406,7 @@ public CompletableFuture bulk() { * Clears the search context and results for a scrolling search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -424,7 +424,7 @@ public CompletableFuture clearScroll(ClearScrollRequest req * a function that initializes a builder to create the * {@link ClearScrollRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -437,7 +437,7 @@ public final CompletableFuture clearScroll( * Clears the search context and results for a scrolling search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -452,7 +452,7 @@ public CompletableFuture clearScroll() { * Closes a point-in-time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -470,7 +470,7 @@ public CompletableFuture closePointInTime(ClosePointIn * a function that initializes a builder to create the * {@link ClosePointInTimeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -1546,7 +1546,7 @@ public CompletableFuture mtermvectors() { * the more recent point in time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -1571,7 +1571,7 @@ public CompletableFuture openPointInTime(OpenPointInTim * a function that initializes a builder to create the * {@link OpenPointInTimeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index d2cdc67f7..baa999b7a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -358,7 +358,7 @@ public ElasticsearchXpackClient xpack() { * increase indexing speed. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -378,7 +378,7 @@ public BulkResponse bulk(BulkRequest request) throws IOException, ElasticsearchE * a function that initializes a builder to create the * {@link BulkRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -393,7 +393,7 @@ public final BulkResponse bulk(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/docs-bulk.html">Documentation * on elastic.co */ @@ -408,7 +408,7 @@ public BulkResponse bulk() throws IOException, ElasticsearchException { * Clears the search context and results for a scrolling search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -426,7 +426,7 @@ public ClearScrollResponse clearScroll(ClearScrollRequest request) throws IOExce * a function that initializes a builder to create the * {@link ClearScrollRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -440,7 +440,7 @@ public final ClearScrollResponse clearScroll( * Clears the search context and results for a scrolling search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/clear-scroll-api.html">Documentation * on elastic.co */ @@ -455,7 +455,7 @@ public ClearScrollResponse clearScroll() throws IOException, ElasticsearchExcept * Closes a point-in-time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -474,7 +474,7 @@ public ClosePointInTimeResponse closePointInTime(ClosePointInTimeRequest request * a function that initializes a builder to create the * {@link ClosePointInTimeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -1572,7 +1572,7 @@ public MtermvectorsResponse mtermvectors() throws IOException, ElasticsearchExce * the more recent point in time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ @@ -1598,7 +1598,7 @@ public OpenPointInTimeResponse openPointInTime(OpenPointInTimeRequest request) * a function that initializes a builder to create the * {@link OpenPointInTimeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/point-in-time-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptions.java index 4250ba591..83d147576 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptions.java @@ -59,7 +59,7 @@ /** * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/sort-search-results.html">Documentation * on elastic.co * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Normalizer.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Normalizer.java index 151d60baa..899363eb8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Normalizer.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Normalizer.java @@ -57,7 +57,7 @@ /** * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/analysis-normalizers.html">Documentation * on elastic.co * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoShapeProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoShapeProperty.java index 053d9e4e5..10465f7e2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoShapeProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoShapeProperty.java @@ -53,7 +53,7 @@ * searching with arbitrary geo shapes such as rectangles and polygons. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/geo-shape.html">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShapeProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShapeProperty.java index 0f18305fb..3df6e636c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShapeProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShapeProperty.java @@ -54,7 +54,7 @@ * polygons. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/shape.html">Documentation * on elastic.co * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Like.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Like.java index 242c07579..06082f897 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Like.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Like.java @@ -60,7 +60,7 @@ * the text. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/query-dsl-mlt-query.html#_document_input_parameters">Documentation * on elastic.co * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java index 8eebcb40f..71541ef8f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java @@ -62,7 +62,7 @@ /** * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/query-dsl.html">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java index 9a008a7c7..6e9bf96f9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java @@ -80,7 +80,7 @@ public ElasticsearchAsyncSearchAsyncClient withTransportOptions(@Nullable Transp * cancel_task cluster privilege. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -103,7 +103,7 @@ public CompletableFuture delete(DeleteAsyncSearchRequ * a function that initializes a builder to create the * {@link DeleteAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -121,7 +121,7 @@ public final CompletableFuture delete( * that submitted it. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -145,7 +145,7 @@ public CompletableFuture> get(GetA * a function that initializes a builder to create the * {@link GetAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -162,7 +162,7 @@ public final CompletableFuture> ge * that submitted it. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -186,7 +186,7 @@ public CompletableFuture> get(GetA * a function that initializes a builder to create the * {@link GetAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -204,7 +204,7 @@ public final CompletableFuture> ge * restricted to the monitoring_user role. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -225,7 +225,7 @@ public CompletableFuture status(AsyncSearchStatusRequ * a function that initializes a builder to create the * {@link AsyncSearchStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -248,7 +248,7 @@ public final CompletableFuture status( * search.max_async_search_response_size cluster level setting. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -278,7 +278,7 @@ public CompletableFuture> submit(SubmitReq * a function that initializes a builder to create the * {@link SubmitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -299,7 +299,7 @@ public final CompletableFuture> submit( * search.max_async_search_response_size cluster level setting. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -328,7 +328,7 @@ public CompletableFuture> submit(SubmitReq * a function that initializes a builder to create the * {@link SubmitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java index aeba7ef78..d0227fd06 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java @@ -79,7 +79,7 @@ public ElasticsearchAsyncSearchClient withTransportOptions(@Nullable TransportOp * cancel_task cluster privilege. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -103,7 +103,7 @@ public DeleteAsyncSearchResponse delete(DeleteAsyncSearchRequest request) * a function that initializes a builder to create the * {@link DeleteAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -122,7 +122,7 @@ public final DeleteAsyncSearchResponse delete( * that submitted it. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -146,7 +146,7 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r * a function that initializes a builder to create the * {@link GetAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -163,7 +163,7 @@ public final GetAsyncSearchResponse get( * that submitted it. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -187,7 +187,7 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r * a function that initializes a builder to create the * {@link GetAsyncSearchRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -206,7 +206,7 @@ public final GetAsyncSearchResponse get( * restricted to the monitoring_user role. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -228,7 +228,7 @@ public AsyncSearchStatusResponse status(AsyncSearchStatusRequest request) * a function that initializes a builder to create the * {@link AsyncSearchStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -252,7 +252,7 @@ public final AsyncSearchStatusResponse status( * search.max_async_search_response_size cluster level setting. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -282,7 +282,7 @@ public SubmitResponse submit(SubmitRequest request, Class * a function that initializes a builder to create the * {@link SubmitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -304,7 +304,7 @@ public final SubmitResponse submit( * search.max_async_search_response_size cluster level setting. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ @@ -334,7 +334,7 @@ public SubmitResponse submit(SubmitRequest request, Type * a function that initializes a builder to create the * {@link SubmitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/async-search.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java index d9b55b9bd..c56b29662 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java @@ -74,7 +74,7 @@ public ElasticsearchAutoscalingAsyncClient withTransportOptions(@Nullable Transp * Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-delete-autoscaling-policy.html">Documentation * on elastic.co */ @@ -94,7 +94,7 @@ public CompletableFuture deleteAutoscalingPolic * a function that initializes a builder to create the * {@link DeleteAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-delete-autoscaling-policy.html">Documentation * on elastic.co */ @@ -111,7 +111,7 @@ public final CompletableFuture deleteAutoscalin * supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ public CompletableFuture getAutoscalingCapacity() { @@ -126,7 +126,7 @@ public CompletableFuture getAutoscalingCapacity( * ECK. Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ @@ -145,7 +145,7 @@ public CompletableFuture getAutoscalingPolicy(GetA * a function that initializes a builder to create the * {@link GetAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ @@ -161,7 +161,7 @@ public final CompletableFuture getAutoscalingPolic * ECK. Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-put-autoscaling-policy.html">Documentation * on elastic.co */ @@ -180,7 +180,7 @@ public CompletableFuture putAutoscalingPolicy(PutA * a function that initializes a builder to create the * {@link PutAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-put-autoscaling-policy.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java index 83a375d12..346fe88cd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java @@ -73,7 +73,7 @@ public ElasticsearchAutoscalingClient withTransportOptions(@Nullable TransportOp * Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-delete-autoscaling-policy.html">Documentation * on elastic.co */ @@ -93,7 +93,7 @@ public DeleteAutoscalingPolicyResponse deleteAutoscalingPolicy(DeleteAutoscaling * a function that initializes a builder to create the * {@link DeleteAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-delete-autoscaling-policy.html">Documentation * on elastic.co */ @@ -111,7 +111,7 @@ public final DeleteAutoscalingPolicyResponse deleteAutoscalingPolicy( * supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ public GetAutoscalingCapacityResponse getAutoscalingCapacity() throws IOException, ElasticsearchException { @@ -126,7 +126,7 @@ public GetAutoscalingCapacityResponse getAutoscalingCapacity() throws IOExceptio * ECK. Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ @@ -146,7 +146,7 @@ public GetAutoscalingPolicyResponse getAutoscalingPolicy(GetAutoscalingPolicyReq * a function that initializes a builder to create the * {@link GetAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ @@ -163,7 +163,7 @@ public final GetAutoscalingPolicyResponse getAutoscalingPolicy( * ECK. Direct use is not supported. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-put-autoscaling-policy.html">Documentation * on elastic.co */ @@ -183,7 +183,7 @@ public PutAutoscalingPolicyResponse putAutoscalingPolicy(PutAutoscalingPolicyReq * a function that initializes a builder to create the * {@link PutAutoscalingPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-put-autoscaling-policy.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java index b21353b7c..de4162029 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java @@ -75,7 +75,7 @@ public ElasticsearchCatAsyncClient withTransportOptions(@Nullable TransportOptio * application consumption, use the aliases API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -98,7 +98,7 @@ public CompletableFuture aliases(AliasesRequest request) { * a function that initializes a builder to create the * {@link AliasesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -116,7 +116,7 @@ public final CompletableFuture aliases( * application consumption, use the aliases API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -134,7 +134,7 @@ public CompletableFuture aliases() { * applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -155,7 +155,7 @@ public CompletableFuture allocation(AllocationRequest reques * a function that initializes a builder to create the * {@link AllocationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -171,7 +171,7 @@ public final CompletableFuture allocation( * applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -257,7 +257,7 @@ public CompletableFuture componentTemplates() { * application consumption, use the count API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -282,7 +282,7 @@ public CompletableFuture count(CountRequest request) { * a function that initializes a builder to create the * {@link CountRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -302,7 +302,7 @@ public final CompletableFuture count( * application consumption, use the count API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -321,7 +321,7 @@ public CompletableFuture count() { * stats API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -343,7 +343,7 @@ public CompletableFuture fielddata(FielddataRequest request) * a function that initializes a builder to create the * {@link FielddataRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -360,7 +360,7 @@ public final CompletableFuture fielddata( * stats API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -386,7 +386,7 @@ public CompletableFuture fielddata() { * of a large cluster over a longer period of time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -415,7 +415,7 @@ public CompletableFuture health(HealthRequest request) { * a function that initializes a builder to create the * {@link HealthRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -439,7 +439,7 @@ public final CompletableFuture health( * of a large cluster over a longer period of time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -454,7 +454,7 @@ public CompletableFuture health() { * Get CAT help. Returns help for the CAT APIs. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat.html">Documentation * on elastic.co */ public CompletableFuture help() { @@ -487,7 +487,7 @@ public CompletableFuture help() { * application consumption, use an index endpoint. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -525,7 +525,7 @@ public CompletableFuture indices(IndicesRequest request) { * a function that initializes a builder to create the * {@link IndicesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -558,7 +558,7 @@ public final CompletableFuture indices( * application consumption, use an index endpoint. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -576,7 +576,7 @@ public CompletableFuture indices() { * for use by applications. For application consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-master.html">Documentation * on elastic.co */ public CompletableFuture master() { @@ -595,7 +595,7 @@ public CompletableFuture master() { * consumption, use the get data frame analytics jobs statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -618,7 +618,7 @@ public CompletableFuture mlDataFrameAnalytics(MlDa * a function that initializes a builder to create the * {@link MlDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -636,7 +636,7 @@ public final CompletableFuture mlDataFrameAnalytic * consumption, use the get data frame analytics jobs statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -659,7 +659,7 @@ public CompletableFuture mlDataFrameAnalytics() { * consumption, use the get datafeed statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -685,7 +685,7 @@ public CompletableFuture mlDatafeeds(MlDatafeedsRequest req * a function that initializes a builder to create the * {@link MlDatafeedsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -706,7 +706,7 @@ public final CompletableFuture mlDatafeeds( * consumption, use the get datafeed statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -729,7 +729,7 @@ public CompletableFuture mlDatafeeds() { * consumption, use the get anomaly detection job statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -755,7 +755,7 @@ public CompletableFuture mlJobs(MlJobsRequest request) { * a function that initializes a builder to create the * {@link MlJobsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -776,7 +776,7 @@ public final CompletableFuture mlJobs( * consumption, use the get anomaly detection job statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -796,7 +796,7 @@ public CompletableFuture mlJobs() { * consumption, use the get trained models statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -819,7 +819,7 @@ public CompletableFuture mlTrainedModels(MlTrainedModel * a function that initializes a builder to create the * {@link MlTrainedModelsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -837,7 +837,7 @@ public final CompletableFuture mlTrainedModels( * consumption, use the get trained models statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -855,7 +855,7 @@ public CompletableFuture mlTrainedModels() { * use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodeattrs.html">Documentation * on elastic.co */ public CompletableFuture nodeattrs() { @@ -872,7 +872,7 @@ public CompletableFuture nodeattrs() { * use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -893,7 +893,7 @@ public CompletableFuture nodes(NodesRequest request) { * a function that initializes a builder to create the * {@link NodesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -909,7 +909,7 @@ public final CompletableFuture nodes( * use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -927,7 +927,7 @@ public CompletableFuture nodes() { * consumption, use the pending cluster tasks API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-pending-tasks.html">Documentation * on elastic.co */ public CompletableFuture pendingTasks() { @@ -944,7 +944,7 @@ public CompletableFuture pendingTasks() { * consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-plugins.html">Documentation * on elastic.co */ public CompletableFuture plugins() { @@ -966,7 +966,7 @@ public CompletableFuture plugins() { * API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -992,7 +992,7 @@ public CompletableFuture recovery(RecoveryRequest request) { * a function that initializes a builder to create the * {@link RecoveryRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -1013,7 +1013,7 @@ public final CompletableFuture recovery( * API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -1031,7 +1031,7 @@ public CompletableFuture recovery() { * the get snapshot repository API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-repositories.html">Documentation * on elastic.co */ public CompletableFuture repositories() { @@ -1049,7 +1049,7 @@ public CompletableFuture repositories() { * application consumption, use the index segments API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1071,7 +1071,7 @@ public CompletableFuture segments(SegmentsRequest request) { * a function that initializes a builder to create the * {@link SegmentsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1088,7 +1088,7 @@ public final CompletableFuture segments( * application consumption, use the index segments API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1106,7 +1106,7 @@ public CompletableFuture segments() { * are not intended for use by applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1127,7 +1127,7 @@ public CompletableFuture shards(ShardsRequest request) { * a function that initializes a builder to create the * {@link ShardsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1143,7 +1143,7 @@ public final CompletableFuture shards( * are not intended for use by applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1162,7 +1162,7 @@ public CompletableFuture shards() { * application consumption, use the get snapshot API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1184,7 +1184,7 @@ public CompletableFuture snapshots(SnapshotsRequest request) * a function that initializes a builder to create the * {@link SnapshotsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1201,7 +1201,7 @@ public final CompletableFuture snapshots( * application consumption, use the get snapshot API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1219,7 +1219,7 @@ public CompletableFuture snapshots() { * application consumption, use the task management API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1240,7 +1240,7 @@ public CompletableFuture tasks(TasksRequest request) { * a function that initializes a builder to create the * {@link TasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1256,7 +1256,7 @@ public final CompletableFuture tasks( * application consumption, use the task management API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1275,7 +1275,7 @@ public CompletableFuture tasks() { * applications. For application consumption, use the get index template API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1297,7 +1297,7 @@ public CompletableFuture templates(TemplatesRequest request) * a function that initializes a builder to create the * {@link TemplatesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1314,7 +1314,7 @@ public final CompletableFuture templates( * applications. For application consumption, use the get index template API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1333,7 +1333,7 @@ public CompletableFuture templates() { * application consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1355,7 +1355,7 @@ public CompletableFuture threadPool(ThreadPoolRequest reques * a function that initializes a builder to create the * {@link ThreadPoolRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1372,7 +1372,7 @@ public final CompletableFuture threadPool( * application consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1391,7 +1391,7 @@ public CompletableFuture threadPool() { * consumption, use the get transform statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ @@ -1413,7 +1413,7 @@ public CompletableFuture transforms(TransformsRequest reques * a function that initializes a builder to create the * {@link TransformsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ @@ -1430,7 +1430,7 @@ public final CompletableFuture transforms( * consumption, use the get transform statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java index d967f8be0..927d8e4d5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java @@ -76,7 +76,7 @@ public ElasticsearchCatClient withTransportOptions(@Nullable TransportOptions tr * application consumption, use the aliases API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -99,7 +99,7 @@ public AliasesResponse aliases(AliasesRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link AliasesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -117,7 +117,7 @@ public final AliasesResponse aliases(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-alias.html">Documentation * on elastic.co */ @@ -135,7 +135,7 @@ public AliasesResponse aliases() throws IOException, ElasticsearchException { * applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -156,7 +156,7 @@ public AllocationResponse allocation(AllocationRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link AllocationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -172,7 +172,7 @@ public final AllocationResponse allocation(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-allocation.html">Documentation * on elastic.co */ @@ -260,7 +260,7 @@ public ComponentTemplatesResponse componentTemplates() throws IOException, Elast * application consumption, use the count API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -285,7 +285,7 @@ public CountResponse count(CountRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link CountRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -305,7 +305,7 @@ public final CountResponse count(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-count.html">Documentation * on elastic.co */ @@ -324,7 +324,7 @@ public CountResponse count() throws IOException, ElasticsearchException { * stats API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -346,7 +346,7 @@ public FielddataResponse fielddata(FielddataRequest request) throws IOException, * a function that initializes a builder to create the * {@link FielddataRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -363,7 +363,7 @@ public final FielddataResponse fielddata(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-fielddata.html">Documentation * on elastic.co */ @@ -389,7 +389,7 @@ public FielddataResponse fielddata() throws IOException, ElasticsearchException * of a large cluster over a longer period of time. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -418,7 +418,7 @@ public HealthResponse health(HealthRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link HealthRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -442,7 +442,7 @@ public final HealthResponse health(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-health.html">Documentation * on elastic.co */ @@ -457,7 +457,7 @@ public HealthResponse health() throws IOException, ElasticsearchException { * Get CAT help. Returns help for the CAT APIs. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat.html">Documentation * on elastic.co */ public HelpResponse help() throws IOException, ElasticsearchException { @@ -490,7 +490,7 @@ public HelpResponse help() throws IOException, ElasticsearchException { * application consumption, use an index endpoint. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -528,7 +528,7 @@ public IndicesResponse indices(IndicesRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link IndicesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -561,7 +561,7 @@ public final IndicesResponse indices(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-indices.html">Documentation * on elastic.co */ @@ -579,7 +579,7 @@ public IndicesResponse indices() throws IOException, ElasticsearchException { * for use by applications. For application consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-master.html">Documentation * on elastic.co */ public MasterResponse master() throws IOException, ElasticsearchException { @@ -597,7 +597,7 @@ public MasterResponse master() throws IOException, ElasticsearchException { * consumption, use the get data frame analytics jobs statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -621,7 +621,7 @@ public MlDataFrameAnalyticsResponse mlDataFrameAnalytics(MlDataFrameAnalyticsReq * a function that initializes a builder to create the * {@link MlDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -640,7 +640,7 @@ public final MlDataFrameAnalyticsResponse mlDataFrameAnalytics( * consumption, use the get data frame analytics jobs statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-dfanalytics.html">Documentation * on elastic.co */ @@ -663,7 +663,7 @@ public MlDataFrameAnalyticsResponse mlDataFrameAnalytics() throws IOException, E * consumption, use the get datafeed statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -689,7 +689,7 @@ public MlDatafeedsResponse mlDatafeeds(MlDatafeedsRequest request) throws IOExce * a function that initializes a builder to create the * {@link MlDatafeedsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -711,7 +711,7 @@ public final MlDatafeedsResponse mlDatafeeds( * consumption, use the get datafeed statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-datafeeds.html">Documentation * on elastic.co */ @@ -734,7 +734,7 @@ public MlDatafeedsResponse mlDatafeeds() throws IOException, ElasticsearchExcept * consumption, use the get anomaly detection job statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -760,7 +760,7 @@ public MlJobsResponse mlJobs(MlJobsRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link MlJobsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -781,7 +781,7 @@ public final MlJobsResponse mlJobs(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-anomaly-detectors.html">Documentation * on elastic.co */ @@ -801,7 +801,7 @@ public MlJobsResponse mlJobs() throws IOException, ElasticsearchException { * consumption, use the get trained models statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -825,7 +825,7 @@ public MlTrainedModelsResponse mlTrainedModels(MlTrainedModelsRequest request) * a function that initializes a builder to create the * {@link MlTrainedModelsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -844,7 +844,7 @@ public final MlTrainedModelsResponse mlTrainedModels( * consumption, use the get trained models statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-trained-model.html">Documentation * on elastic.co */ @@ -862,7 +862,7 @@ public MlTrainedModelsResponse mlTrainedModels() throws IOException, Elasticsear * use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodeattrs.html">Documentation * on elastic.co */ public NodeattrsResponse nodeattrs() throws IOException, ElasticsearchException { @@ -879,7 +879,7 @@ public NodeattrsResponse nodeattrs() throws IOException, ElasticsearchException * use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -900,7 +900,7 @@ public NodesResponse nodes(NodesRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link NodesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -916,7 +916,7 @@ public final NodesResponse nodes(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodes.html">Documentation * on elastic.co */ @@ -934,7 +934,7 @@ public NodesResponse nodes() throws IOException, ElasticsearchException { * consumption, use the pending cluster tasks API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-pending-tasks.html">Documentation * on elastic.co */ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchException { @@ -951,7 +951,7 @@ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchExce * consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-plugins.html">Documentation * on elastic.co */ public PluginsResponse plugins() throws IOException, ElasticsearchException { @@ -972,7 +972,7 @@ public PluginsResponse plugins() throws IOException, ElasticsearchException { * API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -998,7 +998,7 @@ public RecoveryResponse recovery(RecoveryRequest request) throws IOException, El * a function that initializes a builder to create the * {@link RecoveryRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -1019,7 +1019,7 @@ public final RecoveryResponse recovery(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-recovery.html">Documentation * on elastic.co */ @@ -1037,7 +1037,7 @@ public RecoveryResponse recovery() throws IOException, ElasticsearchException { * the get snapshot repository API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-repositories.html">Documentation * on elastic.co */ public RepositoriesResponse repositories() throws IOException, ElasticsearchException { @@ -1055,7 +1055,7 @@ public RepositoriesResponse repositories() throws IOException, ElasticsearchExce * application consumption, use the index segments API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1077,7 +1077,7 @@ public SegmentsResponse segments(SegmentsRequest request) throws IOException, El * a function that initializes a builder to create the * {@link SegmentsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1094,7 +1094,7 @@ public final SegmentsResponse segments(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-segments.html">Documentation * on elastic.co */ @@ -1112,7 +1112,7 @@ public SegmentsResponse segments() throws IOException, ElasticsearchException { * are not intended for use by applications. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1133,7 +1133,7 @@ public ShardsResponse shards(ShardsRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link ShardsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1149,7 +1149,7 @@ public final ShardsResponse shards(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-shards.html">Documentation * on elastic.co */ @@ -1168,7 +1168,7 @@ public ShardsResponse shards() throws IOException, ElasticsearchException { * application consumption, use the get snapshot API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1190,7 +1190,7 @@ public SnapshotsResponse snapshots(SnapshotsRequest request) throws IOException, * a function that initializes a builder to create the * {@link SnapshotsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1207,7 +1207,7 @@ public final SnapshotsResponse snapshots(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-snapshots.html">Documentation * on elastic.co */ @@ -1225,7 +1225,7 @@ public SnapshotsResponse snapshots() throws IOException, ElasticsearchException * application consumption, use the task management API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1246,7 +1246,7 @@ public TasksResponse tasks(TasksRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link TasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1262,7 +1262,7 @@ public final TasksResponse tasks(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -1281,7 +1281,7 @@ public TasksResponse tasks() throws IOException, ElasticsearchException { * applications. For application consumption, use the get index template API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1303,7 +1303,7 @@ public TemplatesResponse templates(TemplatesRequest request) throws IOException, * a function that initializes a builder to create the * {@link TemplatesRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1320,7 +1320,7 @@ public final TemplatesResponse templates(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-templates.html">Documentation * on elastic.co */ @@ -1339,7 +1339,7 @@ public TemplatesResponse templates() throws IOException, ElasticsearchException * application consumption, use the nodes info API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1361,7 +1361,7 @@ public ThreadPoolResponse threadPool(ThreadPoolRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link ThreadPoolRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1378,7 +1378,7 @@ public final ThreadPoolResponse threadPool(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-thread-pool.html">Documentation * on elastic.co */ @@ -1397,7 +1397,7 @@ public ThreadPoolResponse threadPool() throws IOException, ElasticsearchExceptio * consumption, use the get transform statistics API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ @@ -1419,7 +1419,7 @@ public TransformsResponse transforms(TransformsRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link TransformsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ @@ -1436,7 +1436,7 @@ public final TransformsResponse transforms(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-transforms.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java index 5a511d617..f5d41aaeb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java @@ -70,7 +70,7 @@ public ElasticsearchCcrAsyncClient withTransportOptions(@Nullable TransportOptio * Deletes auto-follow patterns. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-delete-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -89,7 +89,7 @@ public CompletableFuture deleteAutoFollowPatter * a function that initializes a builder to create the * {@link DeleteAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-delete-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -105,7 +105,7 @@ public final CompletableFuture deleteAutoFollow * index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-follow.html">Documentation * on elastic.co */ @@ -124,7 +124,7 @@ public CompletableFuture follow(FollowRequest request) { * a function that initializes a builder to create the * {@link FollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-follow.html">Documentation * on elastic.co */ @@ -140,7 +140,7 @@ public final CompletableFuture follow( * status for each follower index * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-info.html">Documentation * on elastic.co */ @@ -159,7 +159,7 @@ public CompletableFuture followInfo(FollowInfoRequest reques * a function that initializes a builder to create the * {@link FollowInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-info.html">Documentation * on elastic.co */ @@ -175,7 +175,7 @@ public final CompletableFuture followInfo( * associated with each shard for the specified indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-stats.html">Documentation * on elastic.co */ @@ -194,7 +194,7 @@ public CompletableFuture followStats(FollowStatsRequest req * a function that initializes a builder to create the * {@link FollowStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-stats.html">Documentation * on elastic.co */ @@ -209,7 +209,7 @@ public final CompletableFuture followStats( * Removes the follower retention leases from the leader. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-forget-follower.html">Documentation * on elastic.co */ @@ -227,7 +227,7 @@ public CompletableFuture forgetFollower(ForgetFollowerRe * a function that initializes a builder to create the * {@link ForgetFollowerRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-forget-follower.html">Documentation * on elastic.co */ @@ -243,7 +243,7 @@ public final CompletableFuture forgetFollower( * pattern collection. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -262,7 +262,7 @@ public CompletableFuture getAutoFollowPattern(GetA * a function that initializes a builder to create the * {@link GetAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -276,7 +276,7 @@ public final CompletableFuture getAutoFollowPatter * pattern collection. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -291,7 +291,7 @@ public CompletableFuture getAutoFollowPattern() { * Pauses an auto-follow pattern * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-pause-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -310,7 +310,7 @@ public CompletableFuture pauseAutoFollowPattern( * a function that initializes a builder to create the * {@link PauseAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-pause-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -326,7 +326,7 @@ public final CompletableFuture pauseAutoFollowPa * operations from the leader index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-pause-follow.html">Documentation * on elastic.co */ @@ -345,7 +345,7 @@ public CompletableFuture pauseFollow(PauseFollowRequest req * a function that initializes a builder to create the * {@link PauseFollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-pause-follow.html">Documentation * on elastic.co */ @@ -362,7 +362,7 @@ public final CompletableFuture pauseFollow( * the specified patterns will be automatically configured as follower indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -382,7 +382,7 @@ public CompletableFuture putAutoFollowPattern(PutA * a function that initializes a builder to create the * {@link PutAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -397,7 +397,7 @@ public final CompletableFuture putAutoFollowPatter * Resumes an auto-follow pattern that has been paused * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-resume-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -416,7 +416,7 @@ public CompletableFuture resumeAutoFollowPatter * a function that initializes a builder to create the * {@link ResumeAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-resume-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -431,7 +431,7 @@ public final CompletableFuture resumeAutoFollow * Resumes a follower index that has been paused * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-resume-follow.html">Documentation * on elastic.co */ @@ -449,7 +449,7 @@ public CompletableFuture resumeFollow(ResumeFollowRequest * a function that initializes a builder to create the * {@link ResumeFollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-resume-follow.html">Documentation * on elastic.co */ @@ -464,7 +464,7 @@ public final CompletableFuture resumeFollow( * Gets all stats related to cross-cluster replication. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-stats.html">Documentation * on elastic.co */ public CompletableFuture stats() { @@ -479,7 +479,7 @@ public CompletableFuture stats() { * metadata and settings associated with cross-cluster replication. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-unfollow.html">Documentation * on elastic.co */ @@ -498,7 +498,7 @@ public CompletableFuture unfollow(UnfollowRequest request) { * a function that initializes a builder to create the * {@link UnfollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-unfollow.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java index 2569bae30..d12d23e60 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java @@ -71,7 +71,7 @@ public ElasticsearchCcrClient withTransportOptions(@Nullable TransportOptions tr * Deletes auto-follow patterns. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-delete-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -90,7 +90,7 @@ public DeleteAutoFollowPatternResponse deleteAutoFollowPattern(DeleteAutoFollowP * a function that initializes a builder to create the * {@link DeleteAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-delete-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -107,7 +107,7 @@ public final DeleteAutoFollowPatternResponse deleteAutoFollowPattern( * index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-follow.html">Documentation * on elastic.co */ @@ -126,7 +126,7 @@ public FollowResponse follow(FollowRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link FollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-follow.html">Documentation * on elastic.co */ @@ -142,7 +142,7 @@ public final FollowResponse follow(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-info.html">Documentation * on elastic.co */ @@ -161,7 +161,7 @@ public FollowInfoResponse followInfo(FollowInfoRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link FollowInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-info.html">Documentation * on elastic.co */ @@ -177,7 +177,7 @@ public final FollowInfoResponse followInfo(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-stats.html">Documentation * on elastic.co */ @@ -196,7 +196,7 @@ public FollowStatsResponse followStats(FollowStatsRequest request) throws IOExce * a function that initializes a builder to create the * {@link FollowStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-follow-stats.html">Documentation * on elastic.co */ @@ -212,7 +212,7 @@ public final FollowStatsResponse followStats( * Removes the follower retention leases from the leader. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-forget-follower.html">Documentation * on elastic.co */ @@ -231,7 +231,7 @@ public ForgetFollowerResponse forgetFollower(ForgetFollowerRequest request) * a function that initializes a builder to create the * {@link ForgetFollowerRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-forget-follower.html">Documentation * on elastic.co */ @@ -248,7 +248,7 @@ public final ForgetFollowerResponse forgetFollower( * pattern collection. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -268,7 +268,7 @@ public GetAutoFollowPatternResponse getAutoFollowPattern(GetAutoFollowPatternReq * a function that initializes a builder to create the * {@link GetAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -283,7 +283,7 @@ public final GetAutoFollowPatternResponse getAutoFollowPattern( * pattern collection. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -298,7 +298,7 @@ public GetAutoFollowPatternResponse getAutoFollowPattern() throws IOException, E * Pauses an auto-follow pattern * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-pause-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -317,7 +317,7 @@ public PauseAutoFollowPatternResponse pauseAutoFollowPattern(PauseAutoFollowPatt * a function that initializes a builder to create the * {@link PauseAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-pause-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -334,7 +334,7 @@ public final PauseAutoFollowPatternResponse pauseAutoFollowPattern( * operations from the leader index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-pause-follow.html">Documentation * on elastic.co */ @@ -353,7 +353,7 @@ public PauseFollowResponse pauseFollow(PauseFollowRequest request) throws IOExce * a function that initializes a builder to create the * {@link PauseFollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-pause-follow.html">Documentation * on elastic.co */ @@ -371,7 +371,7 @@ public final PauseFollowResponse pauseFollow( * the specified patterns will be automatically configured as follower indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -392,7 +392,7 @@ public PutAutoFollowPatternResponse putAutoFollowPattern(PutAutoFollowPatternReq * a function that initializes a builder to create the * {@link PutAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-put-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -408,7 +408,7 @@ public final PutAutoFollowPatternResponse putAutoFollowPattern( * Resumes an auto-follow pattern that has been paused * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-resume-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -427,7 +427,7 @@ public ResumeAutoFollowPatternResponse resumeAutoFollowPattern(ResumeAutoFollowP * a function that initializes a builder to create the * {@link ResumeAutoFollowPatternRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-resume-auto-follow-pattern.html">Documentation * on elastic.co */ @@ -443,7 +443,7 @@ public final ResumeAutoFollowPatternResponse resumeAutoFollowPattern( * Resumes a follower index that has been paused * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-resume-follow.html">Documentation * on elastic.co */ @@ -461,7 +461,7 @@ public ResumeFollowResponse resumeFollow(ResumeFollowRequest request) throws IOE * a function that initializes a builder to create the * {@link ResumeFollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-resume-follow.html">Documentation * on elastic.co */ @@ -477,7 +477,7 @@ public final ResumeFollowResponse resumeFollow( * Gets all stats related to cross-cluster replication. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-get-stats.html">Documentation * on elastic.co */ public CcrStatsResponse stats() throws IOException, ElasticsearchException { @@ -492,7 +492,7 @@ public CcrStatsResponse stats() throws IOException, ElasticsearchException { * metadata and settings associated with cross-cluster replication. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-unfollow.html">Documentation * on elastic.co */ @@ -511,7 +511,7 @@ public UnfollowResponse unfollow(UnfollowRequest request) throws IOException, El * a function that initializes a builder to create the * {@link UnfollowRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ccr-post-unfollow.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java index 909dcab4f..00ded6056 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java @@ -74,7 +74,7 @@ public ElasticsearchClusterAsyncClient withTransportOptions(@Nullable TransportO * Provides explanations for shard allocations in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -92,7 +92,7 @@ public CompletableFuture allocationExplain(Allocation * a function that initializes a builder to create the * {@link AllocationExplainRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -105,7 +105,7 @@ public final CompletableFuture allocationExplain( * Provides explanations for shard allocations in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -122,7 +122,7 @@ public CompletableFuture allocationExplain() { * mappings, settings, and aliases. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -143,7 +143,7 @@ public CompletableFuture deleteComponentTemplat * a function that initializes a builder to create the * {@link DeleteComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -158,7 +158,7 @@ public final CompletableFuture deleteComponentT * Clears cluster voting config exclusions. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -177,7 +177,7 @@ public CompletableFuture deleteVotingConfigExclusions( * a function that initializes a builder to create the * {@link DeleteVotingConfigExclusionsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -190,7 +190,7 @@ public final CompletableFuture deleteVotingConfigExclusions( * Clears cluster voting config exclusions. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -206,7 +206,7 @@ public CompletableFuture deleteVotingConfigExclusions() { * component template exists. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -225,7 +225,7 @@ public CompletableFuture existsComponentTemplate(ExistsComponen * a function that initializes a builder to create the * {@link ExistsComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -240,7 +240,7 @@ public final CompletableFuture existsComponentTemplate( * Get component templates. Retrieves information about component templates. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -258,7 +258,7 @@ public CompletableFuture getComponentTemplate(GetC * a function that initializes a builder to create the * {@link GetComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -271,7 +271,7 @@ public final CompletableFuture getComponentTemplat * Get component templates. Retrieves information about component templates. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -287,7 +287,7 @@ public CompletableFuture getComponentTemplate() { * been explicitly defined. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -306,7 +306,7 @@ public CompletableFuture getSettings(GetClusterSetti * a function that initializes a builder to create the * {@link GetClusterSettingsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -320,7 +320,7 @@ public final CompletableFuture getSettings( * been explicitly defined. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -343,7 +343,7 @@ public CompletableFuture getSettings() { * The cluster status is controlled by the worst index status. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -369,7 +369,7 @@ public CompletableFuture health(HealthRequest request) { * a function that initializes a builder to create the * {@link HealthRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -390,7 +390,7 @@ public final CompletableFuture health( * The cluster status is controlled by the worst index status. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -405,7 +405,7 @@ public CompletableFuture health() { * Get cluster info. Returns basic information about the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-info.html">Documentation * on elastic.co */ @@ -423,7 +423,7 @@ public CompletableFuture info(ClusterInfoRequest request) { * a function that initializes a builder to create the * {@link ClusterInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-info.html">Documentation * on elastic.co */ @@ -445,7 +445,7 @@ public final CompletableFuture info( * reported by both task api and pending cluster tasks API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -470,7 +470,7 @@ public CompletableFuture pendingTasks(PendingTasksRequest * a function that initializes a builder to create the * {@link PendingTasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -490,7 +490,7 @@ public final CompletableFuture pendingTasks( * reported by both task api and pending cluster tasks API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -505,7 +505,7 @@ public CompletableFuture pendingTasks() { * Updates the cluster voting config exclusions by node ids or node names. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -523,7 +523,7 @@ public CompletableFuture postVotingConfigExclusions(PostVotingC * a function that initializes a builder to create the * {@link PostVotingConfigExclusionsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -536,7 +536,7 @@ public final CompletableFuture postVotingConfigExclusions( * Updates the cluster voting config exclusions by node ids or node names. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -571,7 +571,7 @@ public CompletableFuture postVotingConfigExclusions() { * before the opening curly bracket. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -609,7 +609,7 @@ public CompletableFuture putComponentTemplate(PutC * a function that initializes a builder to create the * {@link PutComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -624,7 +624,7 @@ public final CompletableFuture putComponentTemplat * Updates the cluster settings. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -642,7 +642,7 @@ public CompletableFuture putSettings(PutClusterSetti * a function that initializes a builder to create the * {@link PutClusterSettingsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -655,7 +655,7 @@ public final CompletableFuture putSettings( * Updates the cluster settings. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -672,7 +672,7 @@ public CompletableFuture putSettings() { * keyed by the configured remote cluster alias. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-remote-info.html">Documentation * on elastic.co */ public CompletableFuture remoteInfo() { @@ -686,7 +686,7 @@ public CompletableFuture remoteInfo() { * Allows to manually change the allocation of individual shards in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -704,7 +704,7 @@ public CompletableFuture reroute(RerouteRequest request) { * a function that initializes a builder to create the * {@link RerouteRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -717,7 +717,7 @@ public final CompletableFuture reroute( * Allows to manually change the allocation of individual shards in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -732,7 +732,7 @@ public CompletableFuture reroute() { * Returns a comprehensive information about the state of the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -750,7 +750,7 @@ public CompletableFuture state(StateRequest request) { * a function that initializes a builder to create the * {@link StateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -763,7 +763,7 @@ public final CompletableFuture state( * Returns a comprehensive information about the state of the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -781,7 +781,7 @@ public CompletableFuture state() { * plugins). * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ @@ -802,7 +802,7 @@ public CompletableFuture stats(ClusterStatsRequest request * a function that initializes a builder to create the * {@link ClusterStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ @@ -818,7 +818,7 @@ public final CompletableFuture stats( * plugins). * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java index fb95a3f23..ca6848e1d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java @@ -72,7 +72,7 @@ public ElasticsearchClusterClient withTransportOptions(@Nullable TransportOption * Provides explanations for shard allocations in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -91,7 +91,7 @@ public AllocationExplainResponse allocationExplain(AllocationExplainRequest requ * a function that initializes a builder to create the * {@link AllocationExplainRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -105,7 +105,7 @@ public final AllocationExplainResponse allocationExplain( * Provides explanations for shard allocations in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-allocation-explain.html">Documentation * on elastic.co */ @@ -122,7 +122,7 @@ public AllocationExplainResponse allocationExplain() throws IOException, Elastic * mappings, settings, and aliases. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -143,7 +143,7 @@ public DeleteComponentTemplateResponse deleteComponentTemplate(DeleteComponentTe * a function that initializes a builder to create the * {@link DeleteComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -159,7 +159,7 @@ public final DeleteComponentTemplateResponse deleteComponentTemplate( * Clears cluster voting config exclusions. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -178,7 +178,7 @@ public BooleanResponse deleteVotingConfigExclusions(DeleteVotingConfigExclusions * a function that initializes a builder to create the * {@link DeleteVotingConfigExclusionsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -192,7 +192,7 @@ public final BooleanResponse deleteVotingConfigExclusions( * Clears cluster voting config exclusions. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -208,7 +208,7 @@ public BooleanResponse deleteVotingConfigExclusions() throws IOException, Elasti * component template exists. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -228,7 +228,7 @@ public BooleanResponse existsComponentTemplate(ExistsComponentTemplateRequest re * a function that initializes a builder to create the * {@link ExistsComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -244,7 +244,7 @@ public final BooleanResponse existsComponentTemplate( * Get component templates. Retrieves information about component templates. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -263,7 +263,7 @@ public GetComponentTemplateResponse getComponentTemplate(GetComponentTemplateReq * a function that initializes a builder to create the * {@link GetComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -277,7 +277,7 @@ public final GetComponentTemplateResponse getComponentTemplate( * Get component templates. Retrieves information about component templates. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -293,7 +293,7 @@ public GetComponentTemplateResponse getComponentTemplate() throws IOException, E * been explicitly defined. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -313,7 +313,7 @@ public GetClusterSettingsResponse getSettings(GetClusterSettingsRequest request) * a function that initializes a builder to create the * {@link GetClusterSettingsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -328,7 +328,7 @@ public final GetClusterSettingsResponse getSettings( * been explicitly defined. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-get-settings.html">Documentation * on elastic.co */ @@ -351,7 +351,7 @@ public GetClusterSettingsResponse getSettings() throws IOException, Elasticsearc * The cluster status is controlled by the worst index status. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -377,7 +377,7 @@ public HealthResponse health(HealthRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link HealthRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -398,7 +398,7 @@ public final HealthResponse health(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-health.html">Documentation * on elastic.co */ @@ -413,7 +413,7 @@ public HealthResponse health() throws IOException, ElasticsearchException { * Get cluster info. Returns basic information about the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-info.html">Documentation * on elastic.co */ @@ -431,7 +431,7 @@ public ClusterInfoResponse info(ClusterInfoRequest request) throws IOException, * a function that initializes a builder to create the * {@link ClusterInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-info.html">Documentation * on elastic.co */ @@ -453,7 +453,7 @@ public final ClusterInfoResponse info(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -478,7 +478,7 @@ public PendingTasksResponse pendingTasks(PendingTasksRequest request) throws IOE * a function that initializes a builder to create the * {@link PendingTasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -499,7 +499,7 @@ public final PendingTasksResponse pendingTasks( * reported by both task api and pending cluster tasks API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-pending.html">Documentation * on elastic.co */ @@ -514,7 +514,7 @@ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchExce * Updates the cluster voting config exclusions by node ids or node names. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -533,7 +533,7 @@ public BooleanResponse postVotingConfigExclusions(PostVotingConfigExclusionsRequ * a function that initializes a builder to create the * {@link PostVotingConfigExclusionsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -547,7 +547,7 @@ public final BooleanResponse postVotingConfigExclusions( * Updates the cluster voting config exclusions by node ids or node names. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/voting-config-exclusions.html">Documentation * on elastic.co */ @@ -582,7 +582,7 @@ public BooleanResponse postVotingConfigExclusions() throws IOException, Elastics * before the opening curly bracket. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -621,7 +621,7 @@ public PutComponentTemplateResponse putComponentTemplate(PutComponentTemplateReq * a function that initializes a builder to create the * {@link PutComponentTemplateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-component-template.html">Documentation * on elastic.co */ @@ -637,7 +637,7 @@ public final PutComponentTemplateResponse putComponentTemplate( * Updates the cluster settings. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -656,7 +656,7 @@ public PutClusterSettingsResponse putSettings(PutClusterSettingsRequest request) * a function that initializes a builder to create the * {@link PutClusterSettingsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -670,7 +670,7 @@ public final PutClusterSettingsResponse putSettings( * Updates the cluster settings. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-update-settings.html">Documentation * on elastic.co */ @@ -687,7 +687,7 @@ public PutClusterSettingsResponse putSettings() throws IOException, Elasticsearc * keyed by the configured remote cluster alias. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-remote-info.html">Documentation * on elastic.co */ public RemoteInfoResponse remoteInfo() throws IOException, ElasticsearchException { @@ -701,7 +701,7 @@ public RemoteInfoResponse remoteInfo() throws IOException, ElasticsearchExceptio * Allows to manually change the allocation of individual shards in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -719,7 +719,7 @@ public RerouteResponse reroute(RerouteRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link RerouteRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -732,7 +732,7 @@ public final RerouteResponse reroute(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-reroute.html">Documentation * on elastic.co */ @@ -747,7 +747,7 @@ public RerouteResponse reroute() throws IOException, ElasticsearchException { * Returns a comprehensive information about the state of the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -765,7 +765,7 @@ public StateResponse state(StateRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link StateRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -778,7 +778,7 @@ public final StateResponse state(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-state.html">Documentation * on elastic.co */ @@ -796,7 +796,7 @@ public StateResponse state() throws IOException, ElasticsearchException { * plugins). * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ @@ -817,7 +817,7 @@ public ClusterStatsResponse stats(ClusterStatsRequest request) throws IOExceptio * a function that initializes a builder to create the * {@link ClusterStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ @@ -834,7 +834,7 @@ public final ClusterStatsResponse stats( * plugins). * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-stats.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/reroute/CommandAllocateReplicaAction.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/reroute/CommandAllocateReplicaAction.java index f52d8aeed..82ddfdd12 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/reroute/CommandAllocateReplicaAction.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/reroute/CommandAllocateReplicaAction.java @@ -56,7 +56,7 @@ /** * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/modules-cluster.html">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java index 926aad3b3..ab6858744 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java @@ -74,7 +74,7 @@ public ElasticsearchConnectorAsyncClient withTransportOptions(@Nullable Transpor * timestamp * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/check-in-connector-api.html">Documentation * on elastic.co */ @@ -93,7 +93,7 @@ public CompletableFuture checkIn(CheckInRequest request) { * a function that initializes a builder to create the * {@link CheckInRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/check-in-connector-api.html">Documentation * on elastic.co */ @@ -108,7 +108,7 @@ public final CompletableFuture checkIn( * Deletes a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-api.html">Documentation * on elastic.co */ @@ -126,7 +126,7 @@ public CompletableFuture delete(DeleteConnectorRequest * a function that initializes a builder to create the * {@link DeleteConnectorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-api.html">Documentation * on elastic.co */ @@ -141,7 +141,7 @@ public final CompletableFuture delete( * Retrieves a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-api.html">Documentation * on elastic.co */ @@ -159,7 +159,7 @@ public CompletableFuture get(GetConnectorRequest request) * a function that initializes a builder to create the * {@link GetConnectorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-api.html">Documentation * on elastic.co */ @@ -174,7 +174,7 @@ public final CompletableFuture get( * Returns existing connectors. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -192,7 +192,7 @@ public CompletableFuture list(ListRequest request) { * a function that initializes a builder to create the * {@link ListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -204,7 +204,7 @@ public final CompletableFuture list(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -219,7 +219,7 @@ public CompletableFuture list() { * Creates a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -237,7 +237,7 @@ public CompletableFuture post(PostRequest request) { * a function that initializes a builder to create the * {@link PostRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -249,7 +249,7 @@ public final CompletableFuture post(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -264,7 +264,7 @@ public CompletableFuture post() { * Creates or updates a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -282,7 +282,7 @@ public CompletableFuture put(PutRequest request) { * a function that initializes a builder to create the * {@link PutRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -294,7 +294,7 @@ public final CompletableFuture put(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -309,7 +309,7 @@ public CompletableFuture put() { * Cancels a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cancel-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -327,7 +327,7 @@ public CompletableFuture syncJobCancel(SyncJobCancelReque * a function that initializes a builder to create the * {@link SyncJobCancelRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cancel-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -342,7 +342,7 @@ public final CompletableFuture syncJobCancel( * Deletes a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -360,7 +360,7 @@ public CompletableFuture syncJobDelete(SyncJobDeleteReque * a function that initializes a builder to create the * {@link SyncJobDeleteRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -375,7 +375,7 @@ public final CompletableFuture syncJobDelete( * Retrieves a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -393,7 +393,7 @@ public CompletableFuture syncJobGet(SyncJobGetRequest reques * a function that initializes a builder to create the * {@link SyncJobGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -408,7 +408,7 @@ public final CompletableFuture syncJobGet( * Lists connector sync jobs. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -426,7 +426,7 @@ public CompletableFuture syncJobList(SyncJobListRequest req * a function that initializes a builder to create the * {@link SyncJobListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -439,7 +439,7 @@ public final CompletableFuture syncJobList( * Lists connector sync jobs. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -454,7 +454,7 @@ public CompletableFuture syncJobList() { * Creates a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -472,7 +472,7 @@ public CompletableFuture syncJobPost(SyncJobPostRequest req * a function that initializes a builder to create the * {@link SyncJobPostRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -487,7 +487,7 @@ public final CompletableFuture syncJobPost( * Activates the valid draft filtering for a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -506,7 +506,7 @@ public CompletableFuture updateActiveFiltering( * a function that initializes a builder to create the * {@link UpdateActiveFilteringRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -521,7 +521,7 @@ public final CompletableFuture updateActiveFilter * Updates the API key id in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-api-key-id-api.html">Documentation * on elastic.co */ @@ -539,7 +539,7 @@ public CompletableFuture updateApiKeyId(UpdateApiKeyIdRe * a function that initializes a builder to create the * {@link UpdateApiKeyIdRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-api-key-id-api.html">Documentation * on elastic.co */ @@ -554,7 +554,7 @@ public final CompletableFuture updateApiKeyId( * Updates the configuration field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-configuration-api.html">Documentation * on elastic.co */ @@ -572,7 +572,7 @@ public CompletableFuture updateConfiguration(Update * a function that initializes a builder to create the * {@link UpdateConfigurationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-configuration-api.html">Documentation * on elastic.co */ @@ -587,7 +587,7 @@ public final CompletableFuture updateConfiguration( * Updates the filtering field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-error-api.html">Documentation * on elastic.co */ @@ -605,7 +605,7 @@ public CompletableFuture updateError(UpdateErrorRequest req * a function that initializes a builder to create the * {@link UpdateErrorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-error-api.html">Documentation * on elastic.co */ @@ -620,7 +620,7 @@ public final CompletableFuture updateError( * Updates the filtering field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -638,7 +638,7 @@ public CompletableFuture updateFiltering(UpdateFilterin * a function that initializes a builder to create the * {@link UpdateFilteringRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -653,7 +653,7 @@ public final CompletableFuture updateFiltering( * Updates the draft filtering validation info for a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-validation-api.html">Documentation * on elastic.co */ @@ -672,7 +672,7 @@ public CompletableFuture updateFilteringValid * a function that initializes a builder to create the * {@link UpdateFilteringValidationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-validation-api.html">Documentation * on elastic.co */ @@ -687,7 +687,7 @@ public final CompletableFuture updateFilterin * Updates the index_name in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-index-name-api.html">Documentation * on elastic.co */ @@ -705,7 +705,7 @@ public CompletableFuture updateIndexName(UpdateIndexNam * a function that initializes a builder to create the * {@link UpdateIndexNameRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-index-name-api.html">Documentation * on elastic.co */ @@ -720,7 +720,7 @@ public final CompletableFuture updateIndexName( * Updates the name and description fields in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-name-description-api.html">Documentation * on elastic.co */ @@ -738,7 +738,7 @@ public CompletableFuture updateName(UpdateNameRequest reques * a function that initializes a builder to create the * {@link UpdateNameRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-name-description-api.html">Documentation * on elastic.co */ @@ -753,7 +753,7 @@ public final CompletableFuture updateName( * Updates the is_native flag in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-native-api.html">Documentation * on elastic.co */ @@ -771,7 +771,7 @@ public CompletableFuture updateNative(UpdateNativeRequest * a function that initializes a builder to create the * {@link UpdateNativeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-native-api.html">Documentation * on elastic.co */ @@ -786,7 +786,7 @@ public final CompletableFuture updateNative( * Updates the pipeline field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-pipeline-api.html">Documentation * on elastic.co */ @@ -804,7 +804,7 @@ public CompletableFuture updatePipeline(UpdatePipelineRe * a function that initializes a builder to create the * {@link UpdatePipelineRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-pipeline-api.html">Documentation * on elastic.co */ @@ -819,7 +819,7 @@ public final CompletableFuture updatePipeline( * Updates the scheduling field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-scheduling-api.html">Documentation * on elastic.co */ @@ -837,7 +837,7 @@ public CompletableFuture updateScheduling(UpdateSchedu * a function that initializes a builder to create the * {@link UpdateSchedulingRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-scheduling-api.html">Documentation * on elastic.co */ @@ -852,7 +852,7 @@ public final CompletableFuture updateScheduling( * Updates the service type of the connector * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-service-type-api.html">Documentation * on elastic.co */ @@ -870,7 +870,7 @@ public CompletableFuture updateServiceType(UpdateServ * a function that initializes a builder to create the * {@link UpdateServiceTypeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-service-type-api.html">Documentation * on elastic.co */ @@ -885,7 +885,7 @@ public final CompletableFuture updateServiceType( * Updates the status of the connector * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-status-api.html">Documentation * on elastic.co */ @@ -903,7 +903,7 @@ public CompletableFuture updateStatus(UpdateStatusRequest * a function that initializes a builder to create the * {@link UpdateStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-status-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java index 7a1f4bf6b..99ba0c1d9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java @@ -72,7 +72,7 @@ public ElasticsearchConnectorClient withTransportOptions(@Nullable TransportOpti * timestamp * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/check-in-connector-api.html">Documentation * on elastic.co */ @@ -91,7 +91,7 @@ public CheckInResponse checkIn(CheckInRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link CheckInRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/check-in-connector-api.html">Documentation * on elastic.co */ @@ -106,7 +106,7 @@ public final CheckInResponse checkIn(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-api.html">Documentation * on elastic.co */ @@ -124,7 +124,7 @@ public DeleteConnectorResponse delete(DeleteConnectorRequest request) throws IOE * a function that initializes a builder to create the * {@link DeleteConnectorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-api.html">Documentation * on elastic.co */ @@ -140,7 +140,7 @@ public final DeleteConnectorResponse delete( * Retrieves a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-api.html">Documentation * on elastic.co */ @@ -158,7 +158,7 @@ public GetConnectorResponse get(GetConnectorRequest request) throws IOException, * a function that initializes a builder to create the * {@link GetConnectorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-api.html">Documentation * on elastic.co */ @@ -173,7 +173,7 @@ public final GetConnectorResponse get(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -191,7 +191,7 @@ public ListResponse list(ListRequest request) throws IOException, ElasticsearchE * a function that initializes a builder to create the * {@link ListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -204,7 +204,7 @@ public final ListResponse list(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-api.html">Documentation * on elastic.co */ @@ -219,7 +219,7 @@ public ListResponse list() throws IOException, ElasticsearchException { * Creates a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -237,7 +237,7 @@ public PostResponse post(PostRequest request) throws IOException, ElasticsearchE * a function that initializes a builder to create the * {@link PostRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -250,7 +250,7 @@ public final PostResponse post(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -265,7 +265,7 @@ public PostResponse post() throws IOException, ElasticsearchException { * Creates or updates a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -283,7 +283,7 @@ public PutResponse put(PutRequest request) throws IOException, ElasticsearchExce * a function that initializes a builder to create the * {@link PutRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -296,7 +296,7 @@ public final PutResponse put(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-api.html">Documentation * on elastic.co */ @@ -311,7 +311,7 @@ public PutResponse put() throws IOException, ElasticsearchException { * Cancels a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cancel-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -330,7 +330,7 @@ public SyncJobCancelResponse syncJobCancel(SyncJobCancelRequest request) * a function that initializes a builder to create the * {@link SyncJobCancelRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cancel-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -346,7 +346,7 @@ public final SyncJobCancelResponse syncJobCancel( * Deletes a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -365,7 +365,7 @@ public SyncJobDeleteResponse syncJobDelete(SyncJobDeleteRequest request) * a function that initializes a builder to create the * {@link SyncJobDeleteRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -381,7 +381,7 @@ public final SyncJobDeleteResponse syncJobDelete( * Retrieves a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -399,7 +399,7 @@ public SyncJobGetResponse syncJobGet(SyncJobGetRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link SyncJobGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -414,7 +414,7 @@ public final SyncJobGetResponse syncJobGet(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -432,7 +432,7 @@ public SyncJobListResponse syncJobList(SyncJobListRequest request) throws IOExce * a function that initializes a builder to create the * {@link SyncJobListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -446,7 +446,7 @@ public final SyncJobListResponse syncJobList( * Lists connector sync jobs. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/list-connector-sync-jobs-api.html">Documentation * on elastic.co */ @@ -461,7 +461,7 @@ public SyncJobListResponse syncJobList() throws IOException, ElasticsearchExcept * Creates a connector sync job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -479,7 +479,7 @@ public SyncJobPostResponse syncJobPost(SyncJobPostRequest request) throws IOExce * a function that initializes a builder to create the * {@link SyncJobPostRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/create-connector-sync-job-api.html">Documentation * on elastic.co */ @@ -495,7 +495,7 @@ public final SyncJobPostResponse syncJobPost( * Activates the valid draft filtering for a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -514,7 +514,7 @@ public UpdateActiveFilteringResponse updateActiveFiltering(UpdateActiveFiltering * a function that initializes a builder to create the * {@link UpdateActiveFilteringRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -530,7 +530,7 @@ public final UpdateActiveFilteringResponse updateActiveFiltering( * Updates the API key id in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-api-key-id-api.html">Documentation * on elastic.co */ @@ -549,7 +549,7 @@ public UpdateApiKeyIdResponse updateApiKeyId(UpdateApiKeyIdRequest request) * a function that initializes a builder to create the * {@link UpdateApiKeyIdRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-api-key-id-api.html">Documentation * on elastic.co */ @@ -565,7 +565,7 @@ public final UpdateApiKeyIdResponse updateApiKeyId( * Updates the configuration field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-configuration-api.html">Documentation * on elastic.co */ @@ -584,7 +584,7 @@ public UpdateConfigurationResponse updateConfiguration(UpdateConfigurationReques * a function that initializes a builder to create the * {@link UpdateConfigurationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-configuration-api.html">Documentation * on elastic.co */ @@ -600,7 +600,7 @@ public final UpdateConfigurationResponse updateConfiguration( * Updates the filtering field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-error-api.html">Documentation * on elastic.co */ @@ -618,7 +618,7 @@ public UpdateErrorResponse updateError(UpdateErrorRequest request) throws IOExce * a function that initializes a builder to create the * {@link UpdateErrorRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-error-api.html">Documentation * on elastic.co */ @@ -634,7 +634,7 @@ public final UpdateErrorResponse updateError( * Updates the filtering field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -653,7 +653,7 @@ public UpdateFilteringResponse updateFiltering(UpdateFilteringRequest request) * a function that initializes a builder to create the * {@link UpdateFilteringRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-api.html">Documentation * on elastic.co */ @@ -669,7 +669,7 @@ public final UpdateFilteringResponse updateFiltering( * Updates the draft filtering validation info for a connector. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-validation-api.html">Documentation * on elastic.co */ @@ -688,7 +688,7 @@ public UpdateFilteringValidationResponse updateFilteringValidation(UpdateFilteri * a function that initializes a builder to create the * {@link UpdateFilteringValidationRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-filtering-validation-api.html">Documentation * on elastic.co */ @@ -704,7 +704,7 @@ public final UpdateFilteringValidationResponse updateFilteringValidation( * Updates the index_name in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-index-name-api.html">Documentation * on elastic.co */ @@ -723,7 +723,7 @@ public UpdateIndexNameResponse updateIndexName(UpdateIndexNameRequest request) * a function that initializes a builder to create the * {@link UpdateIndexNameRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-index-name-api.html">Documentation * on elastic.co */ @@ -739,7 +739,7 @@ public final UpdateIndexNameResponse updateIndexName( * Updates the name and description fields in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-name-description-api.html">Documentation * on elastic.co */ @@ -757,7 +757,7 @@ public UpdateNameResponse updateName(UpdateNameRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link UpdateNameRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-name-description-api.html">Documentation * on elastic.co */ @@ -772,7 +772,7 @@ public final UpdateNameResponse updateName(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-native-api.html">Documentation * on elastic.co */ @@ -790,7 +790,7 @@ public UpdateNativeResponse updateNative(UpdateNativeRequest request) throws IOE * a function that initializes a builder to create the * {@link UpdateNativeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-native-api.html">Documentation * on elastic.co */ @@ -806,7 +806,7 @@ public final UpdateNativeResponse updateNative( * Updates the pipeline field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-pipeline-api.html">Documentation * on elastic.co */ @@ -825,7 +825,7 @@ public UpdatePipelineResponse updatePipeline(UpdatePipelineRequest request) * a function that initializes a builder to create the * {@link UpdatePipelineRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-pipeline-api.html">Documentation * on elastic.co */ @@ -841,7 +841,7 @@ public final UpdatePipelineResponse updatePipeline( * Updates the scheduling field in the connector document * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-scheduling-api.html">Documentation * on elastic.co */ @@ -860,7 +860,7 @@ public UpdateSchedulingResponse updateScheduling(UpdateSchedulingRequest request * a function that initializes a builder to create the * {@link UpdateSchedulingRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-scheduling-api.html">Documentation * on elastic.co */ @@ -876,7 +876,7 @@ public final UpdateSchedulingResponse updateScheduling( * Updates the service type of the connector * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-service-type-api.html">Documentation * on elastic.co */ @@ -895,7 +895,7 @@ public UpdateServiceTypeResponse updateServiceType(UpdateServiceTypeRequest requ * a function that initializes a builder to create the * {@link UpdateServiceTypeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-service-type-api.html">Documentation * on elastic.co */ @@ -911,7 +911,7 @@ public final UpdateServiceTypeResponse updateServiceType( * Updates the status of the connector * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-status-api.html">Documentation * on elastic.co */ @@ -929,7 +929,7 @@ public UpdateStatusResponse updateStatus(UpdateStatusRequest request) throws IOE * a function that initializes a builder to create the * {@link UpdateStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/update-connector-status-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDiscountedCumulativeGain.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDiscountedCumulativeGain.java index fb4b7dcf4..8d0c66842 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDiscountedCumulativeGain.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDiscountedCumulativeGain.java @@ -52,7 +52,7 @@ * Discounted cumulative gain (DCG) * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/search-rank-eval.html#_discounted_cumulative_gain_dcg">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricExpectedReciprocalRank.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricExpectedReciprocalRank.java index 49f431158..e915ebed3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricExpectedReciprocalRank.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricExpectedReciprocalRank.java @@ -52,7 +52,7 @@ * Expected Reciprocal Rank (ERR) * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/search-rank-eval.html#_expected_reciprocal_rank_err">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricMeanReciprocalRank.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricMeanReciprocalRank.java index 53c94229e..e394b4fd8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricMeanReciprocalRank.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricMeanReciprocalRank.java @@ -49,7 +49,7 @@ * Mean Reciprocal Rank * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/search-rank-eval.html#_mean_reciprocal_rank">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricPrecision.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricPrecision.java index 0bccc4647..8be6fed75 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricPrecision.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricPrecision.java @@ -52,7 +52,7 @@ * Precision at K (P@k) * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/search-rank-eval.html#k-precision">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRecall.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRecall.java index f6fc81e82..35c982d78 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRecall.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRecall.java @@ -49,7 +49,7 @@ * Recall at K (R@k) * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/search-rank-eval.html#k-recall">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Context.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Context.java index c0c2d8be2..51eaf8608 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Context.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Context.java @@ -62,7 +62,7 @@ * document's field for the text. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/query-dsl-mlt-query.html#_document_input_parameters">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java index 4c9bdce32..4eadca956 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java @@ -106,7 +106,7 @@ public final CompletableFuture deletePolicy( * Creates the enrich index for an existing enrich policy. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/execute-enrich-policy-api.html">Documentation * on elastic.co */ @@ -124,7 +124,7 @@ public CompletableFuture executePolicy(ExecutePolicyReque * a function that initializes a builder to create the * {@link ExecutePolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/execute-enrich-policy-api.html">Documentation * on elastic.co */ @@ -185,7 +185,7 @@ public CompletableFuture getPolicy() { * Create an enrich policy. Creates an enrich policy. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-enrich-policy-api.html">Documentation * on elastic.co */ @@ -203,7 +203,7 @@ public CompletableFuture putPolicy(PutPolicyRequest request) * a function that initializes a builder to create the * {@link PutPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-enrich-policy-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java index 2307719b0..705285103 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java @@ -107,7 +107,7 @@ public final DeletePolicyResponse deletePolicy( * Creates the enrich index for an existing enrich policy. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/execute-enrich-policy-api.html">Documentation * on elastic.co */ @@ -126,7 +126,7 @@ public ExecutePolicyResponse executePolicy(ExecutePolicyRequest request) * a function that initializes a builder to create the * {@link ExecutePolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/execute-enrich-policy-api.html">Documentation * on elastic.co */ @@ -188,7 +188,7 @@ public GetPolicyResponse getPolicy() throws IOException, ElasticsearchException * Create an enrich policy. Creates an enrich policy. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-enrich-policy-api.html">Documentation * on elastic.co */ @@ -206,7 +206,7 @@ public PutPolicyResponse putPolicy(PutPolicyRequest request) throws IOException, * a function that initializes a builder to create the * {@link PutPolicyRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-enrich-policy-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java index 93124a899..a2162780e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java @@ -108,7 +108,7 @@ public final CompletableFuture delete( * stored synchronous EQL search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -129,7 +129,7 @@ public CompletableFuture> get(EqlGetRequest requ * a function that initializes a builder to create the * {@link EqlGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -143,7 +143,7 @@ public final CompletableFuture> get( * stored synchronous EQL search. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -164,7 +164,7 @@ public CompletableFuture> get(EqlGetRequest requ * a function that initializes a builder to create the * {@link EqlGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -180,7 +180,7 @@ public final CompletableFuture> get( * EQL search without returning results. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-status-api.html">Documentation * on elastic.co */ @@ -199,7 +199,7 @@ public CompletableFuture getStatus(GetEqlStatusRequest req * a function that initializes a builder to create the * {@link GetEqlStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-status-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java index 32a736936..a274fd527 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java @@ -109,7 +109,7 @@ public final EqlDeleteResponse delete(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -131,7 +131,7 @@ public EqlGetResponse get(EqlGetRequest request, Class * a function that initializes a builder to create the * {@link EqlGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -145,7 +145,7 @@ public final EqlGetResponse get(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -167,7 +167,7 @@ public EqlGetResponse get(EqlGetRequest request, Type tEventTyp * a function that initializes a builder to create the * {@link EqlGetRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-search-api.html">Documentation * on elastic.co */ @@ -183,7 +183,7 @@ public final EqlGetResponse get(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-status-api.html">Documentation * on elastic.co */ @@ -202,7 +202,7 @@ public GetEqlStatusResponse getStatus(GetEqlStatusRequest request) throws IOExce * a function that initializes a builder to create the * {@link GetEqlStatusRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/get-async-eql-status-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java index 7da689e95..79fd20c34 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java @@ -73,7 +73,7 @@ public ElasticsearchEsqlAsyncClient withTransportOptions(@Nullable TransportOpti * Executes an ES|QL request * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/esql-rest.html">Documentation * on elastic.co */ @@ -91,7 +91,7 @@ public CompletableFuture query(QueryRequest request) { * a function that initializes a builder to create the * {@link QueryRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/esql-rest.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java index c24b5f683..b77487c97 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java @@ -74,7 +74,7 @@ public ElasticsearchEsqlClient withTransportOptions(@Nullable TransportOptions t * Executes an ES|QL request * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/esql-rest.html">Documentation * on elastic.co */ @@ -92,7 +92,7 @@ public BinaryResponse query(QueryRequest request) throws IOException, Elasticsea * a function that initializes a builder to create the * {@link QueryRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/esql-rest.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java index 18ec23f16..1bf89d303 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java @@ -72,7 +72,7 @@ public ElasticsearchGraphAsyncClient withTransportOptions(@Nullable TransportOpt * Elasticsearch data stream or index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/graph-explore-api.html">Documentation * on elastic.co */ @@ -91,7 +91,7 @@ public CompletableFuture explore(ExploreRequest request) { * a function that initializes a builder to create the * {@link ExploreRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/graph-explore-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java index 6d254eddd..658be9a19 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java @@ -72,7 +72,7 @@ public ElasticsearchGraphClient withTransportOptions(@Nullable TransportOptions * Elasticsearch data stream or index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/graph-explore-api.html">Documentation * on elastic.co */ @@ -91,7 +91,7 @@ public ExploreResponse explore(ExploreRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link ExploreRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/graph-explore-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java index 212ac9ac3..8212e5402 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java @@ -109,7 +109,7 @@ public final CompletableFuture addBlock( * Performs analysis on a text string and returns the resulting tokens. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -127,7 +127,7 @@ public CompletableFuture analyze(AnalyzeRequest request) { * a function that initializes a builder to create the * {@link AnalyzeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -140,7 +140,7 @@ public final CompletableFuture analyze( * Performs analysis on a text string and returns the resulting tokens. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -237,7 +237,7 @@ public final CompletableFuture clone( * Closes an index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-close.html">Documentation * on elastic.co */ @@ -255,7 +255,7 @@ public CompletableFuture close(CloseIndexRequest request) { * a function that initializes a builder to create the * {@link CloseIndexRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-close.html">Documentation * on elastic.co */ @@ -270,7 +270,7 @@ public final CompletableFuture close( * Create an index. Creates a new index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-create-index.html">Documentation * on elastic.co */ @@ -288,7 +288,7 @@ public CompletableFuture create(CreateIndexRequest request) * a function that initializes a builder to create the * {@link CreateIndexRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-create-index.html">Documentation * on elastic.co */ @@ -592,7 +592,7 @@ public final CompletableFuture deleteTemplate( * Analyzes the disk usage of each field of an index or data stream. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-disk-usage.html">Documentation * on elastic.co */ @@ -610,7 +610,7 @@ public CompletableFuture diskUsage(DiskUsageRequest request) * a function that initializes a builder to create the * {@link DiskUsageRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-disk-usage.html">Documentation * on elastic.co */ @@ -628,7 +628,7 @@ public final CompletableFuture diskUsage( * by a configured time interval. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-downsample-data-stream.html">Documentation * on elastic.co */ @@ -649,7 +649,7 @@ public CompletableFuture downsample(DownsampleRequest reques * a function that initializes a builder to create the * {@link DownsampleRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-downsample-data-stream.html">Documentation * on elastic.co */ @@ -872,7 +872,7 @@ public final CompletableFuture fieldUsageStats( * Flushes one or more data streams or indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -890,7 +890,7 @@ public CompletableFuture flush(FlushRequest request) { * a function that initializes a builder to create the * {@link FlushRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -903,7 +903,7 @@ public final CompletableFuture flush( * Flushes one or more data streams or indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -1949,7 +1949,7 @@ public final CompletableFuture resolveIndex( * alias. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-rollover-index.html">Documentation * on elastic.co */ @@ -1968,7 +1968,7 @@ public CompletableFuture rollover(RolloverRequest request) { * a function that initializes a builder to create the * {@link RolloverRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-rollover-index.html">Documentation * on elastic.co */ @@ -2084,7 +2084,7 @@ public CompletableFuture shardStores() { * Shrinks an existing index into a new index with fewer primary shards. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-shrink-index.html">Documentation * on elastic.co */ @@ -2102,7 +2102,7 @@ public CompletableFuture shrink(ShrinkRequest request) { * a function that initializes a builder to create the * {@link ShrinkRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-shrink-index.html">Documentation * on elastic.co */ @@ -2202,7 +2202,7 @@ public CompletableFuture simulateTemplate() { * Splits an existing index into a new index with more primary shards. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-split-index.html">Documentation * on elastic.co */ @@ -2220,7 +2220,7 @@ public CompletableFuture split(SplitRequest request) { * a function that initializes a builder to create the * {@link SplitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-split-index.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java index 3fc39aa81..9657e3907 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java @@ -107,7 +107,7 @@ public final AddBlockResponse addBlock(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -125,7 +125,7 @@ public AnalyzeResponse analyze(AnalyzeRequest request) throws IOException, Elast * a function that initializes a builder to create the * {@link AnalyzeRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -138,7 +138,7 @@ public final AnalyzeResponse analyze(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-analyze.html">Documentation * on elastic.co */ @@ -235,7 +235,7 @@ public final CloneIndexResponse clone(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-close.html">Documentation * on elastic.co */ @@ -253,7 +253,7 @@ public CloseIndexResponse close(CloseIndexRequest request) throws IOException, E * a function that initializes a builder to create the * {@link CloseIndexRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-close.html">Documentation * on elastic.co */ @@ -268,7 +268,7 @@ public final CloseIndexResponse close(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-create-index.html">Documentation * on elastic.co */ @@ -286,7 +286,7 @@ public CreateIndexResponse create(CreateIndexRequest request) throws IOException * a function that initializes a builder to create the * {@link CreateIndexRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-create-index.html">Documentation * on elastic.co */ @@ -603,7 +603,7 @@ public final DeleteTemplateResponse deleteTemplate( * Analyzes the disk usage of each field of an index or data stream. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-disk-usage.html">Documentation * on elastic.co */ @@ -621,7 +621,7 @@ public DiskUsageResponse diskUsage(DiskUsageRequest request) throws IOException, * a function that initializes a builder to create the * {@link DiskUsageRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-disk-usage.html">Documentation * on elastic.co */ @@ -639,7 +639,7 @@ public final DiskUsageResponse diskUsage(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-downsample-data-stream.html">Documentation * on elastic.co */ @@ -660,7 +660,7 @@ public DownsampleResponse downsample(DownsampleRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link DownsampleRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-downsample-data-stream.html">Documentation * on elastic.co */ @@ -890,7 +890,7 @@ public final FieldUsageStatsResponse fieldUsageStats( * Flushes one or more data streams or indices. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -908,7 +908,7 @@ public FlushResponse flush(FlushRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link FlushRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -921,7 +921,7 @@ public final FlushResponse flush(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-flush.html">Documentation * on elastic.co */ @@ -1996,7 +1996,7 @@ public final ResolveIndexResponse resolveIndex( * alias. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-rollover-index.html">Documentation * on elastic.co */ @@ -2015,7 +2015,7 @@ public RolloverResponse rollover(RolloverRequest request) throws IOException, El * a function that initializes a builder to create the * {@link RolloverRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-rollover-index.html">Documentation * on elastic.co */ @@ -2132,7 +2132,7 @@ public ShardStoresResponse shardStores() throws IOException, ElasticsearchExcept * Shrinks an existing index into a new index with fewer primary shards. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-shrink-index.html">Documentation * on elastic.co */ @@ -2150,7 +2150,7 @@ public ShrinkResponse shrink(ShrinkRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link ShrinkRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-shrink-index.html">Documentation * on elastic.co */ @@ -2253,7 +2253,7 @@ public SimulateTemplateResponse simulateTemplate() throws IOException, Elasticse * Splits an existing index into a new index with more primary shards. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-split-index.html">Documentation * on elastic.co */ @@ -2271,7 +2271,7 @@ public SplitResponse split(SplitRequest request) throws IOException, Elasticsear * a function that initializes a builder to create the * {@link SplitRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/indices-split-index.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java index 8f684cc76..8cffd5c26 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java @@ -64,7 +64,7 @@ /** * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/index-modules.html#index-modules-settings">Documentation * on elastic.co * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java index cae1bba67..74deaf2a1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java @@ -55,7 +55,7 @@ * Mapping Limit Settings * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/mapping-settings-limit.html">Documentation * on elastic.co * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java index ed4ab92a2..b1200cfeb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java @@ -137,7 +137,7 @@ public final CompletableFuture deletePipeline( * Gets download statistics for GeoIP2 databases used with the geoip processor. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/geoip-processor.html">Documentation * on elastic.co */ public CompletableFuture geoIpStats() { @@ -249,7 +249,7 @@ public CompletableFuture getPipeline() { * that supports aliased expressions that can be reused. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/grok-processor.html">Documentation * on elastic.co */ public CompletableFuture processorGrok() { @@ -297,7 +297,7 @@ public final CompletableFuture putGeoipDatabase( * effect immediately. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ingest.html">Documentation * on elastic.co */ @@ -316,7 +316,7 @@ public CompletableFuture putPipeline(PutPipelineRequest req * a function that initializes a builder to create the * {@link PutPipelineRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ingest.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java index f1e08b635..d17329c7d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java @@ -141,7 +141,7 @@ public final DeletePipelineResponse deletePipeline( * Gets download statistics for GeoIP2 databases used with the geoip processor. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/geoip-processor.html">Documentation * on elastic.co */ public GeoIpStatsResponse geoIpStats() throws IOException, ElasticsearchException { @@ -256,7 +256,7 @@ public GetPipelineResponse getPipeline() throws IOException, ElasticsearchExcept * that supports aliased expressions that can be reused. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/grok-processor.html">Documentation * on elastic.co */ public ProcessorGrokResponse processorGrok() throws IOException, ElasticsearchException { @@ -306,7 +306,7 @@ public final PutGeoipDatabaseResponse putGeoipDatabase( * effect immediately. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ingest.html">Documentation * on elastic.co */ @@ -325,7 +325,7 @@ public PutPipelineResponse putPipeline(PutPipelineRequest request) throws IOExce * a function that initializes a builder to create the * {@link PutPipelineRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ingest.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java index 54cc2ef2f..91dd50b92 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java @@ -128,7 +128,7 @@ public final CompletableFuture clearTr * date stops, it automatically closes its associated job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-close-job.html">Documentation * on elastic.co */ @@ -159,7 +159,7 @@ public CompletableFuture closeJob(CloseJobRequest request) { * a function that initializes a builder to create the * {@link CloseJobRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-close-job.html">Documentation * on elastic.co */ @@ -175,7 +175,7 @@ public final CompletableFuture closeJob( * it. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar.html">Documentation * on elastic.co */ @@ -194,7 +194,7 @@ public CompletableFuture deleteCalendar(DeleteCalendarRe * a function that initializes a builder to create the * {@link DeleteCalendarRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar.html">Documentation * on elastic.co */ @@ -209,7 +209,7 @@ public final CompletableFuture deleteCalendar( * Delete events from a calendar. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-event.html">Documentation * on elastic.co */ @@ -227,7 +227,7 @@ public CompletableFuture deleteCalendarEvent(Delete * a function that initializes a builder to create the * {@link DeleteCalendarEventRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-event.html">Documentation * on elastic.co */ @@ -242,7 +242,7 @@ public final CompletableFuture deleteCalendarEvent( * Delete anomaly jobs from a calendar. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-job.html">Documentation * on elastic.co */ @@ -260,7 +260,7 @@ public CompletableFuture deleteCalendarJob(DeleteCale * a function that initializes a builder to create the * {@link DeleteCalendarJobRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-job.html">Documentation * on elastic.co */ @@ -275,7 +275,7 @@ public final CompletableFuture deleteCalendarJob( * Delete a data frame analytics job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-dfanalytics.html">Documentation * on elastic.co */ @@ -294,7 +294,7 @@ public CompletableFuture deleteDataFrameAnalyt * a function that initializes a builder to create the * {@link DeleteDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-dfanalytics.html">Documentation * on elastic.co */ @@ -309,7 +309,7 @@ public final CompletableFuture deleteDataFrame * Delete a datafeed. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-datafeed.html">Documentation * on elastic.co */ @@ -327,7 +327,7 @@ public CompletableFuture deleteDatafeed(DeleteDatafeedRe * a function that initializes a builder to create the * {@link DeleteDatafeedRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-datafeed.html">Documentation * on elastic.co */ @@ -2199,7 +2199,7 @@ public final CompletableFuture putCalendarJob( * a destination index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-dfanalytics.html">Documentation * on elastic.co */ @@ -2220,7 +2220,7 @@ public CompletableFuture putDataFrameAnalytics( * a function that initializes a builder to create the * {@link PutDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-dfanalytics.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java index 87751a805..75007da08 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java @@ -130,7 +130,7 @@ public final ClearTrainedModelDeploymentCacheResponse clearTrainedModelDeploymen * date stops, it automatically closes its associated job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-close-job.html">Documentation * on elastic.co */ @@ -161,7 +161,7 @@ public CloseJobResponse closeJob(CloseJobRequest request) throws IOException, El * a function that initializes a builder to create the * {@link CloseJobRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-close-job.html">Documentation * on elastic.co */ @@ -177,7 +177,7 @@ public final CloseJobResponse closeJob(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar.html">Documentation * on elastic.co */ @@ -197,7 +197,7 @@ public DeleteCalendarResponse deleteCalendar(DeleteCalendarRequest request) * a function that initializes a builder to create the * {@link DeleteCalendarRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar.html">Documentation * on elastic.co */ @@ -213,7 +213,7 @@ public final DeleteCalendarResponse deleteCalendar( * Delete events from a calendar. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-event.html">Documentation * on elastic.co */ @@ -232,7 +232,7 @@ public DeleteCalendarEventResponse deleteCalendarEvent(DeleteCalendarEventReques * a function that initializes a builder to create the * {@link DeleteCalendarEventRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-event.html">Documentation * on elastic.co */ @@ -248,7 +248,7 @@ public final DeleteCalendarEventResponse deleteCalendarEvent( * Delete anomaly jobs from a calendar. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-job.html">Documentation * on elastic.co */ @@ -267,7 +267,7 @@ public DeleteCalendarJobResponse deleteCalendarJob(DeleteCalendarJobRequest requ * a function that initializes a builder to create the * {@link DeleteCalendarJobRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-calendar-job.html">Documentation * on elastic.co */ @@ -283,7 +283,7 @@ public final DeleteCalendarJobResponse deleteCalendarJob( * Delete a data frame analytics job. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-dfanalytics.html">Documentation * on elastic.co */ @@ -302,7 +302,7 @@ public DeleteDataFrameAnalyticsResponse deleteDataFrameAnalytics(DeleteDataFrame * a function that initializes a builder to create the * {@link DeleteDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/delete-dfanalytics.html">Documentation * on elastic.co */ @@ -318,7 +318,7 @@ public final DeleteDataFrameAnalyticsResponse deleteDataFrameAnalytics( * Delete a datafeed. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-datafeed.html">Documentation * on elastic.co */ @@ -337,7 +337,7 @@ public DeleteDatafeedResponse deleteDatafeed(DeleteDatafeedRequest request) * a function that initializes a builder to create the * {@link DeleteDatafeedRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/ml-delete-datafeed.html">Documentation * on elastic.co */ @@ -2258,7 +2258,7 @@ public final PutCalendarJobResponse putCalendarJob( * a destination index. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-dfanalytics.html">Documentation * on elastic.co */ @@ -2279,7 +2279,7 @@ public PutDataFrameAnalyticsResponse putDataFrameAnalytics(PutDataFrameAnalytics * a function that initializes a builder to create the * {@link PutDataFrameAnalyticsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/put-dfanalytics.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java index 54364f776..22290e128 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java @@ -154,7 +154,7 @@ public final CompletableFuture getRepositor * threads. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -174,7 +174,7 @@ public CompletableFuture hotThreads(HotThreadsRequest reques * a function that initializes a builder to create the * {@link HotThreadsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -189,7 +189,7 @@ public final CompletableFuture hotThreads( * threads. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -204,7 +204,7 @@ public CompletableFuture hotThreads() { * Returns cluster nodes information. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -222,7 +222,7 @@ public CompletableFuture info(NodesInfoRequest request) { * a function that initializes a builder to create the * {@link NodesInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -235,7 +235,7 @@ public final CompletableFuture info( * Returns cluster nodes information. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -296,7 +296,7 @@ public CompletableFuture reloadSecureSettings() { * Returns cluster nodes statistics. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -314,7 +314,7 @@ public CompletableFuture stats(NodesStatsRequest request) { * a function that initializes a builder to create the * {@link NodesStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -327,7 +327,7 @@ public final CompletableFuture stats( * Returns cluster nodes statistics. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -342,7 +342,7 @@ public CompletableFuture stats() { * Returns information on the usage of features. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ @@ -360,7 +360,7 @@ public CompletableFuture usage(NodesUsageRequest request) { * a function that initializes a builder to create the * {@link NodesUsageRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ @@ -373,7 +373,7 @@ public final CompletableFuture usage( * Returns information on the usage of features. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java index 3424c6477..a32df2954 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java @@ -156,7 +156,7 @@ public final GetRepositoriesMeteringInfoResponse getRepositoriesMeteringInfo( * threads. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -176,7 +176,7 @@ public HotThreadsResponse hotThreads(HotThreadsRequest request) throws IOExcepti * a function that initializes a builder to create the * {@link HotThreadsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -191,7 +191,7 @@ public final HotThreadsResponse hotThreads(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-hot-threads.html">Documentation * on elastic.co */ @@ -206,7 +206,7 @@ public HotThreadsResponse hotThreads() throws IOException, ElasticsearchExceptio * Returns cluster nodes information. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -224,7 +224,7 @@ public NodesInfoResponse info(NodesInfoRequest request) throws IOException, Elas * a function that initializes a builder to create the * {@link NodesInfoRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -237,7 +237,7 @@ public final NodesInfoResponse info(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-info.html">Documentation * on elastic.co */ @@ -300,7 +300,7 @@ public ReloadSecureSettingsResponse reloadSecureSettings() throws IOException, E * Returns cluster nodes statistics. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -318,7 +318,7 @@ public NodesStatsResponse stats(NodesStatsRequest request) throws IOException, E * a function that initializes a builder to create the * {@link NodesStatsRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -331,7 +331,7 @@ public final NodesStatsResponse stats(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-stats.html">Documentation * on elastic.co */ @@ -346,7 +346,7 @@ public NodesStatsResponse stats() throws IOException, ElasticsearchException { * Returns information on the usage of features. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ @@ -364,7 +364,7 @@ public NodesUsageResponse usage(NodesUsageRequest request) throws IOException, E * a function that initializes a builder to create the * {@link NodesUsageRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ @@ -377,7 +377,7 @@ public final NodesUsageResponse usage(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cluster-nodes-usage.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksAsyncClient.java index 067e1290a..7471f3782 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksAsyncClient.java @@ -71,7 +71,7 @@ public ElasticsearchTasksAsyncClient withTransportOptions(@Nullable TransportOpt * Cancels a task, if it can be cancelled through an API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -89,7 +89,7 @@ public CompletableFuture cancel(CancelRequest request) { * a function that initializes a builder to create the * {@link CancelRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -102,7 +102,7 @@ public final CompletableFuture cancel( * Cancels a task, if it can be cancelled through an API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -118,7 +118,7 @@ public CompletableFuture cancel() { * in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -137,7 +137,7 @@ public CompletableFuture get(GetTasksRequest request) { * a function that initializes a builder to create the * {@link GetTasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -153,7 +153,7 @@ public final CompletableFuture get( * on one or more nodes in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -172,7 +172,7 @@ public CompletableFuture list(ListRequest request) { * a function that initializes a builder to create the * {@link ListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -185,7 +185,7 @@ public final CompletableFuture list(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksClient.java index 3cd43430a..70cd2c12d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksClient.java @@ -71,7 +71,7 @@ public ElasticsearchTasksClient withTransportOptions(@Nullable TransportOptions * Cancels a task, if it can be cancelled through an API. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -89,7 +89,7 @@ public CancelResponse cancel(CancelRequest request) throws IOException, Elastics * a function that initializes a builder to create the * {@link CancelRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -102,7 +102,7 @@ public final CancelResponse cancel(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -118,7 +118,7 @@ public CancelResponse cancel() throws IOException, ElasticsearchException { * in the cluster. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -137,7 +137,7 @@ public GetTasksResponse get(GetTasksRequest request) throws IOException, Elastic * a function that initializes a builder to create the * {@link GetTasksRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -153,7 +153,7 @@ public final GetTasksResponse get(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -172,7 +172,7 @@ public ListResponse list(ListRequest request) throws IOException, ElasticsearchE * a function that initializes a builder to create the * {@link ListRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ @@ -186,7 +186,7 @@ public final ListResponse list(FunctionDocumentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/tasks.html">Documentation * on elastic.co */ From 8feecd05ecc1d04aa1bc7bdd336cf55b17d18e55 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 10 Sep 2024 11:48:11 +0200 Subject: [PATCH 002/106] proper versions --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 8a9c2615d..8611a1ac3 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -2,7 +2,7 @@ steps: - label: ":java: :elasticsearch: Elasticsearch Java API client - {{matrix.workflow}}" agents: provider: "gcp" - branches: [ "main", "7.17", "8.15", "8.x", "9.0" ] + branches: [ "main", "7.17", "8.15", "8.16", "9.0" ] matrix: setup: workflow: From 1567252dffb63ca1bdfdb7a816b5a735901c8dd4 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 10 Sep 2024 12:11:49 +0200 Subject: [PATCH 003/106] Revert "proper versions" This reverts commit 8feecd05ecc1d04aa1bc7bdd336cf55b17d18e55. --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 8611a1ac3..8a9c2615d 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -2,7 +2,7 @@ steps: - label: ":java: :elasticsearch: Elasticsearch Java API client - {{matrix.workflow}}" agents: provider: "gcp" - branches: [ "main", "7.17", "8.15", "8.16", "9.0" ] + branches: [ "main", "7.17", "8.15", "8.x", "9.0" ] matrix: setup: workflow: From 7d3ecf5d2359efdab3e005080d7fa85e3ca8dd82 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 10 Sep 2024 17:49:56 +0200 Subject: [PATCH 004/106] [codegen-serverless] update to latest api spec --- .../_types/aggregations/Aggregate.java | 31 + .../aggregations/AggregateBuilders.java | 18 + .../_types/aggregations/Aggregation.java | 31 + .../aggregations/AggregationBuilders.java | 19 + .../_types/aggregations/AggregationRange.java | 18 +- .../aggregations/TimeSeriesAggregate.java | 116 +++ .../TimeSeriesAggregation.java} | 106 ++- .../_types/aggregations/TimeSeriesBucket.java | 173 ++++ .../_types/analysis/ClassicTokenizer.java | 156 +++ .../_types/analysis/EdgeNGramTokenizer.java | 9 +- .../_types/analysis/NGramTokenizer.java | 9 +- .../analysis/SimplePatternSplitTokenizer.java | 157 ++++ .../analysis/SimplePatternTokenizer.java | 157 ++++ .../_types/analysis/ThaiTokenizer.java | 122 +++ .../_types/analysis/TokenizerDefinition.java | 125 +++ .../analysis/TokenizerDefinitionBuilders.java | 74 ++ .../CompositeSubField.java} | 148 ++- .../_types/mapping/RuntimeField.java | 64 ++ .../cat/indices/IndicesRecord.java | 33 + .../core/OpenPointInTimeRequest.java | 82 +- .../core/OpenPointInTimeResponse.java | 38 + .../elasticsearch/core/SearchRequest.java | 43 - .../elasticsearch/doc-files/api-spec.html | 885 +++++++++--------- .../enrich/stats/CacheStats.java | 73 ++ .../elasticsearch/esql/QueryRequest.java | 11 +- .../query/EsqlFormat.java} | 47 +- .../indices/GetDataStreamRequest.java | 32 + .../indices/ResolveIndexRequest.java | 73 ++ .../ingest/DotExpanderProcessor.java | 42 + .../ElasticsearchIngestAsyncClient.java | 13 - .../ingest/ElasticsearchIngestClient.java | 13 - .../ingest/GeoGridProcessor.java | 421 +++++++++ .../GeoGridTargetFormat.java} | 31 +- .../GeoGridTileType.java} | 43 +- .../elasticsearch/ingest/GeoIpProcessor.java | 42 + .../ingest/HtmlStripProcessor.java | 227 +++++ .../elasticsearch/ingest/Pipeline.java | 38 + .../elasticsearch/ingest/Processor.java | 123 +++ .../ingest/ProcessorBuilders.java | 72 ++ .../ingest/PutPipelineRequest.java | 38 + .../elasticsearch/ingest/RedactProcessor.java | 390 ++++++++ .../elasticsearch/ingest/SimulateRequest.java | 11 +- .../ingest/SimulateResponse.java | 20 +- .../ingest/UriPartsProcessor.java | 294 ++++++ .../ingest/UserAgentProcessor.java | 125 ++- .../ingest/UserAgentProperty.java | 20 +- .../ingest/simulate/PipelineSimulation.java | 149 ++- .../simulate/SimulateDocumentResult.java | 262 ++++++ 48 files changed, 4385 insertions(+), 839 deletions(-) create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregate.java rename java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/{RrfRank.java => aggregations/TimeSeriesAggregation.java} (55%) create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ClassicTokenizer.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternSplitTokenizer.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternTokenizer.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiTokenizer.java rename java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/{Rank.java => mapping/CompositeSubField.java} (50%) rename java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/{_types/RankBase.java => esql/query/EsqlFormat.java} (70%) create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridProcessor.java rename java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/{_types/RankVariant.java => ingest/GeoGridTargetFormat.java} (66%) rename java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/{_types/RankBuilders.java => ingest/GeoGridTileType.java} (66%) create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/HtmlStripProcessor.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UriPartsProcessor.java create mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/SimulateDocumentResult.java diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregate.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregate.java index c4a9b340c..22ad48e02 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregate.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregate.java @@ -196,6 +196,8 @@ public enum Kind implements JsonEnum { TTest("t_test"), + TimeSeries("time_series"), + TopHits("top_hits"), TopMetrics("top_metrics"), @@ -1307,6 +1309,23 @@ public TTestAggregate tTest() { return TaggedUnionUtils.get(this, Kind.TTest); } + /** + * Is this variant instance of kind {@code time_series}? + */ + public boolean isTimeSeries() { + return _kind == Kind.TimeSeries; + } + + /** + * Get the {@code time_series} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code time_series} kind. + */ + public TimeSeriesAggregate timeSeries() { + return TaggedUnionUtils.get(this, Kind.TimeSeries); + } + /** * Is this variant instance of kind {@code top_hits}? */ @@ -2156,6 +2175,17 @@ public ObjectBuilder tTest(Function timeSeries(TimeSeriesAggregate v) { + this._kind = Kind.TimeSeries; + this._value = v; + return this; + } + + public ObjectBuilder timeSeries( + Function> fn) { + return this.timeSeries(fn.apply(new TimeSeriesAggregate.Builder()).build()); + } + public ObjectBuilder topHits(TopHitsAggregate v) { this._kind = Kind.TopHits; this._value = v; @@ -2342,6 +2372,7 @@ public Aggregate build() { deserializers.put("tdigest_percentile_ranks", TDigestPercentileRanksAggregate._DESERIALIZER); deserializers.put("tdigest_percentiles", TDigestPercentilesAggregate._DESERIALIZER); deserializers.put("t_test", TTestAggregate._DESERIALIZER); + deserializers.put("time_series", TimeSeriesAggregate._DESERIALIZER); deserializers.put("top_hits", TopHitsAggregate._DESERIALIZER); deserializers.put("top_metrics", TopMetricsAggregate._DESERIALIZER); deserializers.put("umrareterms", UnmappedRareTermsAggregate._DESERIALIZER); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBuilders.java index ea8787496..97f5bea73 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBuilders.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBuilders.java @@ -1149,6 +1149,24 @@ public static Aggregate tTest(Function> fn) { + Aggregate.Builder builder = new Aggregate.Builder(); + builder.timeSeries(fn.apply(new TimeSeriesAggregate.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link TopHitsAggregate top_hits} {@code Aggregate} * variant. diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java index 6562f5312..b05d03a84 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java @@ -215,6 +215,8 @@ public enum Kind implements JsonEnum { Terms("terms"), + TimeSeries("time_series"), + TopHits("top_hits"), TTest("t_test"), @@ -1493,6 +1495,23 @@ public TermsAggregation terms() { return TaggedUnionUtils.get(this, Kind.Terms); } + /** + * Is this variant instance of kind {@code time_series}? + */ + public boolean isTimeSeries() { + return _kind == Kind.TimeSeries; + } + + /** + * Get the {@code time_series} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code time_series} kind. + */ + public TimeSeriesAggregation timeSeries() { + return TaggedUnionUtils.get(this, Kind.TimeSeries); + } + /** * Is this variant instance of kind {@code top_hits}? */ @@ -2477,6 +2496,17 @@ public ContainerBuilder terms(Function> fn) { + return this.timeSeries(fn.apply(new TimeSeriesAggregation.Builder()).build()); + } + public ContainerBuilder topHits(TopHitsAggregation v) { this._kind = Kind.TopHits; this._value = v; @@ -2702,6 +2732,7 @@ protected static void setupAggregationDeserializer(ObjectDeserializer o op.add(Builder::sum, SumAggregation._DESERIALIZER, "sum"); op.add(Builder::sumBucket, SumBucketAggregation._DESERIALIZER, "sum_bucket"); op.add(Builder::terms, TermsAggregation._DESERIALIZER, "terms"); + op.add(Builder::timeSeries, TimeSeriesAggregation._DESERIALIZER, "time_series"); op.add(Builder::topHits, TopHitsAggregation._DESERIALIZER, "top_hits"); op.add(Builder::tTest, TTestAggregation._DESERIALIZER, "t_test"); op.add(Builder::topMetrics, TopMetricsAggregation._DESERIALIZER, "top_metrics"); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java index f35032bf6..f0b63a419 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java @@ -1335,6 +1335,25 @@ public static Aggregation terms(Function> fn) { + Aggregation.Builder builder = new Aggregation.Builder(); + builder.timeSeries(fn.apply(new TimeSeriesAggregation.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link TopHitsAggregation top_hits} * {@code Aggregation} variant. diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationRange.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationRange.java index 0a1ff795e..8da244134 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationRange.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationRange.java @@ -87,6 +87,8 @@ public static AggregationRange of(Function * API name: {@code from} + *

+ * Defaults to {@code 0} if parsed from a JSON {@code null} value. */ @Nullable public final Double from() { @@ -107,6 +109,8 @@ public final String key() { * End of the range (exclusive). *

* API name: {@code to} + *

+ * Defaults to {@code 0} if parsed from a JSON {@code null} value. */ @Nullable public final Double to() { @@ -126,8 +130,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (this.from != null) { generator.writeKey("from"); - generator.write(this.from); - + JsonpUtils.serializeDoubleOrNull(generator, this.from, 0); } if (this.key != null) { generator.writeKey("key"); @@ -136,8 +139,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } if (this.to != null) { generator.writeKey("to"); - generator.write(this.to); - + JsonpUtils.serializeDoubleOrNull(generator, this.to, 0); } } @@ -167,6 +169,8 @@ public static class Builder extends WithJsonObjectBuilderBase implement * Start of the range (inclusive). *

* API name: {@code from} + *

+ * Defaults to {@code 0} if parsed from a JSON {@code null} value. */ public final Builder from(@Nullable Double value) { this.from = value; @@ -187,6 +191,8 @@ public final Builder key(@Nullable String value) { * End of the range (exclusive). *

* API name: {@code to} + *

+ * Defaults to {@code 0} if parsed from a JSON {@code null} value. */ public final Builder to(@Nullable Double value) { this.to = value; @@ -221,9 +227,9 @@ public AggregationRange build() { protected static void setupAggregationRangeDeserializer(ObjectDeserializer op) { - op.add(Builder::from, JsonpDeserializer.doubleDeserializer(), "from"); + op.add(Builder::from, JsonpDeserializer.doubleOrNullDeserializer(0), "from"); op.add(Builder::key, JsonpDeserializer.stringDeserializer(), "key"); - op.add(Builder::to, JsonpDeserializer.doubleDeserializer(), "to"); + op.add(Builder::to, JsonpDeserializer.doubleOrNullDeserializer(0), "to"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregate.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregate.java new file mode 100644 index 000000000..aede05314 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregate.java @@ -0,0 +1,116 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.aggregations; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.aggregations.TimeSeriesAggregate + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class TimeSeriesAggregate extends MultiBucketAggregateBase implements AggregateVariant { + // --------------------------------------------------------------------------------------------- + + private TimeSeriesAggregate(Builder builder) { + super(builder); + + } + + public static TimeSeriesAggregate of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Aggregate variant kind. + */ + @Override + public Aggregate.Kind _aggregateKind() { + return Aggregate.Kind.TimeSeries; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TimeSeriesAggregate}. + */ + + public static class Builder extends MultiBucketAggregateBase.AbstractBuilder + implements + ObjectBuilder { + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TimeSeriesAggregate}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TimeSeriesAggregate build() { + _checkSingleUse(); + super.tBucketSerializer(null); + + return new TimeSeriesAggregate(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TimeSeriesAggregate} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, TimeSeriesAggregate::setupTimeSeriesAggregateDeserializer); + + protected static void setupTimeSeriesAggregateDeserializer(ObjectDeserializer op) { + MultiBucketAggregateBase.setupMultiBucketAggregateBaseDeserializer(op, TimeSeriesBucket._DESERIALIZER); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RrfRank.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregation.java similarity index 55% rename from java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RrfRank.java rename to java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregation.java index 16fcd137c..25dbfb308 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RrfRank.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregation.java @@ -17,7 +17,7 @@ * under the License. */ -package co.elastic.clients.elasticsearch._types; +package co.elastic.clients.elasticsearch._types.aggregations; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -28,7 +28,8 @@ import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; -import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -48,61 +49,62 @@ // //---------------------------------------------------------------- -// typedef: _types.RrfRank +// typedef: _types.aggregations.TimeSeriesAggregation /** * - * @see API + * @see API * specification */ @JsonpDeserializable -public class RrfRank extends RankBase implements RankVariant, JsonpSerializable { +public class TimeSeriesAggregation extends BucketAggregationBase implements AggregationVariant, JsonpSerializable { @Nullable - private final Long rankConstant; + private final Integer size; @Nullable - private final Long rankWindowSize; + private final Boolean keyed; // --------------------------------------------------------------------------------------------- - private RrfRank(Builder builder) { + private TimeSeriesAggregation(Builder builder) { - this.rankConstant = builder.rankConstant; - this.rankWindowSize = builder.rankWindowSize; + this.size = builder.size; + this.keyed = builder.keyed; } - public static RrfRank of(Function> fn) { + public static TimeSeriesAggregation of(Function> fn) { return fn.apply(new Builder()).build(); } /** - * Rank variant kind. + * Aggregation variant kind. */ @Override - public Rank.Kind _rankKind() { - return Rank.Kind.Rrf; + public Aggregation.Kind _aggregationKind() { + return Aggregation.Kind.TimeSeries; } /** - * How much influence documents in individual result sets per query have over - * the final ranked result set + * The maximum number of results to return. *

- * API name: {@code rank_constant} + * API name: {@code size} */ @Nullable - public final Long rankConstant() { - return this.rankConstant; + public final Integer size() { + return this.size; } /** - * Size of the individual result sets per query + * Set to true to associate a unique string key with each bucket + * and returns the ranges as a hash rather than an array. *

- * API name: {@code rank_window_size} + * API name: {@code keyed} */ @Nullable - public final Long rankWindowSize() { - return this.rankWindowSize; + public final Boolean keyed() { + return this.keyed; } /** @@ -116,14 +118,14 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.rankConstant != null) { - generator.writeKey("rank_constant"); - generator.write(this.rankConstant); + if (this.size != null) { + generator.writeKey("size"); + generator.write(this.size); } - if (this.rankWindowSize != null) { - generator.writeKey("rank_window_size"); - generator.write(this.rankWindowSize); + if (this.keyed != null) { + generator.writeKey("keyed"); + generator.write(this.keyed); } @@ -137,34 +139,36 @@ public String toString() { // --------------------------------------------------------------------------------------------- /** - * Builder for {@link RrfRank}. + * Builder for {@link TimeSeriesAggregation}. */ - public static class Builder extends RankBase.AbstractBuilder implements ObjectBuilder { + public static class Builder extends BucketAggregationBase.AbstractBuilder + implements + ObjectBuilder { @Nullable - private Long rankConstant; + private Integer size; @Nullable - private Long rankWindowSize; + private Boolean keyed; /** - * How much influence documents in individual result sets per query have over - * the final ranked result set + * The maximum number of results to return. *

- * API name: {@code rank_constant} + * API name: {@code size} */ - public final Builder rankConstant(@Nullable Long value) { - this.rankConstant = value; + public final Builder size(@Nullable Integer value) { + this.size = value; return this; } /** - * Size of the individual result sets per query + * Set to true to associate a unique string key with each bucket + * and returns the ranges as a hash rather than an array. *

- * API name: {@code rank_window_size} + * API name: {@code keyed} */ - public final Builder rankWindowSize(@Nullable Long value) { - this.rankWindowSize = value; + public final Builder keyed(@Nullable Boolean value) { + this.keyed = value; return this; } @@ -174,30 +178,30 @@ protected Builder self() { } /** - * Builds a {@link RrfRank}. + * Builds a {@link TimeSeriesAggregation}. * * @throws NullPointerException * if some of the required fields are null. */ - public RrfRank build() { + public TimeSeriesAggregation build() { _checkSingleUse(); - return new RrfRank(this); + return new TimeSeriesAggregation(this); } } // --------------------------------------------------------------------------------------------- /** - * Json deserializer for {@link RrfRank} + * Json deserializer for {@link TimeSeriesAggregation} */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RrfRank::setupRrfRankDeserializer); + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, TimeSeriesAggregation::setupTimeSeriesAggregationDeserializer); - protected static void setupRrfRankDeserializer(ObjectDeserializer op) { + protected static void setupTimeSeriesAggregationDeserializer(ObjectDeserializer op) { - op.add(Builder::rankConstant, JsonpDeserializer.longDeserializer(), "rank_constant"); - op.add(Builder::rankWindowSize, JsonpDeserializer.longDeserializer(), "rank_window_size"); + op.add(Builder::size, JsonpDeserializer.integerDeserializer(), "size"); + op.add(Builder::keyed, JsonpDeserializer.booleanDeserializer(), "keyed"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java new file mode 100644 index 000000000..a2e88b47e --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java @@ -0,0 +1,173 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.aggregations; + +import co.elastic.clients.elasticsearch._types.FieldValue; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.aggregations.TimeSeriesBucket + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class TimeSeriesBucket extends MultiBucketBase { + private final Map key; + + // --------------------------------------------------------------------------------------------- + + private TimeSeriesBucket(Builder builder) { + super(builder); + + this.key = ApiTypeHelper.unmodifiableRequired(builder.key, this, "key"); + + } + + public static TimeSeriesBucket of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code key} + */ + public final Map key() { + return this.key; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (ApiTypeHelper.isDefined(this.key)) { + generator.writeKey("key"); + generator.writeStartObject(); + for (Map.Entry item0 : this.key.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TimeSeriesBucket}. + */ + + public static class Builder extends MultiBucketBase.AbstractBuilder + implements + ObjectBuilder { + private Map key; + + /** + * Required - API name: {@code key} + *

+ * Adds all entries of map to key. + */ + public final Builder key(Map map) { + this.key = _mapPutAll(this.key, map); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, FieldValue value) { + this.key = _mapPut(this.key, key, value); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key using a builder lambda. + */ + public final Builder key(String key, Function> fn) { + return key(key, fn.apply(new FieldValue.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TimeSeriesBucket}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TimeSeriesBucket build() { + _checkSingleUse(); + + return new TimeSeriesBucket(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TimeSeriesBucket} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + TimeSeriesBucket::setupTimeSeriesBucketDeserializer); + + protected static void setupTimeSeriesBucketDeserializer(ObjectDeserializer op) { + MultiBucketBase.setupMultiBucketBaseDeserializer(op); + op.add(Builder::key, JsonpDeserializer.stringMapDeserializer(FieldValue._DESERIALIZER), "key"); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ClassicTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ClassicTokenizer.java new file mode 100644 index 000000000..4d47b9061 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ClassicTokenizer.java @@ -0,0 +1,156 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.analysis; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.analysis.ClassicTokenizer + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class ClassicTokenizer extends TokenizerBase implements TokenizerDefinitionVariant { + @Nullable + private final Integer maxTokenLength; + + // --------------------------------------------------------------------------------------------- + + private ClassicTokenizer(Builder builder) { + super(builder); + + this.maxTokenLength = builder.maxTokenLength; + + } + + public static ClassicTokenizer of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * TokenizerDefinition variant kind. + */ + @Override + public TokenizerDefinition.Kind _tokenizerDefinitionKind() { + return TokenizerDefinition.Kind.Classic; + } + + /** + * API name: {@code max_token_length} + */ + @Nullable + public final Integer maxTokenLength() { + return this.maxTokenLength; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.write("type", "classic"); + super.serializeInternal(generator, mapper); + if (this.maxTokenLength != null) { + generator.writeKey("max_token_length"); + generator.write(this.maxTokenLength); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link ClassicTokenizer}. + */ + + public static class Builder extends TokenizerBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Integer maxTokenLength; + + /** + * API name: {@code max_token_length} + */ + public final Builder maxTokenLength(@Nullable Integer value) { + this.maxTokenLength = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link ClassicTokenizer}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public ClassicTokenizer build() { + _checkSingleUse(); + + return new ClassicTokenizer(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link ClassicTokenizer} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + ClassicTokenizer::setupClassicTokenizerDeserializer); + + protected static void setupClassicTokenizerDeserializer(ObjectDeserializer op) { + TokenizerBase.setupTokenizerBaseDeserializer(op); + op.add(Builder::maxTokenLength, JsonpDeserializer.integerDeserializer(), "max_token_length"); + + op.ignore("type"); + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java index be2b72c3a..fa7e1e77c 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java @@ -76,7 +76,7 @@ private EdgeNGramTokenizer(Builder builder) { this.customTokenChars = builder.customTokenChars; this.maxGram = ApiTypeHelper.requireNonNull(builder.maxGram, this, "maxGram"); this.minGram = ApiTypeHelper.requireNonNull(builder.minGram, this, "minGram"); - this.tokenChars = ApiTypeHelper.unmodifiableRequired(builder.tokenChars, this, "tokenChars"); + this.tokenChars = ApiTypeHelper.unmodifiable(builder.tokenChars); } @@ -115,7 +115,7 @@ public final int minGram() { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} */ public final List tokenChars() { return this.tokenChars; @@ -164,6 +164,7 @@ public static class Builder extends TokenizerBase.AbstractBuilder private Integer minGram; + @Nullable private List tokenChars; /** @@ -191,7 +192,7 @@ public final Builder minGram(int value) { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} *

* Adds all elements of list to tokenChars. */ @@ -201,7 +202,7 @@ public final Builder tokenChars(List list) { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} *

* Adds one or more values to tokenChars. */ diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java index d7b874c81..a9078eada 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java @@ -76,7 +76,7 @@ private NGramTokenizer(Builder builder) { this.customTokenChars = builder.customTokenChars; this.maxGram = ApiTypeHelper.requireNonNull(builder.maxGram, this, "maxGram"); this.minGram = ApiTypeHelper.requireNonNull(builder.minGram, this, "minGram"); - this.tokenChars = ApiTypeHelper.unmodifiableRequired(builder.tokenChars, this, "tokenChars"); + this.tokenChars = ApiTypeHelper.unmodifiable(builder.tokenChars); } @@ -115,7 +115,7 @@ public final int minGram() { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} */ public final List tokenChars() { return this.tokenChars; @@ -164,6 +164,7 @@ public static class Builder extends TokenizerBase.AbstractBuilder private Integer minGram; + @Nullable private List tokenChars; /** @@ -191,7 +192,7 @@ public final Builder minGram(int value) { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} *

* Adds all elements of list to tokenChars. */ @@ -201,7 +202,7 @@ public final Builder tokenChars(List list) { } /** - * Required - API name: {@code token_chars} + * API name: {@code token_chars} *

* Adds one or more values to tokenChars. */ diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternSplitTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternSplitTokenizer.java new file mode 100644 index 000000000..9543b0395 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternSplitTokenizer.java @@ -0,0 +1,157 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.analysis; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.analysis.SimplePatternSplitTokenizer + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class SimplePatternSplitTokenizer extends TokenizerBase implements TokenizerDefinitionVariant { + @Nullable + private final String pattern; + + // --------------------------------------------------------------------------------------------- + + private SimplePatternSplitTokenizer(Builder builder) { + super(builder); + + this.pattern = builder.pattern; + + } + + public static SimplePatternSplitTokenizer of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * TokenizerDefinition variant kind. + */ + @Override + public TokenizerDefinition.Kind _tokenizerDefinitionKind() { + return TokenizerDefinition.Kind.SimplePatternSplit; + } + + /** + * API name: {@code pattern} + */ + @Nullable + public final String pattern() { + return this.pattern; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.write("type", "simple_pattern_split"); + super.serializeInternal(generator, mapper); + if (this.pattern != null) { + generator.writeKey("pattern"); + generator.write(this.pattern); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link SimplePatternSplitTokenizer}. + */ + + public static class Builder extends TokenizerBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private String pattern; + + /** + * API name: {@code pattern} + */ + public final Builder pattern(@Nullable String value) { + this.pattern = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link SimplePatternSplitTokenizer}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SimplePatternSplitTokenizer build() { + _checkSingleUse(); + + return new SimplePatternSplitTokenizer(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link SimplePatternSplitTokenizer} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, SimplePatternSplitTokenizer::setupSimplePatternSplitTokenizerDeserializer); + + protected static void setupSimplePatternSplitTokenizerDeserializer( + ObjectDeserializer op) { + TokenizerBase.setupTokenizerBaseDeserializer(op); + op.add(Builder::pattern, JsonpDeserializer.stringDeserializer(), "pattern"); + + op.ignore("type"); + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternTokenizer.java new file mode 100644 index 000000000..255e56e08 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternTokenizer.java @@ -0,0 +1,157 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.analysis; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.analysis.SimplePatternTokenizer + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class SimplePatternTokenizer extends TokenizerBase implements TokenizerDefinitionVariant { + @Nullable + private final String pattern; + + // --------------------------------------------------------------------------------------------- + + private SimplePatternTokenizer(Builder builder) { + super(builder); + + this.pattern = builder.pattern; + + } + + public static SimplePatternTokenizer of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * TokenizerDefinition variant kind. + */ + @Override + public TokenizerDefinition.Kind _tokenizerDefinitionKind() { + return TokenizerDefinition.Kind.SimplePattern; + } + + /** + * API name: {@code pattern} + */ + @Nullable + public final String pattern() { + return this.pattern; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.write("type", "simple_pattern"); + super.serializeInternal(generator, mapper); + if (this.pattern != null) { + generator.writeKey("pattern"); + generator.write(this.pattern); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link SimplePatternTokenizer}. + */ + + public static class Builder extends TokenizerBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private String pattern; + + /** + * API name: {@code pattern} + */ + public final Builder pattern(@Nullable String value) { + this.pattern = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link SimplePatternTokenizer}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SimplePatternTokenizer build() { + _checkSingleUse(); + + return new SimplePatternTokenizer(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link SimplePatternTokenizer} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, SimplePatternTokenizer::setupSimplePatternTokenizerDeserializer); + + protected static void setupSimplePatternTokenizerDeserializer( + ObjectDeserializer op) { + TokenizerBase.setupTokenizerBaseDeserializer(op); + op.add(Builder::pattern, JsonpDeserializer.stringDeserializer(), "pattern"); + + op.ignore("type"); + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiTokenizer.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiTokenizer.java new file mode 100644 index 000000000..2c7d1ee7a --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiTokenizer.java @@ -0,0 +1,122 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.analysis; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.analysis.ThaiTokenizer + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class ThaiTokenizer extends TokenizerBase implements TokenizerDefinitionVariant { + // --------------------------------------------------------------------------------------------- + + private ThaiTokenizer(Builder builder) { + super(builder); + + } + + public static ThaiTokenizer of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * TokenizerDefinition variant kind. + */ + @Override + public TokenizerDefinition.Kind _tokenizerDefinitionKind() { + return TokenizerDefinition.Kind.Thai; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.write("type", "thai"); + super.serializeInternal(generator, mapper); + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link ThaiTokenizer}. + */ + + public static class Builder extends TokenizerBase.AbstractBuilder implements ObjectBuilder { + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link ThaiTokenizer}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public ThaiTokenizer build() { + _checkSingleUse(); + + return new ThaiTokenizer(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link ThaiTokenizer} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + ThaiTokenizer::setupThaiTokenizerDeserializer); + + protected static void setupThaiTokenizerDeserializer(ObjectDeserializer op) { + TokenizerBase.setupTokenizerBaseDeserializer(op); + + op.ignore("type"); + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinition.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinition.java index 6c1c9e4cf..7e6258f49 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinition.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinition.java @@ -76,6 +76,8 @@ public class TokenizerDefinition implements OpenTaggedUnion charGroup( return this.charGroup(fn.apply(new CharGroupTokenizer.Builder()).build()); } + public ObjectBuilder classic(ClassicTokenizer v) { + this._kind = Kind.Classic; + this._value = v; + return this; + } + + public ObjectBuilder classic( + Function> fn) { + return this.classic(fn.apply(new ClassicTokenizer.Builder()).build()); + } + public ObjectBuilder edgeNgram(EdgeNGramTokenizer v) { this._kind = Kind.EdgeNgram; this._value = v; @@ -574,6 +662,28 @@ public ObjectBuilder pattern( return this.pattern(fn.apply(new PatternTokenizer.Builder()).build()); } + public ObjectBuilder simplePatternSplit(SimplePatternSplitTokenizer v) { + this._kind = Kind.SimplePatternSplit; + this._value = v; + return this; + } + + public ObjectBuilder simplePatternSplit( + Function> fn) { + return this.simplePatternSplit(fn.apply(new SimplePatternSplitTokenizer.Builder()).build()); + } + + public ObjectBuilder simplePattern(SimplePatternTokenizer v) { + this._kind = Kind.SimplePattern; + this._value = v; + return this; + } + + public ObjectBuilder simplePattern( + Function> fn) { + return this.simplePattern(fn.apply(new SimplePatternTokenizer.Builder()).build()); + } + public ObjectBuilder standard(StandardTokenizer v) { this._kind = Kind.Standard; this._value = v; @@ -585,6 +695,17 @@ public ObjectBuilder standard( return this.standard(fn.apply(new StandardTokenizer.Builder()).build()); } + public ObjectBuilder thai(ThaiTokenizer v) { + this._kind = Kind.Thai; + this._value = v; + return this; + } + + public ObjectBuilder thai( + Function> fn) { + return this.thai(fn.apply(new ThaiTokenizer.Builder()).build()); + } + public ObjectBuilder uaxUrlEmail(UaxEmailUrlTokenizer v) { this._kind = Kind.UaxUrlEmail; this._value = v; @@ -633,6 +754,7 @@ public TokenizerDefinition build() { protected static void setupTokenizerDefinitionDeserializer(ObjectDeserializer op) { op.add(Builder::charGroup, CharGroupTokenizer._DESERIALIZER, "char_group"); + op.add(Builder::classic, ClassicTokenizer._DESERIALIZER, "classic"); op.add(Builder::edgeNgram, EdgeNGramTokenizer._DESERIALIZER, "edge_ngram"); op.add(Builder::icuTokenizer, IcuTokenizer._DESERIALIZER, "icu_tokenizer"); op.add(Builder::keyword, KeywordTokenizer._DESERIALIZER, "keyword"); @@ -643,7 +765,10 @@ protected static void setupTokenizerDefinitionDeserializer(ObjectDeserializer> fn) { + TokenizerDefinition.Builder builder = new TokenizerDefinition.Builder(); + builder.classic(fn.apply(new ClassicTokenizer.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link EdgeNGramTokenizer edge_ngram} * {@code TokenizerDefinition} variant. @@ -247,6 +265,44 @@ public static TokenizerDefinition pattern(Function> fn) { + TokenizerDefinition.Builder builder = new TokenizerDefinition.Builder(); + builder.simplePatternSplit(fn.apply(new SimplePatternSplitTokenizer.Builder()).build()); + return builder.build(); + } + + /** + * Creates a builder for the {@link SimplePatternTokenizer simple_pattern} + * {@code TokenizerDefinition} variant. + */ + public static SimplePatternTokenizer.Builder simplePattern() { + return new SimplePatternTokenizer.Builder(); + } + + /** + * Creates a TokenizerDefinition of the {@link SimplePatternTokenizer + * simple_pattern} {@code TokenizerDefinition} variant. + */ + public static TokenizerDefinition simplePattern( + Function> fn) { + TokenizerDefinition.Builder builder = new TokenizerDefinition.Builder(); + builder.simplePattern(fn.apply(new SimplePatternTokenizer.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link StandardTokenizer standard} * {@code TokenizerDefinition} variant. @@ -266,6 +322,24 @@ public static TokenizerDefinition standard( return builder.build(); } + /** + * Creates a builder for the {@link ThaiTokenizer thai} + * {@code TokenizerDefinition} variant. + */ + public static ThaiTokenizer.Builder thai() { + return new ThaiTokenizer.Builder(); + } + + /** + * Creates a TokenizerDefinition of the {@link ThaiTokenizer thai} + * {@code TokenizerDefinition} variant. + */ + public static TokenizerDefinition thai(Function> fn) { + TokenizerDefinition.Builder builder = new TokenizerDefinition.Builder(); + builder.thai(fn.apply(new ThaiTokenizer.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link UaxEmailUrlTokenizer uax_url_email} * {@code TokenizerDefinition} variant. diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Rank.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CompositeSubField.java similarity index 50% rename from java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Rank.java rename to java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CompositeSubField.java index b1dbca7c3..d738d1851 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Rank.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CompositeSubField.java @@ -17,9 +17,8 @@ * under the License. */ -package co.elastic.clients.elasticsearch._types; +package co.elastic.clients.elasticsearch._types.mapping; -import co.elastic.clients.json.JsonEnum; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -29,11 +28,8 @@ import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; -import java.lang.Object; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -53,100 +49,50 @@ // //---------------------------------------------------------------- -// typedef: _types.RankContainer +// typedef: _types.mapping.CompositeSubField /** * - * @see API + * @see API * specification */ @JsonpDeserializable -public class Rank implements TaggedUnion, JsonpSerializable { +public class CompositeSubField implements JsonpSerializable { + private final RuntimeFieldType type; - /** - * {@link Rank} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - Rrf("rrf"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final Object _value; + // --------------------------------------------------------------------------------------------- - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public Rank(RankVariant value) { + private CompositeSubField(Builder builder) { - this._kind = ApiTypeHelper.requireNonNull(value._rankKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); + this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); } - private Rank(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static Rank of(Function> fn) { + public static CompositeSubField of(Function> fn) { return fn.apply(new Builder()).build(); } /** - * Is this variant instance of kind {@code rrf}? + * Required - API name: {@code type} */ - public boolean isRrf() { - return _kind == Kind.Rrf; + public final RuntimeFieldType type() { + return this.type; } /** - * Get the {@code rrf} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code rrf} kind. + * Serialize this object to JSON. */ - public RrfRank rrf() { - return TaggedUnionUtils.get(this, Kind.Rrf); - } - - @Override - @SuppressWarnings("unchecked") public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } - generator.writeKey(_kind.jsonValue()); - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeEnd(); + generator.writeKey("type"); + this.type.serialize(generator, mapper); } @@ -155,37 +101,53 @@ public String toString() { return JsonpUtils.toString(this); } - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; + // --------------------------------------------------------------------------------------------- - @Override - protected Builder self() { - return this; - } - public ObjectBuilder rrf(RrfRank v) { - this._kind = Kind.Rrf; - this._value = v; + /** + * Builder for {@link CompositeSubField}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private RuntimeFieldType type; + + /** + * Required - API name: {@code type} + */ + public final Builder type(RuntimeFieldType value) { + this.type = value; return this; } - public ObjectBuilder rrf(Function> fn) { - return this.rrf(fn.apply(new RrfRank.Builder()).build()); + @Override + protected Builder self() { + return this; } - public Rank build() { + /** + * Builds a {@link CompositeSubField}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public CompositeSubField build() { _checkSingleUse(); - return new Rank(this); - } + return new CompositeSubField(this); + } } - protected static void setupRankDeserializer(ObjectDeserializer op) { + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link CompositeSubField} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, CompositeSubField::setupCompositeSubFieldDeserializer); + + protected static void setupCompositeSubFieldDeserializer(ObjectDeserializer op) { - op.add(Builder::rrf, RrfRank._DESERIALIZER, "rrf"); + op.add(Builder::type, RuntimeFieldType._DESERIALIZER, "type"); } - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Rank::setupRankDeserializer, Builder::build); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeField.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeField.java index 27c57ea8f..c0016ebe2 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeField.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeField.java @@ -33,6 +33,7 @@ import jakarta.json.stream.JsonGenerator; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -61,6 +62,8 @@ */ @JsonpDeserializable public class RuntimeField implements JsonpSerializable { + private final Map fields; + private final List fetchFields; @Nullable @@ -84,6 +87,7 @@ public class RuntimeField implements JsonpSerializable { private RuntimeField(Builder builder) { + this.fields = ApiTypeHelper.unmodifiable(builder.fields); this.fetchFields = ApiTypeHelper.unmodifiable(builder.fetchFields); this.format = builder.format; this.inputField = builder.inputField; @@ -98,6 +102,15 @@ public static RuntimeField of(Function> fn) return fn.apply(new Builder()).build(); } + /** + * For type composite + *

+ * API name: {@code fields} + */ + public final Map fields() { + return this.fields; + } + /** * For type lookup *

@@ -180,6 +193,17 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + if (ApiTypeHelper.isDefined(this.fields)) { + generator.writeKey("fields"); + generator.writeStartObject(); + for (Map.Entry item0 : this.fields.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } if (ApiTypeHelper.isDefined(this.fetchFields)) { generator.writeKey("fetch_fields"); generator.writeStartArray(); @@ -232,6 +256,9 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private Map fields; + @Nullable private List fetchFields; @@ -252,6 +279,42 @@ public static class Builder extends WithJsonObjectBuilderBase implement private RuntimeFieldType type; + /** + * For type composite + *

+ * API name: {@code fields} + *

+ * Adds all entries of map to fields. + */ + public final Builder fields(Map map) { + this.fields = _mapPutAll(this.fields, map); + return this; + } + + /** + * For type composite + *

+ * API name: {@code fields} + *

+ * Adds an entry to fields. + */ + public final Builder fields(String key, CompositeSubField value) { + this.fields = _mapPut(this.fields, key, value); + return this; + } + + /** + * For type composite + *

+ * API name: {@code fields} + *

+ * Adds an entry to fields using a builder lambda. + */ + public final Builder fields(String key, + Function> fn) { + return fields(key, fn.apply(new CompositeSubField.Builder()).build()); + } + /** * For type lookup *

@@ -388,6 +451,7 @@ public RuntimeField build() { protected static void setupRuntimeFieldDeserializer(ObjectDeserializer op) { + op.add(Builder::fields, JsonpDeserializer.stringMapDeserializer(CompositeSubField._DESERIALIZER), "fields"); op.add(Builder::fetchFields, JsonpDeserializer.arrayDeserializer(RuntimeFieldFetchFields._DESERIALIZER), "fetch_fields"); op.add(Builder::format, JsonpDeserializer.stringDeserializer(), "format"); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/indices/IndicesRecord.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/indices/IndicesRecord.java index 82fac33f4..533b3b1ee 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/indices/IndicesRecord.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/indices/IndicesRecord.java @@ -94,6 +94,9 @@ public class IndicesRecord implements JsonpSerializable { @Nullable private final String priStoreSize; + @Nullable + private final String datasetSize; + @Nullable private final String completionSize; @@ -497,6 +500,7 @@ private IndicesRecord(Builder builder) { this.creationDateString = builder.creationDateString; this.storeSize = builder.storeSize; this.priStoreSize = builder.priStoreSize; + this.datasetSize = builder.datasetSize; this.completionSize = builder.completionSize; this.priCompletionSize = builder.priCompletionSize; this.fielddataMemorySize = builder.fielddataMemorySize; @@ -753,6 +757,16 @@ public final String priStoreSize() { return this.priStoreSize; } + /** + * total size of dataset (including the cache for partially mounted indices) + *

+ * API name: {@code dataset.size} + */ + @Nullable + public final String datasetSize() { + return this.datasetSize; + } + /** * size of completion *

@@ -2115,6 +2129,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("pri.store.size"); generator.write(this.priStoreSize); + } + if (this.datasetSize != null) { + generator.writeKey("dataset.size"); + generator.write(this.datasetSize); + } if (this.completionSize != null) { generator.writeKey("completion.size"); @@ -2812,6 +2831,9 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private String priStoreSize; + @Nullable + private String datasetSize; + @Nullable private String completionSize; @@ -3319,6 +3341,16 @@ public final Builder priStoreSize(@Nullable String value) { return this; } + /** + * total size of dataset (including the cache for partially mounted indices) + *

+ * API name: {@code dataset.size} + */ + public final Builder datasetSize(@Nullable String value) { + this.datasetSize = value; + return this; + } + /** * size of completion *

@@ -4651,6 +4683,7 @@ protected static void setupIndicesRecordDeserializer(ObjectDeserializerAPI * specification */ - -public class OpenPointInTimeRequest extends RequestBase { +@JsonpDeserializable +public class OpenPointInTimeRequest extends RequestBase implements JsonpSerializable { private final List expandWildcards; @Nullable @@ -82,6 +85,9 @@ public class OpenPointInTimeRequest extends RequestBase { private final List index; + @Nullable + private final Query indexFilter; + private final Time keepAlive; @Nullable @@ -97,6 +103,7 @@ private OpenPointInTimeRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); + this.indexFilter = builder.indexFilter; this.keepAlive = ApiTypeHelper.requireNonNull(builder.keepAlive, this, "keepAlive"); this.preference = builder.preference; this.routing = builder.routing; @@ -142,6 +149,17 @@ public final List index() { return this.index; } + /** + * Allows to filter indices if the provided query rewrites to + * match_none on every shard. + *

+ * API name: {@code index_filter} + */ + @Nullable + public final Query indexFilter() { + return this.indexFilter; + } + /** * Required - Extends the time to live of the corresponding point in time. *

@@ -172,6 +190,25 @@ public final String routing() { return this.routing; } + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.indexFilter != null) { + generator.writeKey("index_filter"); + this.indexFilter.serialize(generator, mapper); + + } + + } + // --------------------------------------------------------------------------------------------- /** @@ -189,6 +226,9 @@ public static class Builder extends RequestBase.AbstractBuilder private List index; + @Nullable + private Query indexFilter; + private Time keepAlive; @Nullable @@ -268,6 +308,27 @@ public final Builder index(String value, String... values) { return this; } + /** + * Allows to filter indices if the provided query rewrites to + * match_none on every shard. + *

+ * API name: {@code index_filter} + */ + public final Builder indexFilter(@Nullable Query value) { + this.indexFilter = value; + return this; + } + + /** + * Allows to filter indices if the provided query rewrites to + * match_none on every shard. + *

+ * API name: {@code index_filter} + */ + public final Builder indexFilter(Function> fn) { + return this.indexFilter(fn.apply(new Query.Builder()).build()); + } + /** * Required - Extends the time to live of the corresponding point in time. *

@@ -328,6 +389,21 @@ public OpenPointInTimeRequest build() { // --------------------------------------------------------------------------------------------- + /** + * Json deserializer for {@link OpenPointInTimeRequest} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, OpenPointInTimeRequest::setupOpenPointInTimeRequestDeserializer); + + protected static void setupOpenPointInTimeRequestDeserializer( + ObjectDeserializer op) { + + op.add(Builder::indexFilter, Query._DESERIALIZER, "index_filter"); + + } + + // --------------------------------------------------------------------------------------------- + /** * Endpoint "{@code open_point_in_time}". */ @@ -393,5 +469,5 @@ public OpenPointInTimeRequest build() { params.put("keep_alive", request.keepAlive._toJsonString()); return params; - }, SimpleEndpoint.emptyMap(), false, OpenPointInTimeResponse._DESERIALIZER); + }, SimpleEndpoint.emptyMap(), true, OpenPointInTimeResponse._DESERIALIZER); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeResponse.java index 803742154..72e7f8580 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeResponse.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeResponse.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch.core; +import co.elastic.clients.elasticsearch._types.ShardStatistics; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -60,12 +61,15 @@ */ @JsonpDeserializable public class OpenPointInTimeResponse implements JsonpSerializable { + private final ShardStatistics shards; + private final String id; // --------------------------------------------------------------------------------------------- private OpenPointInTimeResponse(Builder builder) { + this.shards = ApiTypeHelper.requireNonNull(builder.shards, this, "shards"); this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); } @@ -74,6 +78,15 @@ public static OpenPointInTimeResponse of(Function + * API name: {@code _shards} + */ + public final ShardStatistics shards() { + return this.shards; + } + /** * Required - API name: {@code id} */ @@ -92,6 +105,9 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + generator.writeKey("_shards"); + this.shards.serialize(generator, mapper); + generator.writeKey("id"); generator.write(this.id); @@ -111,8 +127,29 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private ShardStatistics shards; + private String id; + /** + * Required - Shards used to create the PIT + *

+ * API name: {@code _shards} + */ + public final Builder shards(ShardStatistics value) { + this.shards = value; + return this; + } + + /** + * Required - Shards used to create the PIT + *

+ * API name: {@code _shards} + */ + public final Builder shards(Function> fn) { + return this.shards(fn.apply(new ShardStatistics.Builder()).build()); + } + /** * Required - API name: {@code id} */ @@ -150,6 +187,7 @@ public OpenPointInTimeResponse build() { protected static void setupOpenPointInTimeResponseDeserializer( ObjectDeserializer op) { + op.add(Builder::shards, ShardStatistics._DESERIALIZER, "_shards"); op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java index b4c8000ca..d73b6a7bf 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java @@ -23,7 +23,6 @@ import co.elastic.clients.elasticsearch._types.ExpandWildcard; import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch._types.KnnSearch; -import co.elastic.clients.elasticsearch._types.Rank; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Retriever; import co.elastic.clients.elasticsearch._types.ScriptField; @@ -190,9 +189,6 @@ public class SearchRequest extends RequestBase implements JsonpSerializable { @Nullable private final Query query; - @Nullable - private final Rank rank; - @Nullable private final Boolean requestCache; @@ -287,7 +283,6 @@ private SearchRequest(Builder builder) { this.profile = builder.profile; this.q = builder.q; this.query = builder.query; - this.rank = builder.rank; this.requestCache = builder.requestCache; this.rescore = ApiTypeHelper.unmodifiable(builder.rescore); this.retriever = builder.retriever; @@ -716,16 +711,6 @@ public final Query query() { return this.query; } - /** - * Defines the Reciprocal Rank Fusion (RRF) to use. - *

- * API name: {@code rank} - */ - @Nullable - public final Rank rank() { - return this.rank; - } - /** * If true, the caching of search results is enabled for requests * where size is 0. Defaults to index level settings. @@ -1093,11 +1078,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("query"); this.query.serialize(generator, mapper); - } - if (this.rank != null) { - generator.writeKey("rank"); - this.rank.serialize(generator, mapper); - } if (ApiTypeHelper.isDefined(this.rescore)) { generator.writeKey("rescore"); @@ -1339,9 +1319,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Query query; - @Nullable - private Rank rank; - @Nullable private Boolean requestCache; @@ -2041,25 +2018,6 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } - /** - * Defines the Reciprocal Rank Fusion (RRF) to use. - *

- * API name: {@code rank} - */ - public final Builder rank(@Nullable Rank value) { - this.rank = value; - return this; - } - - /** - * Defines the Reciprocal Rank Fusion (RRF) to use. - *

- * API name: {@code rank} - */ - public final Builder rank(Function> fn) { - return this.rank(fn.apply(new Rank.Builder()).build()); - } - /** * If true, the caching of search results is enabled for requests * where size is 0. Defaults to index level settings. @@ -2648,7 +2606,6 @@ protected static void setupSearchRequestDeserializer(ObjectDeserializer 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/849b48056b38ca2fd576688e9604a7dad0e77c40/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/b2ad2265c9a6469efee4426abbc45df5b0fe1c54/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java index 61ad1fe41..37723bd0e 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java @@ -31,6 +31,7 @@ import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; +import java.lang.Long; import java.lang.String; import java.util.Objects; import java.util.function.Function; @@ -66,10 +67,16 @@ public class CacheStats implements JsonpSerializable { private final int hits; + private final long hitsTimeInMillis; + private final int misses; + private final long missesTimeInMillis; + private final int evictions; + private final long sizeInBytes; + // --------------------------------------------------------------------------------------------- private CacheStats(Builder builder) { @@ -77,8 +84,11 @@ private CacheStats(Builder builder) { this.nodeId = ApiTypeHelper.requireNonNull(builder.nodeId, this, "nodeId"); this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); this.hits = ApiTypeHelper.requireNonNull(builder.hits, this, "hits"); + this.hitsTimeInMillis = ApiTypeHelper.requireNonNull(builder.hitsTimeInMillis, this, "hitsTimeInMillis"); this.misses = ApiTypeHelper.requireNonNull(builder.misses, this, "misses"); + this.missesTimeInMillis = ApiTypeHelper.requireNonNull(builder.missesTimeInMillis, this, "missesTimeInMillis"); this.evictions = ApiTypeHelper.requireNonNull(builder.evictions, this, "evictions"); + this.sizeInBytes = ApiTypeHelper.requireNonNull(builder.sizeInBytes, this, "sizeInBytes"); } @@ -107,6 +117,13 @@ public final int hits() { return this.hits; } + /** + * Required - API name: {@code hits_time_in_millis} + */ + public final long hitsTimeInMillis() { + return this.hitsTimeInMillis; + } + /** * Required - API name: {@code misses} */ @@ -114,6 +131,13 @@ public final int misses() { return this.misses; } + /** + * Required - API name: {@code misses_time_in_millis} + */ + public final long missesTimeInMillis() { + return this.missesTimeInMillis; + } + /** * Required - API name: {@code evictions} */ @@ -121,6 +145,13 @@ public final int evictions() { return this.evictions; } + /** + * Required - API name: {@code size_in_bytes} + */ + public final long sizeInBytes() { + return this.sizeInBytes; + } + /** * Serialize this object to JSON. */ @@ -141,12 +172,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("hits"); generator.write(this.hits); + generator.writeKey("hits_time_in_millis"); + generator.write(this.hitsTimeInMillis); + generator.writeKey("misses"); generator.write(this.misses); + generator.writeKey("misses_time_in_millis"); + generator.write(this.missesTimeInMillis); + generator.writeKey("evictions"); generator.write(this.evictions); + generator.writeKey("size_in_bytes"); + generator.write(this.sizeInBytes); + } @Override @@ -167,10 +207,16 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Integer hits; + private Long hitsTimeInMillis; + private Integer misses; + private Long missesTimeInMillis; + private Integer evictions; + private Long sizeInBytes; + /** * Required - API name: {@code node_id} */ @@ -195,6 +241,14 @@ public final Builder hits(int value) { return this; } + /** + * Required - API name: {@code hits_time_in_millis} + */ + public final Builder hitsTimeInMillis(long value) { + this.hitsTimeInMillis = value; + return this; + } + /** * Required - API name: {@code misses} */ @@ -203,6 +257,14 @@ public final Builder misses(int value) { return this; } + /** + * Required - API name: {@code misses_time_in_millis} + */ + public final Builder missesTimeInMillis(long value) { + this.missesTimeInMillis = value; + return this; + } + /** * Required - API name: {@code evictions} */ @@ -211,6 +273,14 @@ public final Builder evictions(int value) { return this; } + /** + * Required - API name: {@code size_in_bytes} + */ + public final Builder sizeInBytes(long value) { + this.sizeInBytes = value; + return this; + } + @Override protected Builder self() { return this; @@ -242,8 +312,11 @@ protected static void setupCacheStatsDeserializer(ObjectDeserializer impleme private Query filter; @Nullable - private String format; + private EsqlFormat format; @Nullable private String locale; @@ -397,7 +398,7 @@ public final Builder filter(Function> fn) { *

* API name: {@code format} */ - public final Builder format(@Nullable String value) { + public final Builder format(@Nullable EsqlFormat value) { this.format = value; return this; } @@ -648,7 +649,7 @@ protected static void setupQueryRequestDeserializer(ObjectDeserializerAPI + * @see API * specification */ +@JsonpDeserializable +public enum EsqlFormat implements JsonEnum { + Csv("csv"), -public abstract class RankBase { - public RankBase() { - } + Json("json"), + + Tsv("tsv"), + + Txt("txt"), + + Yaml("yaml"), + + Cbor("cbor"), - public abstract static class AbstractBuilder> - extends - WithJsonObjectBuilderBase { - protected abstract BuilderT self(); + Smile("smile"), + + Arrow("arrow"), + + ; + + private final String jsonValue; + + EsqlFormat(String jsonValue) { + this.jsonValue = jsonValue; + } + public String jsonValue() { + return this.jsonValue; } + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + EsqlFormat.values()); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java index e2a86b8ea..18fb316d6 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java @@ -77,6 +77,9 @@ public class GetDataStreamRequest extends RequestBase { private final List name; + @Nullable + private final Boolean verbose; + // --------------------------------------------------------------------------------------------- private GetDataStreamRequest(Builder builder) { @@ -85,6 +88,7 @@ private GetDataStreamRequest(Builder builder) { this.includeDefaults = builder.includeDefaults; this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.unmodifiable(builder.name); + this.verbose = builder.verbose; } @@ -134,6 +138,17 @@ public final List name() { return this.name; } + /** + * Whether the maximum timestamp for each data stream should be calculated and + * returned. + *

+ * API name: {@code verbose} + */ + @Nullable + public final Boolean verbose() { + return this.verbose; + } + // --------------------------------------------------------------------------------------------- /** @@ -155,6 +170,9 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private List name; + @Nullable + private Boolean verbose; + /** * Type of data stream that wildcard patterns can match. Supports * comma-separated values, such as open,hidden. @@ -240,6 +258,17 @@ public final Builder name(String value, String... values) { return this; } + /** + * Whether the maximum timestamp for each data stream should be calculated and + * returned. + *

+ * API name: {@code verbose} + */ + public final Builder verbose(@Nullable Boolean value) { + this.verbose = value; + return this; + } + @Override protected Builder self() { return this; @@ -328,6 +357,9 @@ public GetDataStreamRequest build() { if (request.includeDefaults != null) { params.put("include_defaults", String.valueOf(request.includeDefaults)); } + if (request.verbose != null) { + params.put("verbose", String.valueOf(request.verbose)); + } return params; }, SimpleEndpoint.emptyMap(), false, GetDataStreamResponse._DESERIALIZER); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java index 3ce0ffc59..1e6af297b 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java @@ -31,6 +31,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.List; @@ -66,15 +67,23 @@ */ public class ResolveIndexRequest extends RequestBase { + @Nullable + private final Boolean allowNoIndices; + private final List expandWildcards; + @Nullable + private final Boolean ignoreUnavailable; + private final List name; // --------------------------------------------------------------------------------------------- private ResolveIndexRequest(Builder builder) { + this.allowNoIndices = builder.allowNoIndices; this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); + this.ignoreUnavailable = builder.ignoreUnavailable; this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); } @@ -83,6 +92,21 @@ public static ResolveIndexRequest of(Functionfalse, the request returns an error if any wildcard + * expression, index alias, or _all value targets only missing or + * closed indices. This behavior applies even if the request targets other open + * indices. For example, a request targeting foo*,bar* returns an + * error if an index starts with foo but no index starts with + * bar. + *

+ * API name: {@code allow_no_indices} + */ + @Nullable + public final Boolean allowNoIndices() { + return this.allowNoIndices; + } + /** * Type of index that wildcard patterns can match. If the request can target * data streams, this argument determines whether wildcard expressions match @@ -97,6 +121,17 @@ public final List expandWildcards() { return this.expandWildcards; } + /** + * If false, the request returns an error if it targets a missing + * or closed index. + *

+ * API name: {@code ignore_unavailable} + */ + @Nullable + public final Boolean ignoreUnavailable() { + return this.ignoreUnavailable; + } + /** * Required - Comma-separated name(s) or index pattern(s) of the indices, * aliases, and data streams to resolve. Resources on remote clusters can be @@ -118,11 +153,32 @@ public final List name() { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Boolean allowNoIndices; + @Nullable private List expandWildcards; + @Nullable + private Boolean ignoreUnavailable; + private List name; + /** + * If false, the request returns an error if any wildcard + * expression, index alias, or _all value targets only missing or + * closed indices. This behavior applies even if the request targets other open + * indices. For example, a request targeting foo*,bar* returns an + * error if an index starts with foo but no index starts with + * bar. + *

+ * API name: {@code allow_no_indices} + */ + public final Builder allowNoIndices(@Nullable Boolean value) { + this.allowNoIndices = value; + return this; + } + /** * Type of index that wildcard patterns can match. If the request can target * data streams, this argument determines whether wildcard expressions match @@ -157,6 +213,17 @@ public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... val return this; } + /** + * If false, the request returns an error if it targets a missing + * or closed index. + *

+ * API name: {@code ignore_unavailable} + */ + public final Builder ignoreUnavailable(@Nullable Boolean value) { + this.ignoreUnavailable = value; + return this; + } + /** * Required - Comma-separated name(s) or index pattern(s) of the indices, * aliases, and data streams to resolve. Resources on remote clusters can be @@ -261,6 +328,12 @@ public ResolveIndexRequest build() { params.put("expand_wildcards", request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); } + if (request.ignoreUnavailable != null) { + params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); + } + if (request.allowNoIndices != null) { + params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); + } return params; }, SimpleEndpoint.emptyMap(), false, ResolveIndexResponse._DESERIALIZER); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DotExpanderProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DotExpanderProcessor.java index 8768dba42..05ba4dcef 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DotExpanderProcessor.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DotExpanderProcessor.java @@ -27,6 +27,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.Objects; import java.util.function.Function; @@ -59,6 +60,9 @@ public class DotExpanderProcessor extends ProcessorBase implements ProcessorVariant { private final String field; + @Nullable + private final Boolean override; + @Nullable private final String path; @@ -68,6 +72,7 @@ private DotExpanderProcessor(Builder builder) { super(builder); this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.override = builder.override; this.path = builder.path; } @@ -94,6 +99,20 @@ public final String field() { return this.field; } + /** + * Controls the behavior when there is already an existing nested object that + * conflicts with the expanded field. When false, the processor + * will merge conflicts by combining the old and the new values into an array. + * When true, the value from the expanded field will overwrite the + * existing value. + *

+ * API name: {@code override} + */ + @Nullable + public final Boolean override() { + return this.override; + } + /** * The field that contains the field to expand. Only required if the field to * expand is part another object field, because the field option @@ -112,6 +131,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("field"); generator.write(this.field); + if (this.override != null) { + generator.writeKey("override"); + generator.write(this.override); + + } if (this.path != null) { generator.writeKey("path"); generator.write(this.path); @@ -131,6 +155,9 @@ public static class Builder extends ProcessorBase.AbstractBuilder ObjectBuilder { private String field; + @Nullable + private Boolean override; + @Nullable private String path; @@ -145,6 +172,20 @@ public final Builder field(String value) { return this; } + /** + * Controls the behavior when there is already an existing nested object that + * conflicts with the expanded field. When false, the processor + * will merge conflicts by combining the old and the new values into an array. + * When true, the value from the expanded field will overwrite the + * existing value. + *

+ * API name: {@code override} + */ + public final Builder override(@Nullable Boolean value) { + this.override = value; + return this; + } + /** * The field that contains the field to expand. Only required if the field to * expand is part another object field, because the field option @@ -186,6 +227,7 @@ public DotExpanderProcessor build() { protected static void setupDotExpanderProcessorDeserializer(ObjectDeserializer op) { ProcessorBase.setupProcessorBaseDeserializer(op); op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::override, JsonpDeserializer.booleanDeserializer(), "override"); op.add(Builder::path, JsonpDeserializer.stringDeserializer(), "path"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java index a5aeaa8e7..4aa683ffe 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java @@ -232,17 +232,4 @@ public final CompletableFuture simulate( return simulate(fn.apply(new SimulateRequest.Builder()).build()); } - /** - * Executes an ingest pipeline against a set of provided documents. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture simulate() { - return this.transport.performRequestAsync(new SimulateRequest.Builder().build(), SimulateRequest._ENDPOINT, - this.transportOptions); - } - } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java index b18f9d55f..b11034562 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java @@ -236,17 +236,4 @@ public final SimulateResponse simulate(FunctionDocumentation - * on elastic.co - */ - - public SimulateResponse simulate() throws IOException, ElasticsearchException { - return this.transport.performRequest(new SimulateRequest.Builder().build(), SimulateRequest._ENDPOINT, - this.transportOptions); - } - } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridProcessor.java new file mode 100644 index 000000000..594eb2339 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridProcessor.java @@ -0,0 +1,421 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.GeoGridProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class GeoGridProcessor extends ProcessorBase implements ProcessorVariant { + private final String field; + + private final GeoGridTileType tileType; + + @Nullable + private final String targetField; + + @Nullable + private final String parentField; + + @Nullable + private final String childrenField; + + @Nullable + private final String nonChildrenField; + + @Nullable + private final String precisionField; + + @Nullable + private final Boolean ignoreMissing; + + @Nullable + private final GeoGridTargetFormat targetFormat; + + // --------------------------------------------------------------------------------------------- + + private GeoGridProcessor(Builder builder) { + super(builder); + + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.tileType = ApiTypeHelper.requireNonNull(builder.tileType, this, "tileType"); + this.targetField = builder.targetField; + this.parentField = builder.parentField; + this.childrenField = builder.childrenField; + this.nonChildrenField = builder.nonChildrenField; + this.precisionField = builder.precisionField; + this.ignoreMissing = builder.ignoreMissing; + this.targetFormat = builder.targetFormat; + + } + + public static GeoGridProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.GeoGrid; + } + + /** + * Required - The field to interpret as a geo-tile.= The field format is + * determined by the tile_type. + *

+ * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * Required - Three tile formats are understood: geohash, geotile and geohex. + *

+ * API name: {@code tile_type} + */ + public final GeoGridTileType tileType() { + return this.tileType; + } + + /** + * The field to assign the polygon shape to, by default, the field + * is updated in-place. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * If specified and a parent tile exists, save that tile address to this field. + *

+ * API name: {@code parent_field} + */ + @Nullable + public final String parentField() { + return this.parentField; + } + + /** + * If specified and children tiles exist, save those tile addresses to this + * field as an array of strings. + *

+ * API name: {@code children_field} + */ + @Nullable + public final String childrenField() { + return this.childrenField; + } + + /** + * If specified and intersecting non-child tiles exist, save their addresses to + * this field as an array of strings. + *

+ * API name: {@code non_children_field} + */ + @Nullable + public final String nonChildrenField() { + return this.nonChildrenField; + } + + /** + * If specified, save the tile precision (zoom) as an integer to this field. + *

+ * API name: {@code precision_field} + */ + @Nullable + public final String precisionField() { + return this.precisionField; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + /** + * Which format to save the generated polygon in. + *

+ * API name: {@code target_format} + */ + @Nullable + public final GeoGridTargetFormat targetFormat() { + return this.targetFormat; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("field"); + generator.write(this.field); + + generator.writeKey("tile_type"); + this.tileType.serialize(generator, mapper); + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (this.parentField != null) { + generator.writeKey("parent_field"); + generator.write(this.parentField); + + } + if (this.childrenField != null) { + generator.writeKey("children_field"); + generator.write(this.childrenField); + + } + if (this.nonChildrenField != null) { + generator.writeKey("non_children_field"); + generator.write(this.nonChildrenField); + + } + if (this.precisionField != null) { + generator.writeKey("precision_field"); + generator.write(this.precisionField); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + if (this.targetFormat != null) { + generator.writeKey("target_format"); + this.targetFormat.serialize(generator, mapper); + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link GeoGridProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private String field; + + private GeoGridTileType tileType; + + @Nullable + private String targetField; + + @Nullable + private String parentField; + + @Nullable + private String childrenField; + + @Nullable + private String nonChildrenField; + + @Nullable + private String precisionField; + + @Nullable + private Boolean ignoreMissing; + + @Nullable + private GeoGridTargetFormat targetFormat; + + /** + * Required - The field to interpret as a geo-tile.= The field format is + * determined by the tile_type. + *

+ * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * Required - Three tile formats are understood: geohash, geotile and geohex. + *

+ * API name: {@code tile_type} + */ + public final Builder tileType(GeoGridTileType value) { + this.tileType = value; + return this; + } + + /** + * The field to assign the polygon shape to, by default, the field + * is updated in-place. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * If specified and a parent tile exists, save that tile address to this field. + *

+ * API name: {@code parent_field} + */ + public final Builder parentField(@Nullable String value) { + this.parentField = value; + return this; + } + + /** + * If specified and children tiles exist, save those tile addresses to this + * field as an array of strings. + *

+ * API name: {@code children_field} + */ + public final Builder childrenField(@Nullable String value) { + this.childrenField = value; + return this; + } + + /** + * If specified and intersecting non-child tiles exist, save their addresses to + * this field as an array of strings. + *

+ * API name: {@code non_children_field} + */ + public final Builder nonChildrenField(@Nullable String value) { + this.nonChildrenField = value; + return this; + } + + /** + * If specified, save the tile precision (zoom) as an integer to this field. + *

+ * API name: {@code precision_field} + */ + public final Builder precisionField(@Nullable String value) { + this.precisionField = value; + return this; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + /** + * Which format to save the generated polygon in. + *

+ * API name: {@code target_format} + */ + public final Builder targetFormat(@Nullable GeoGridTargetFormat value) { + this.targetFormat = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link GeoGridProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public GeoGridProcessor build() { + _checkSingleUse(); + + return new GeoGridProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link GeoGridProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + GeoGridProcessor::setupGeoGridProcessorDeserializer); + + protected static void setupGeoGridProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::tileType, GeoGridTileType._DESERIALIZER, "tile_type"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::parentField, JsonpDeserializer.stringDeserializer(), "parent_field"); + op.add(Builder::childrenField, JsonpDeserializer.stringDeserializer(), "children_field"); + op.add(Builder::nonChildrenField, JsonpDeserializer.stringDeserializer(), "non_children_field"); + op.add(Builder::precisionField, JsonpDeserializer.stringDeserializer(), "precision_field"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + op.add(Builder::targetFormat, GeoGridTargetFormat._DESERIALIZER, "target_format"); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTargetFormat.java similarity index 66% rename from java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankVariant.java rename to java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTargetFormat.java index 296815a42..1ef6b3825 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankVariant.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTargetFormat.java @@ -17,7 +17,11 @@ * under the License. */ -package co.elastic.clients.elasticsearch._types; +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -35,14 +39,29 @@ //---------------------------------------------------------------- /** - * Base interface for {@link Rank} variants. + * + * @see API + * specification */ -public interface RankVariant { +@JsonpDeserializable +public enum GeoGridTargetFormat implements JsonEnum { + Geojson("geojson"), + + Wkt("wkt"), - Rank.Kind _rankKind(); + ; + + private final String jsonValue; + + GeoGridTargetFormat(String jsonValue) { + this.jsonValue = jsonValue; + } - default Rank _toRank() { - return new Rank(this); + public String jsonValue() { + return this.jsonValue; } + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + GeoGridTargetFormat.values()); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTileType.java similarity index 66% rename from java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankBuilders.java rename to java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTileType.java index 6e2200c4b..3bbc52e7f 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RankBuilders.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTileType.java @@ -17,10 +17,11 @@ * under the License. */ -package co.elastic.clients.elasticsearch._types; +package co.elastic.clients.elasticsearch.ingest; -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -38,26 +39,30 @@ //---------------------------------------------------------------- /** - * Builders for {@link Rank} variants. + * + * @see API + * specification */ -public class RankBuilders { - private RankBuilders() { - } +@JsonpDeserializable +public enum GeoGridTileType implements JsonEnum { + Geotile("geotile"), + + Geohex("geohex"), + + Geohash("geohash"), + + ; + + private final String jsonValue; - /** - * Creates a builder for the {@link RrfRank rrf} {@code Rank} variant. - */ - public static RrfRank.Builder rrf() { - return new RrfRank.Builder(); + GeoGridTileType(String jsonValue) { + this.jsonValue = jsonValue; } - /** - * Creates a Rank of the {@link RrfRank rrf} {@code Rank} variant. - */ - public static Rank rrf(Function> fn) { - Rank.Builder builder = new Rank.Builder(); - builder.rrf(fn.apply(new RrfRank.Builder()).build()); - return builder.build(); + public String jsonValue() { + return this.jsonValue; } + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + GeoGridTileType.values()); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpProcessor.java index 3051a3ca6..13a0134f9 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpProcessor.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpProcessor.java @@ -74,6 +74,9 @@ public class GeoIpProcessor extends ProcessorBase implements ProcessorVariant { @Nullable private final String targetField; + @Nullable + private final Boolean downloadDatabaseOnPipelineCreation; + // --------------------------------------------------------------------------------------------- private GeoIpProcessor(Builder builder) { @@ -85,6 +88,7 @@ private GeoIpProcessor(Builder builder) { this.ignoreMissing = builder.ignoreMissing; this.properties = ApiTypeHelper.unmodifiable(builder.properties); this.targetField = builder.targetField; + this.downloadDatabaseOnPipelineCreation = builder.downloadDatabaseOnPipelineCreation; } @@ -164,6 +168,20 @@ public final String targetField() { return this.targetField; } + /** + * If true (and if + * ingest.geoip.downloader.eager.download is false), + * the missing database is downloaded when the pipeline is created. Else, the + * download is triggered by when the pipeline is used as the + * default_pipeline or final_pipeline in an index. + *

+ * API name: {@code download_database_on_pipeline_creation} + */ + @Nullable + public final Boolean downloadDatabaseOnPipelineCreation() { + return this.downloadDatabaseOnPipelineCreation; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { super.serializeInternal(generator, mapper); @@ -200,6 +218,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.targetField); } + if (this.downloadDatabaseOnPipelineCreation != null) { + generator.writeKey("download_database_on_pipeline_creation"); + generator.write(this.downloadDatabaseOnPipelineCreation); + + } } @@ -229,6 +252,9 @@ public static class Builder extends ProcessorBase.AbstractBuilder @Nullable private String targetField; + @Nullable + private Boolean downloadDatabaseOnPipelineCreation; + /** * The database filename referring to a database the module ships with * (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom @@ -310,6 +336,20 @@ public final Builder targetField(@Nullable String value) { return this; } + /** + * If true (and if + * ingest.geoip.downloader.eager.download is false), + * the missing database is downloaded when the pipeline is created. Else, the + * download is triggered by when the pipeline is used as the + * default_pipeline or final_pipeline in an index. + *

+ * API name: {@code download_database_on_pipeline_creation} + */ + public final Builder downloadDatabaseOnPipelineCreation(@Nullable Boolean value) { + this.downloadDatabaseOnPipelineCreation = value; + return this; + } + @Override protected Builder self() { return this; @@ -345,6 +385,8 @@ protected static void setupGeoIpProcessorDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class HtmlStripProcessor extends ProcessorBase implements ProcessorVariant { + private final String field; + + @Nullable + private final Boolean ignoreMissing; + + @Nullable + private final String targetField; + + // --------------------------------------------------------------------------------------------- + + private HtmlStripProcessor(Builder builder) { + super(builder); + + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.ignoreMissing = builder.ignoreMissing; + this.targetField = builder.targetField; + + } + + public static HtmlStripProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.HtmlStrip; + } + + /** + * Required - The string-valued field to remove HTML tags from. + *

+ * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * If true and field does not exist or is + * null, the processor quietly exits without modifying the + * document, + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + /** + * The field to assign the converted value to By default, the field + * is updated in-place. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("field"); + generator.write(this.field); + + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link HtmlStripProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private String field; + + @Nullable + private Boolean ignoreMissing; + + @Nullable + private String targetField; + + /** + * Required - The string-valued field to remove HTML tags from. + *

+ * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * If true and field does not exist or is + * null, the processor quietly exits without modifying the + * document, + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + /** + * The field to assign the converted value to By default, the field + * is updated in-place. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link HtmlStripProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public HtmlStripProcessor build() { + _checkSingleUse(); + + return new HtmlStripProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link HtmlStripProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, HtmlStripProcessor::setupHtmlStripProcessorDeserializer); + + protected static void setupHtmlStripProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java index 4b79d2767..3122f6f6b 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java @@ -31,6 +31,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.Long; import java.lang.String; import java.util.List; @@ -73,6 +74,9 @@ public class Pipeline implements JsonpSerializable { @Nullable private final Long version; + @Nullable + private final Boolean deprecated; + private final Map meta; // --------------------------------------------------------------------------------------------- @@ -83,6 +87,7 @@ private Pipeline(Builder builder) { this.onFailure = ApiTypeHelper.unmodifiable(builder.onFailure); this.processors = ApiTypeHelper.unmodifiable(builder.processors); this.version = builder.version; + this.deprecated = builder.deprecated; this.meta = ApiTypeHelper.unmodifiable(builder.meta); } @@ -130,6 +135,18 @@ public final Long version() { return this.version; } + /** + * Marks this ingest pipeline as deprecated. When a deprecated ingest pipeline + * is referenced as the default or final pipeline when creating or updating a + * non-deprecated index template, Elasticsearch will emit a deprecation warning. + *

+ * API name: {@code deprecated} + */ + @Nullable + public final Boolean deprecated() { + return this.deprecated; + } + /** * Arbitrary metadata about the ingest pipeline. This map is not automatically * generated by Elasticsearch. @@ -180,6 +197,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("version"); generator.write(this.version); + } + if (this.deprecated != null) { + generator.writeKey("deprecated"); + generator.write(this.deprecated); + } if (ApiTypeHelper.isDefined(this.meta)) { generator.writeKey("_meta"); @@ -219,6 +241,9 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private Long version; + @Nullable + private Boolean deprecated; + @Nullable private Map meta; @@ -315,6 +340,18 @@ public final Builder version(@Nullable Long value) { return this; } + /** + * Marks this ingest pipeline as deprecated. When a deprecated ingest pipeline + * is referenced as the default or final pipeline when creating or updating a + * non-deprecated index template, Elasticsearch will emit a deprecation warning. + *

+ * API name: {@code deprecated} + */ + public final Builder deprecated(@Nullable Boolean value) { + this.deprecated = value; + return this; + } + /** * Arbitrary metadata about the ingest pipeline. This map is not automatically * generated by Elasticsearch. @@ -373,6 +410,7 @@ protected static void setupPipelineDeserializer(ObjectDeserializer foreach( return this.foreach(fn.apply(new ForeachProcessor.Builder()).build()); } + public ObjectBuilder geoGrid(GeoGridProcessor v) { + this._kind = Kind.GeoGrid; + this._value = v; + return this; + } + + public ObjectBuilder geoGrid( + Function> fn) { + return this.geoGrid(fn.apply(new GeoGridProcessor.Builder()).build()); + } + public ObjectBuilder geoip(GeoIpProcessor v) { this._kind = Kind.Geoip; this._value = v; @@ -1025,6 +1112,17 @@ public ObjectBuilder gsub(Function htmlStrip(HtmlStripProcessor v) { + this._kind = Kind.HtmlStrip; + this._value = v; + return this; + } + + public ObjectBuilder htmlStrip( + Function> fn) { + return this.htmlStrip(fn.apply(new HtmlStripProcessor.Builder()).build()); + } + public ObjectBuilder inference(InferenceProcessor v) { this._kind = Kind.Inference; this._value = v; @@ -1088,6 +1186,16 @@ public ObjectBuilder pipeline( return this.pipeline(fn.apply(new PipelineProcessor.Builder()).build()); } + public ObjectBuilder redact(RedactProcessor v) { + this._kind = Kind.Redact; + this._value = v; + return this; + } + + public ObjectBuilder redact(Function> fn) { + return this.redact(fn.apply(new RedactProcessor.Builder()).build()); + } + public ObjectBuilder remove(RemoveProcessor v) { this._kind = Kind.Remove; this._value = v; @@ -1202,6 +1310,17 @@ public ObjectBuilder urldecode( return this.urldecode(fn.apply(new UrlDecodeProcessor.Builder()).build()); } + public ObjectBuilder uriParts(UriPartsProcessor v) { + this._kind = Kind.UriParts; + this._value = v; + return this; + } + + public ObjectBuilder uriParts( + Function> fn) { + return this.uriParts(fn.apply(new UriPartsProcessor.Builder()).build()); + } + public ObjectBuilder userAgent(UserAgentProcessor v) { this._kind = Kind.UserAgent; this._value = v; @@ -1252,15 +1371,18 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::enrich, EnrichProcessor._DESERIALIZER, "enrich"); op.add(Builder::fail, FailProcessor._DESERIALIZER, "fail"); op.add(Builder::foreach, ForeachProcessor._DESERIALIZER, "foreach"); + op.add(Builder::geoGrid, GeoGridProcessor._DESERIALIZER, "geo_grid"); op.add(Builder::geoip, GeoIpProcessor._DESERIALIZER, "geoip"); op.add(Builder::grok, GrokProcessor._DESERIALIZER, "grok"); op.add(Builder::gsub, GsubProcessor._DESERIALIZER, "gsub"); + op.add(Builder::htmlStrip, HtmlStripProcessor._DESERIALIZER, "html_strip"); op.add(Builder::inference, InferenceProcessor._DESERIALIZER, "inference"); op.add(Builder::join, JoinProcessor._DESERIALIZER, "join"); op.add(Builder::json, JsonProcessor._DESERIALIZER, "json"); op.add(Builder::kv, KeyValueProcessor._DESERIALIZER, "kv"); op.add(Builder::lowercase, LowercaseProcessor._DESERIALIZER, "lowercase"); op.add(Builder::pipeline, PipelineProcessor._DESERIALIZER, "pipeline"); + op.add(Builder::redact, RedactProcessor._DESERIALIZER, "redact"); op.add(Builder::remove, RemoveProcessor._DESERIALIZER, "remove"); op.add(Builder::rename, RenameProcessor._DESERIALIZER, "rename"); op.add(Builder::reroute, RerouteProcessor._DESERIALIZER, "reroute"); @@ -1272,6 +1394,7 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::trim, TrimProcessor._DESERIALIZER, "trim"); op.add(Builder::uppercase, UppercaseProcessor._DESERIALIZER, "uppercase"); op.add(Builder::urldecode, UrlDecodeProcessor._DESERIALIZER, "urldecode"); + op.add(Builder::uriParts, UriPartsProcessor._DESERIALIZER, "uri_parts"); op.add(Builder::userAgent, UserAgentProcessor._DESERIALIZER, "user_agent"); op.setUnknownFieldHandler((builder, name, parser, mapper) -> { diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java index 1c13f6724..efcb19263 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java @@ -297,6 +297,24 @@ public static Processor foreach(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.geoGrid(fn.apply(new GeoGridProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link GeoIpProcessor geoip} {@code Processor} * variant. @@ -351,6 +369,24 @@ public static Processor gsub(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.htmlStrip(fn.apply(new HtmlStripProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link InferenceProcessor inference} * {@code Processor} variant. @@ -459,6 +495,24 @@ public static Processor pipeline(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.redact(fn.apply(new RedactProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link RemoveProcessor remove} {@code Processor} * variant. @@ -657,6 +711,24 @@ public static Processor urldecode(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.uriParts(fn.apply(new UriPartsProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link UserAgentProcessor user_agent} * {@code Processor} variant. diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java index 4bace4a41..fc71a6ce2 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java @@ -34,6 +34,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.Long; import java.lang.String; import java.util.HashMap; @@ -71,6 +72,9 @@ public class PutPipelineRequest extends RequestBase implements JsonpSerializable { private final Map meta; + @Nullable + private final Boolean deprecated; + @Nullable private final String description; @@ -97,6 +101,7 @@ public class PutPipelineRequest extends RequestBase implements JsonpSerializable private PutPipelineRequest(Builder builder) { this.meta = ApiTypeHelper.unmodifiable(builder.meta); + this.deprecated = builder.deprecated; this.description = builder.description; this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); this.ifVersion = builder.ifVersion; @@ -122,6 +127,18 @@ public final Map meta() { return this.meta; } + /** + * Marks this ingest pipeline as deprecated. When a deprecated ingest pipeline + * is referenced as the default or final pipeline when creating or updating a + * non-deprecated index template, Elasticsearch will emit a deprecation warning. + *

+ * API name: {@code deprecated} + */ + @Nullable + public final Boolean deprecated() { + return this.deprecated; + } + /** * Description of the ingest pipeline. *

@@ -230,6 +247,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (this.deprecated != null) { + generator.writeKey("deprecated"); + generator.write(this.deprecated); + } if (this.description != null) { generator.writeKey("description"); @@ -276,6 +298,9 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private Map meta; + @Nullable + private Boolean deprecated; + @Nullable private String description; @@ -325,6 +350,18 @@ public final Builder meta(String key, JsonData value) { return this; } + /** + * Marks this ingest pipeline as deprecated. When a deprecated ingest pipeline + * is referenced as the default or final pipeline when creating or updating a + * non-deprecated index template, Elasticsearch will emit a deprecation warning. + *

+ * API name: {@code deprecated} + */ + public final Builder deprecated(@Nullable Boolean value) { + this.deprecated = value; + return this; + } + /** * Description of the ingest pipeline. *

@@ -526,6 +563,7 @@ public PutPipelineRequest build() { protected static void setupPutPipelineRequestDeserializer(ObjectDeserializer op) { op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); + op.add(Builder::deprecated, JsonpDeserializer.booleanDeserializer(), "deprecated"); op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); op.add(Builder::onFailure, JsonpDeserializer.arrayDeserializer(Processor._DESERIALIZER), "on_failure"); op.add(Builder::processors, JsonpDeserializer.arrayDeserializer(Processor._DESERIALIZER), "processors"); diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java new file mode 100644 index 000000000..21a0fb763 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java @@ -0,0 +1,390 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.RedactProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RedactProcessor extends ProcessorBase implements ProcessorVariant { + private final String field; + + private final List patterns; + + private final Map patternDefinitions; + + @Nullable + private final String prefix; + + @Nullable + private final String suffix; + + @Nullable + private final Boolean ignoreMissing; + + @Nullable + private final Boolean skipIfUnlicensed; + + // --------------------------------------------------------------------------------------------- + + private RedactProcessor(Builder builder) { + super(builder); + + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.patterns = ApiTypeHelper.unmodifiableRequired(builder.patterns, this, "patterns"); + this.patternDefinitions = ApiTypeHelper.unmodifiable(builder.patternDefinitions); + this.prefix = builder.prefix; + this.suffix = builder.suffix; + this.ignoreMissing = builder.ignoreMissing; + this.skipIfUnlicensed = builder.skipIfUnlicensed; + + } + + public static RedactProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.Redact; + } + + /** + * Required - The field to be redacted + *

+ * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * Required - A list of grok expressions to match and redact named captures with + *

+ * API name: {@code patterns} + */ + public final List patterns() { + return this.patterns; + } + + /** + * API name: {@code pattern_definitions} + */ + public final Map patternDefinitions() { + return this.patternDefinitions; + } + + /** + * Start a redacted section with this token + *

+ * API name: {@code prefix} + */ + @Nullable + public final String prefix() { + return this.prefix; + } + + /** + * End a redacted section with this token + *

+ * API name: {@code suffix} + */ + @Nullable + public final String suffix() { + return this.suffix; + } + + /** + * If true and field does not exist or is + * null, the processor quietly exits without modifying the + * document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + /** + * If true and the current license does not support running redact + * processors, then the processor quietly exits without modifying the document + *

+ * API name: {@code skip_if_unlicensed} + */ + @Nullable + public final Boolean skipIfUnlicensed() { + return this.skipIfUnlicensed; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("field"); + generator.write(this.field); + + if (ApiTypeHelper.isDefined(this.patterns)) { + generator.writeKey("patterns"); + generator.writeStartArray(); + for (String item0 : this.patterns) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.patternDefinitions)) { + generator.writeKey("pattern_definitions"); + generator.writeStartObject(); + for (Map.Entry item0 : this.patternDefinitions.entrySet()) { + generator.writeKey(item0.getKey()); + generator.write(item0.getValue()); + + } + generator.writeEnd(); + + } + if (this.prefix != null) { + generator.writeKey("prefix"); + generator.write(this.prefix); + + } + if (this.suffix != null) { + generator.writeKey("suffix"); + generator.write(this.suffix); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + if (this.skipIfUnlicensed != null) { + generator.writeKey("skip_if_unlicensed"); + generator.write(this.skipIfUnlicensed); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RedactProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private String field; + + private List patterns; + + @Nullable + private Map patternDefinitions; + + @Nullable + private String prefix; + + @Nullable + private String suffix; + + @Nullable + private Boolean ignoreMissing; + + @Nullable + private Boolean skipIfUnlicensed; + + /** + * Required - The field to be redacted + *

+ * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * Required - A list of grok expressions to match and redact named captures with + *

+ * API name: {@code patterns} + *

+ * Adds all elements of list to patterns. + */ + public final Builder patterns(List list) { + this.patterns = _listAddAll(this.patterns, list); + return this; + } + + /** + * Required - A list of grok expressions to match and redact named captures with + *

+ * API name: {@code patterns} + *

+ * Adds one or more values to patterns. + */ + public final Builder patterns(String value, String... values) { + this.patterns = _listAdd(this.patterns, value, values); + return this; + } + + /** + * API name: {@code pattern_definitions} + *

+ * Adds all entries of map to patternDefinitions. + */ + public final Builder patternDefinitions(Map map) { + this.patternDefinitions = _mapPutAll(this.patternDefinitions, map); + return this; + } + + /** + * API name: {@code pattern_definitions} + *

+ * Adds an entry to patternDefinitions. + */ + public final Builder patternDefinitions(String key, String value) { + this.patternDefinitions = _mapPut(this.patternDefinitions, key, value); + return this; + } + + /** + * Start a redacted section with this token + *

+ * API name: {@code prefix} + */ + public final Builder prefix(@Nullable String value) { + this.prefix = value; + return this; + } + + /** + * End a redacted section with this token + *

+ * API name: {@code suffix} + */ + public final Builder suffix(@Nullable String value) { + this.suffix = value; + return this; + } + + /** + * If true and field does not exist or is + * null, the processor quietly exits without modifying the + * document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + /** + * If true and the current license does not support running redact + * processors, then the processor quietly exits without modifying the document + *

+ * API name: {@code skip_if_unlicensed} + */ + public final Builder skipIfUnlicensed(@Nullable Boolean value) { + this.skipIfUnlicensed = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RedactProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RedactProcessor build() { + _checkSingleUse(); + + return new RedactProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RedactProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + RedactProcessor::setupRedactProcessorDeserializer); + + protected static void setupRedactProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::patterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "patterns"); + op.add(Builder::patternDefinitions, + JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.stringDeserializer()), "pattern_definitions"); + op.add(Builder::prefix, JsonpDeserializer.stringDeserializer(), "prefix"); + op.add(Builder::suffix, JsonpDeserializer.stringDeserializer(), "suffix"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + op.add(Builder::skipIfUnlicensed, JsonpDeserializer.booleanDeserializer(), "skip_if_unlicensed"); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java index 6ee2e9b3b..e38ed19e9 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java @@ -82,7 +82,7 @@ public class SimulateRequest extends RequestBase implements JsonpSerializable { private SimulateRequest(Builder builder) { - this.docs = ApiTypeHelper.unmodifiable(builder.docs); + this.docs = ApiTypeHelper.unmodifiableRequired(builder.docs, this, "docs"); this.id = builder.id; this.pipeline = builder.pipeline; this.verbose = builder.verbose; @@ -94,7 +94,7 @@ public static SimulateRequest of(Function * API name: {@code docs} */ @@ -172,7 +172,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { */ public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable private List docs; @Nullable @@ -185,7 +184,7 @@ public static class Builder extends RequestBase.AbstractBuilder impleme private Boolean verbose; /** - * Sample documents to test in the pipeline. + * Required - Sample documents to test in the pipeline. *

* API name: {@code docs} *

@@ -197,7 +196,7 @@ public final Builder docs(List list) { } /** - * Sample documents to test in the pipeline. + * Required - Sample documents to test in the pipeline. *

* API name: {@code docs} *

@@ -209,7 +208,7 @@ public final Builder docs(Document value, Document... values) { } /** - * Sample documents to test in the pipeline. + * Required - Sample documents to test in the pipeline. *

* API name: {@code docs} *

diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateResponse.java index 1f55ab6dd..de711b3ec 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateResponse.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateResponse.java @@ -19,7 +19,7 @@ package co.elastic.clients.elasticsearch.ingest; -import co.elastic.clients.elasticsearch.ingest.simulate.PipelineSimulation; +import co.elastic.clients.elasticsearch.ingest.simulate.SimulateDocumentResult; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -60,7 +60,7 @@ */ @JsonpDeserializable public class SimulateResponse implements JsonpSerializable { - private final List docs; + private final List docs; // --------------------------------------------------------------------------------------------- @@ -77,7 +77,7 @@ public static SimulateResponse of(Function docs() { + public final List docs() { return this.docs; } @@ -95,7 +95,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.docs)) { generator.writeKey("docs"); generator.writeStartArray(); - for (PipelineSimulation item0 : this.docs) { + for (SimulateDocumentResult item0 : this.docs) { item0.serialize(generator, mapper); } @@ -117,14 +117,14 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List docs; + private List docs; /** * Required - API name: {@code docs} *

* Adds all elements of list to docs. */ - public final Builder docs(List list) { + public final Builder docs(List list) { this.docs = _listAddAll(this.docs, list); return this; } @@ -134,7 +134,7 @@ public final Builder docs(List list) { *

* Adds one or more values to docs. */ - public final Builder docs(PipelineSimulation value, PipelineSimulation... values) { + public final Builder docs(SimulateDocumentResult value, SimulateDocumentResult... values) { this.docs = _listAdd(this.docs, value, values); return this; } @@ -144,8 +144,8 @@ public final Builder docs(PipelineSimulation value, PipelineSimulation... values *

* Adds a value to docs using a builder lambda. */ - public final Builder docs(Function> fn) { - return docs(fn.apply(new PipelineSimulation.Builder()).build()); + public final Builder docs(Function> fn) { + return docs(fn.apply(new SimulateDocumentResult.Builder()).build()); } @Override @@ -176,7 +176,7 @@ public SimulateResponse build() { protected static void setupSimulateResponseDeserializer(ObjectDeserializer op) { - op.add(Builder::docs, JsonpDeserializer.arrayDeserializer(PipelineSimulation._DESERIALIZER), "docs"); + op.add(Builder::docs, JsonpDeserializer.arrayDeserializer(SimulateDocumentResult._DESERIALIZER), "docs"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UriPartsProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UriPartsProcessor.java new file mode 100644 index 000000000..d9c01d76a --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UriPartsProcessor.java @@ -0,0 +1,294 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.UriPartsProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class UriPartsProcessor extends ProcessorBase implements ProcessorVariant { + private final String field; + + @Nullable + private final Boolean ignoreMissing; + + @Nullable + private final Boolean keepOriginal; + + @Nullable + private final Boolean removeIfSuccessful; + + @Nullable + private final String targetField; + + // --------------------------------------------------------------------------------------------- + + private UriPartsProcessor(Builder builder) { + super(builder); + + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.ignoreMissing = builder.ignoreMissing; + this.keepOriginal = builder.keepOriginal; + this.removeIfSuccessful = builder.removeIfSuccessful; + this.targetField = builder.targetField; + + } + + public static UriPartsProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.UriParts; + } + + /** + * Required - Field containing the URI string. + *

+ * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + /** + * If true, the processor copies the unparsed URI to + * <target_field>.original. + *

+ * API name: {@code keep_original} + */ + @Nullable + public final Boolean keepOriginal() { + return this.keepOriginal; + } + + /** + * If true, the processor removes the field after + * parsing the URI string. If parsing fails, the processor does not remove the + * field. + *

+ * API name: {@code remove_if_successful} + */ + @Nullable + public final Boolean removeIfSuccessful() { + return this.removeIfSuccessful; + } + + /** + * Output field for the URI object. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("field"); + generator.write(this.field); + + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + if (this.keepOriginal != null) { + generator.writeKey("keep_original"); + generator.write(this.keepOriginal); + + } + if (this.removeIfSuccessful != null) { + generator.writeKey("remove_if_successful"); + generator.write(this.removeIfSuccessful); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link UriPartsProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private String field; + + @Nullable + private Boolean ignoreMissing; + + @Nullable + private Boolean keepOriginal; + + @Nullable + private Boolean removeIfSuccessful; + + @Nullable + private String targetField; + + /** + * Required - Field containing the URI string. + *

+ * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + /** + * If true, the processor copies the unparsed URI to + * <target_field>.original. + *

+ * API name: {@code keep_original} + */ + public final Builder keepOriginal(@Nullable Boolean value) { + this.keepOriginal = value; + return this; + } + + /** + * If true, the processor removes the field after + * parsing the URI string. If parsing fails, the processor does not remove the + * field. + *

+ * API name: {@code remove_if_successful} + */ + public final Builder removeIfSuccessful(@Nullable Boolean value) { + this.removeIfSuccessful = value; + return this; + } + + /** + * Output field for the URI object. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link UriPartsProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public UriPartsProcessor build() { + _checkSingleUse(); + + return new UriPartsProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link UriPartsProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, UriPartsProcessor::setupUriPartsProcessorDeserializer); + + protected static void setupUriPartsProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + op.add(Builder::keepOriginal, JsonpDeserializer.booleanDeserializer(), "keep_original"); + op.add(Builder::removeIfSuccessful, JsonpDeserializer.booleanDeserializer(), "remove_if_successful"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + + } + +} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProcessor.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProcessor.java index d1ea73a5a..a02eaa72d 100644 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProcessor.java +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProcessor.java @@ -64,14 +64,17 @@ public class UserAgentProcessor extends ProcessorBase implements ProcessorVarian @Nullable private final Boolean ignoreMissing; - private final List options; - @Nullable private final String regexFile; @Nullable private final String targetField; + private final List properties; + + @Nullable + private final Boolean extractDeviceType; + // --------------------------------------------------------------------------------------------- private UserAgentProcessor(Builder builder) { @@ -79,9 +82,10 @@ private UserAgentProcessor(Builder builder) { this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); this.ignoreMissing = builder.ignoreMissing; - this.options = ApiTypeHelper.unmodifiable(builder.options); this.regexFile = builder.regexFile; this.targetField = builder.targetField; + this.properties = ApiTypeHelper.unmodifiable(builder.properties); + this.extractDeviceType = builder.extractDeviceType; } @@ -117,13 +121,6 @@ public final Boolean ignoreMissing() { return this.ignoreMissing; } - /** - * API name: {@code options} - */ - public final List options() { - return this.options; - } - /** * The name of the file in the config/ingest-user-agent directory * containing the regular expressions for parsing the user agent string. Both @@ -148,6 +145,25 @@ public final String targetField() { return this.targetField; } + /** + * Controls what properties are added to target_field. + *

+ * API name: {@code properties} + */ + public final List properties() { + return this.properties; + } + + /** + * Extracts device type from the user agent string on a best-effort basis. + *

+ * API name: {@code extract_device_type} + */ + @Nullable + public final Boolean extractDeviceType() { + return this.extractDeviceType; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { super.serializeInternal(generator, mapper); @@ -158,15 +174,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("ignore_missing"); generator.write(this.ignoreMissing); - } - if (ApiTypeHelper.isDefined(this.options)) { - generator.writeKey("options"); - generator.writeStartArray(); - for (UserAgentProperty item0 : this.options) { - item0.serialize(generator, mapper); - } - generator.writeEnd(); - } if (this.regexFile != null) { generator.writeKey("regex_file"); @@ -178,6 +185,20 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.targetField); } + if (ApiTypeHelper.isDefined(this.properties)) { + generator.writeKey("properties"); + generator.writeStartArray(); + for (UserAgentProperty item0 : this.properties) { + item0.serialize(generator, mapper); + } + generator.writeEnd(); + + } + if (this.extractDeviceType != null) { + generator.writeKey("extract_device_type"); + generator.write(this.extractDeviceType); + + } } @@ -195,15 +216,18 @@ public static class Builder extends ProcessorBase.AbstractBuilder @Nullable private Boolean ignoreMissing; - @Nullable - private List options; - @Nullable private String regexFile; @Nullable private String targetField; + @Nullable + private List properties; + + @Nullable + private Boolean extractDeviceType; + /** * Required - The field containing the user agent string. *

@@ -225,26 +249,6 @@ public final Builder ignoreMissing(@Nullable Boolean value) { return this; } - /** - * API name: {@code options} - *

- * Adds all elements of list to options. - */ - public final Builder options(List list) { - this.options = _listAddAll(this.options, list); - return this; - } - - /** - * API name: {@code options} - *

- * Adds one or more values to options. - */ - public final Builder options(UserAgentProperty value, UserAgentProperty... values) { - this.options = _listAdd(this.options, value, values); - return this; - } - /** * The name of the file in the config/ingest-user-agent directory * containing the regular expressions for parsing the user agent string. Both @@ -269,6 +273,40 @@ public final Builder targetField(@Nullable String value) { return this; } + /** + * Controls what properties are added to target_field. + *

+ * API name: {@code properties} + *

+ * Adds all elements of list to properties. + */ + public final Builder properties(List list) { + this.properties = _listAddAll(this.properties, list); + return this; + } + + /** + * Controls what properties are added to target_field. + *

+ * API name: {@code properties} + *

+ * Adds one or more values to properties. + */ + public final Builder properties(UserAgentProperty value, UserAgentProperty... values) { + this.properties = _listAdd(this.properties, value, values); + return this; + } + + /** + * Extracts device type from the user agent string on a best-effort basis. + *

+ * API name: {@code extract_device_type} + */ + public final Builder extractDeviceType(@Nullable Boolean value) { + this.extractDeviceType = value; + return this; + } + @Override protected Builder self() { return this; @@ -299,9 +337,10 @@ protected static void setupUserAgentProcessorDeserializer(ObjectDeserializer processorResults; - @Nullable private final String tag; @@ -76,15 +73,26 @@ public class PipelineSimulation implements JsonpSerializable { @Nullable private final ActionStatusOptions status; + @Nullable + private final String description; + + @Nullable + private final ErrorCause ignoredError; + + @Nullable + private final ErrorCause error; + // --------------------------------------------------------------------------------------------- private PipelineSimulation(Builder builder) { this.doc = builder.doc; - this.processorResults = ApiTypeHelper.unmodifiable(builder.processorResults); this.tag = builder.tag; this.processorType = builder.processorType; this.status = builder.status; + this.description = builder.description; + this.ignoredError = builder.ignoredError; + this.error = builder.error; } @@ -100,13 +108,6 @@ public final DocumentSimulation doc() { return this.doc; } - /** - * API name: {@code processor_results} - */ - public final List processorResults() { - return this.processorResults; - } - /** * API name: {@code tag} */ @@ -131,6 +132,30 @@ public final ActionStatusOptions status() { return this.status; } + /** + * API name: {@code description} + */ + @Nullable + public final String description() { + return this.description; + } + + /** + * API name: {@code ignored_error} + */ + @Nullable + public final ErrorCause ignoredError() { + return this.ignoredError; + } + + /** + * API name: {@code error} + */ + @Nullable + public final ErrorCause error() { + return this.error; + } + /** * Serialize this object to JSON. */ @@ -146,16 +171,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("doc"); this.doc.serialize(generator, mapper); - } - if (ApiTypeHelper.isDefined(this.processorResults)) { - generator.writeKey("processor_results"); - generator.writeStartArray(); - for (PipelineSimulation item0 : this.processorResults) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - } if (this.tag != null) { generator.writeKey("tag"); @@ -171,6 +186,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("status"); this.status.serialize(generator, mapper); } + if (this.description != null) { + generator.writeKey("description"); + generator.write(this.description); + + } + if (this.ignoredError != null) { + generator.writeKey("ignored_error"); + this.ignoredError.serialize(generator, mapper); + + } + if (this.error != null) { + generator.writeKey("error"); + this.error.serialize(generator, mapper); + + } } @@ -191,9 +221,6 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private DocumentSimulation doc; - @Nullable - private List processorResults; - @Nullable private String tag; @@ -203,6 +230,15 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private ActionStatusOptions status; + @Nullable + private String description; + + @Nullable + private ErrorCause ignoredError; + + @Nullable + private ErrorCause error; + /** * API name: {@code doc} */ @@ -219,59 +255,67 @@ public final Builder doc(Function - * Adds all elements of list to processorResults. + * API name: {@code tag} */ - public final Builder processorResults(List list) { - this.processorResults = _listAddAll(this.processorResults, list); + public final Builder tag(@Nullable String value) { + this.tag = value; return this; } /** - * API name: {@code processor_results} - *

- * Adds one or more values to processorResults. + * API name: {@code processor_type} */ - public final Builder processorResults(PipelineSimulation value, PipelineSimulation... values) { - this.processorResults = _listAdd(this.processorResults, value, values); + public final Builder processorType(@Nullable String value) { + this.processorType = value; return this; } /** - * API name: {@code processor_results} - *

- * Adds a value to processorResults using a builder lambda. + * API name: {@code status} */ - public final Builder processorResults( - Function> fn) { - return processorResults(fn.apply(new PipelineSimulation.Builder()).build()); + public final Builder status(@Nullable ActionStatusOptions value) { + this.status = value; + return this; } /** - * API name: {@code tag} + * API name: {@code description} */ - public final Builder tag(@Nullable String value) { - this.tag = value; + public final Builder description(@Nullable String value) { + this.description = value; return this; } /** - * API name: {@code processor_type} + * API name: {@code ignored_error} */ - public final Builder processorType(@Nullable String value) { - this.processorType = value; + public final Builder ignoredError(@Nullable ErrorCause value) { + this.ignoredError = value; return this; } /** - * API name: {@code status} + * API name: {@code ignored_error} */ - public final Builder status(@Nullable ActionStatusOptions value) { - this.status = value; + public final Builder ignoredError(Function> fn) { + return this.ignoredError(fn.apply(new ErrorCause.Builder()).build()); + } + + /** + * API name: {@code error} + */ + public final Builder error(@Nullable ErrorCause value) { + this.error = value; return this; } + /** + * API name: {@code error} + */ + public final Builder error(Function> fn) { + return this.error(fn.apply(new ErrorCause.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -301,11 +345,12 @@ public PipelineSimulation build() { protected static void setupPipelineSimulationDeserializer(ObjectDeserializer op) { op.add(Builder::doc, DocumentSimulation._DESERIALIZER, "doc"); - op.add(Builder::processorResults, JsonpDeserializer.arrayDeserializer(PipelineSimulation._DESERIALIZER), - "processor_results"); op.add(Builder::tag, JsonpDeserializer.stringDeserializer(), "tag"); op.add(Builder::processorType, JsonpDeserializer.stringDeserializer(), "processor_type"); op.add(Builder::status, ActionStatusOptions._DESERIALIZER, "status"); + op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(Builder::ignoredError, ErrorCause._DESERIALIZER, "ignored_error"); + op.add(Builder::error, ErrorCause._DESERIALIZER, "error"); } diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/SimulateDocumentResult.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/SimulateDocumentResult.java new file mode 100644 index 000000000..cd51807d4 --- /dev/null +++ b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/SimulateDocumentResult.java @@ -0,0 +1,262 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest.simulate; + +import co.elastic.clients.elasticsearch._types.ErrorCause; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest.simulate.SimulateDocumentResult + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class SimulateDocumentResult implements JsonpSerializable { + @Nullable + private final DocumentSimulation doc; + + @Nullable + private final ErrorCause error; + + private final List processorResults; + + // --------------------------------------------------------------------------------------------- + + private SimulateDocumentResult(Builder builder) { + + this.doc = builder.doc; + this.error = builder.error; + this.processorResults = ApiTypeHelper.unmodifiable(builder.processorResults); + + } + + public static SimulateDocumentResult of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code doc} + */ + @Nullable + public final DocumentSimulation doc() { + return this.doc; + } + + /** + * API name: {@code error} + */ + @Nullable + public final ErrorCause error() { + return this.error; + } + + /** + * API name: {@code processor_results} + */ + public final List processorResults() { + return this.processorResults; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.doc != null) { + generator.writeKey("doc"); + this.doc.serialize(generator, mapper); + + } + if (this.error != null) { + generator.writeKey("error"); + this.error.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.processorResults)) { + generator.writeKey("processor_results"); + generator.writeStartArray(); + for (PipelineSimulation item0 : this.processorResults) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link SimulateDocumentResult}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + @Nullable + private DocumentSimulation doc; + + @Nullable + private ErrorCause error; + + @Nullable + private List processorResults; + + /** + * API name: {@code doc} + */ + public final Builder doc(@Nullable DocumentSimulation value) { + this.doc = value; + return this; + } + + /** + * API name: {@code doc} + */ + public final Builder doc(Function> fn) { + return this.doc(fn.apply(new DocumentSimulation.Builder()).build()); + } + + /** + * API name: {@code error} + */ + public final Builder error(@Nullable ErrorCause value) { + this.error = value; + return this; + } + + /** + * API name: {@code error} + */ + public final Builder error(Function> fn) { + return this.error(fn.apply(new ErrorCause.Builder()).build()); + } + + /** + * API name: {@code processor_results} + *

+ * Adds all elements of list to processorResults. + */ + public final Builder processorResults(List list) { + this.processorResults = _listAddAll(this.processorResults, list); + return this; + } + + /** + * API name: {@code processor_results} + *

+ * Adds one or more values to processorResults. + */ + public final Builder processorResults(PipelineSimulation value, PipelineSimulation... values) { + this.processorResults = _listAdd(this.processorResults, value, values); + return this; + } + + /** + * API name: {@code processor_results} + *

+ * Adds a value to processorResults using a builder lambda. + */ + public final Builder processorResults( + Function> fn) { + return processorResults(fn.apply(new PipelineSimulation.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link SimulateDocumentResult}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SimulateDocumentResult build() { + _checkSingleUse(); + + return new SimulateDocumentResult(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link SimulateDocumentResult} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, SimulateDocumentResult::setupSimulateDocumentResultDeserializer); + + protected static void setupSimulateDocumentResultDeserializer( + ObjectDeserializer op) { + + op.add(Builder::doc, DocumentSimulation._DESERIALIZER, "doc"); + op.add(Builder::error, ErrorCause._DESERIALIZER, "error"); + op.add(Builder::processorResults, JsonpDeserializer.arrayDeserializer(PipelineSimulation._DESERIALIZER), + "processor_results"); + + } + +} From 0c143485072095f0c9446d60efe7be70e4116b69 Mon Sep 17 00:00:00 2001 From: Fabrizio Fortino Date: Thu, 12 Sep 2024 17:55:11 +0200 Subject: [PATCH 005/106] fix: bulk ingester might skip listener requests (#867) * fix: bulk ingester might skip lister requests * minor: fix style * always waiting for listener to be done before closing --------- Co-authored-by: Laura Trotta Co-authored-by: Laura Trotta <153528055+l-trotta@users.noreply.github.com> --- .../_helpers/bulk/BulkIngester.java | 40 ++++++++++++++----- .../_helpers/bulk/BulkIngesterTest.java | 32 +++++++++++---- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngester.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngester.java index 5e6b8addc..91d194844 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngester.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngester.java @@ -76,6 +76,7 @@ public class BulkIngester implements AutoCloseable { private final FnCondition addCondition = new FnCondition(lock, this::canAddOperation); private final FnCondition sendRequestCondition = new FnCondition(lock, this::canSendRequest); private final FnCondition closeCondition = new FnCondition(lock, this::closedAndFlushed); + private AtomicInteger listenerInProgressCount = new AtomicInteger(); private static class RequestExecution { public final long id; @@ -235,7 +236,7 @@ private boolean canAddOperation() { } private boolean closedAndFlushed() { - return isClosed && operations.isEmpty() && requestsInFlightCount == 0; + return isClosed && operations.isEmpty() && requestsInFlightCount == 0 && listenerInProgressCount.get() == 0; } //----- Ingester logic @@ -311,25 +312,42 @@ public void flush() { if (exec != null) { // A request was actually sent exec.futureResponse.handle((resp, thr) -> { - - sendRequestCondition.signalIfReadyAfter(() -> { - requestsInFlightCount--; - closeCondition.signalAllIfReady(); - }); - if (resp != null) { // Success if (listener != null) { - scheduler.submit(() -> listener.afterBulk(exec.id, exec.request, - exec.contexts, resp)); + listenerInProgressCount.incrementAndGet(); + scheduler.submit(() -> { + try { + listener.afterBulk(exec.id, exec.request, exec.contexts, resp); + } + finally { + if(listenerInProgressCount.decrementAndGet() == 0){ + closeCondition.signalIfReady(); + } + } + }); } } else { // Failure if (listener != null) { - scheduler.submit(() -> listener.afterBulk(exec.id, exec.request, - exec.contexts, thr)); + listenerInProgressCount.incrementAndGet(); + scheduler.submit(() -> { + try { + listener.afterBulk(exec.id, exec.request, exec.contexts, thr); + } + finally { + if(listenerInProgressCount.decrementAndGet() == 0){ + closeCondition.signalIfReady(); + } + } + }); } } + + sendRequestCondition.signalIfReadyAfter(() -> { + requestsInFlightCount--; + closeCondition.signalAllIfReady(); + }); return null; }); } diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngesterTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngesterTest.java index d6aee8cc5..a76f3f75f 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngesterTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngesterTest.java @@ -90,26 +90,44 @@ private void printStats(TestTransport transport) { @Test public void basicTestFlush() throws Exception { // Prime numbers, so that we have leftovers to flush before shutting down - multiThreadTest(7, 3, 5, 101); + multiThreadTest(7, 3, 5, 101, true); + } + + @Test + public void basicTestFlushWithInternalScheduler() throws Exception { + // Prime numbers, so that we have leftovers to flush before shutting down + multiThreadTest(7, 3, 5, 101, false); } @Test public void basicTestNoFlush() throws Exception { // Will have nothing to flush on close. - multiThreadTest(10, 3, 5, 100); + multiThreadTest(10, 3, 5, 100, true); } - private void multiThreadTest(int maxOperations, int maxRequests, int numThreads, int numOperations) throws Exception { + @Test + public void basicTestNoFlushWithInternalScheduler() throws Exception { + // Will have nothing to flush on close. + multiThreadTest(10, 3, 5, 100, false); + } + + private void multiThreadTest(int maxOperations, int maxRequests, int numThreads, int numOperations, + boolean externalScheduler) throws Exception { CountingListener listener = new CountingListener(); TestTransport transport = new TestTransport(); ElasticsearchAsyncClient client = new ElasticsearchAsyncClient(transport); - ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(r -> { + ScheduledExecutorService scheduler; + if (externalScheduler) { + scheduler = Executors.newSingleThreadScheduledExecutor(r -> { Thread t = Executors.defaultThreadFactory().newThread(r); - t.setName("my-bulk-ingester-executor#" ); + t.setName("my-bulk-ingester-executor#"); t.setDaemon(true); return t; - }); + }); + } else { + scheduler = null; + } BulkIngester ingester = BulkIngester.of(b -> b .client(client) @@ -139,7 +157,7 @@ private void multiThreadTest(int maxOperations, int maxRequests, int numThreads, ingester.close(); transport.close(); - scheduler.shutdownNow(); + if (scheduler != null) scheduler.shutdownNow(); printStats(ingester); printStats(listener); From 7c46ddd904f31cab870ad5804003af29408ffe6d Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Mon, 16 Sep 2024 10:10:13 +0200 Subject: [PATCH 006/106] [codegen] update to latest spec --- .../elasticsearch/doc-files/api-spec.html | 82 ++-- .../clients/elasticsearch/nodes/Http.java | 63 +++ .../elasticsearch/nodes/HttpRoute.java | 190 +++++++++ .../nodes/HttpRouteRequests.java | 232 +++++++++++ .../nodes/HttpRouteResponses.java | 289 +++++++++++++ .../clients/elasticsearch/nodes/Ingest.java | 18 +- .../elasticsearch/nodes/IngestStats.java | 388 ++++++++++++++++++ .../elasticsearch/nodes/IngestTotal.java | 156 ++----- .../nodes/SizeHttpHistogram.java | 212 ++++++++++ .../nodes/TimeHttpHistogram.java | 212 ++++++++++ 10 files changed, 1677 insertions(+), 165 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRoute.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteRequests.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteResponses.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestStats.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/SizeHttpHistogram.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/TimeHttpHistogram.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index 24ee432d6..077f04602 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -2149,61 +2149,67 @@ 'ml.validate_detector.Response': 'ml/validate_detector/MlValidateDetectorResponse.ts#L22-L24', 'monitoring.bulk.Request': 'monitoring/bulk/BulkMonitoringRequest.ts#L24-L59', 'monitoring.bulk.Response': 'monitoring/bulk/BulkMonitoringResponse.ts#L23-L32', -'nodes._types.AdaptiveSelection': 'nodes/_types/Stats.ts#L403-L432', -'nodes._types.Breaker': 'nodes/_types/Stats.ts#L434-L459', -'nodes._types.Cgroup': 'nodes/_types/Stats.ts#L461-L474', -'nodes._types.CgroupCpu': 'nodes/_types/Stats.ts#L487-L504', -'nodes._types.CgroupCpuStat': 'nodes/_types/Stats.ts#L506-L519', -'nodes._types.CgroupMemory': 'nodes/_types/Stats.ts#L521-L537', -'nodes._types.Client': 'nodes/_types/Stats.ts#L649-L696', +'nodes._types.AdaptiveSelection': 'nodes/_types/Stats.ts#L439-L468', +'nodes._types.Breaker': 'nodes/_types/Stats.ts#L470-L495', +'nodes._types.Cgroup': 'nodes/_types/Stats.ts#L497-L510', +'nodes._types.CgroupCpu': 'nodes/_types/Stats.ts#L523-L540', +'nodes._types.CgroupCpuStat': 'nodes/_types/Stats.ts#L542-L555', +'nodes._types.CgroupMemory': 'nodes/_types/Stats.ts#L557-L573', +'nodes._types.Client': 'nodes/_types/Stats.ts#L720-L767', 'nodes._types.ClusterAppliedStats': 'nodes/_types/Stats.ts#L221-L223', 'nodes._types.ClusterStateQueue': 'nodes/_types/Stats.ts#L248-L261', 'nodes._types.ClusterStateUpdate': 'nodes/_types/Stats.ts#L278-L343', -'nodes._types.Context': 'nodes/_types/Stats.ts#L997-L1002', -'nodes._types.Cpu': 'nodes/_types/Stats.ts#L539-L548', -'nodes._types.CpuAcct': 'nodes/_types/Stats.ts#L476-L485', -'nodes._types.DataPathStats': 'nodes/_types/Stats.ts#L550-L594', +'nodes._types.Context': 'nodes/_types/Stats.ts#L1068-L1073', +'nodes._types.Cpu': 'nodes/_types/Stats.ts#L575-L584', +'nodes._types.CpuAcct': 'nodes/_types/Stats.ts#L512-L521', +'nodes._types.DataPathStats': 'nodes/_types/Stats.ts#L586-L630', 'nodes._types.Discovery': 'nodes/_types/Stats.ts#L201-L219', -'nodes._types.ExtendedMemoryStats': 'nodes/_types/Stats.ts#L622-L631', -'nodes._types.FileSystem': 'nodes/_types/Stats.ts#L698-L716', -'nodes._types.FileSystemTotal': 'nodes/_types/Stats.ts#L757-L786', -'nodes._types.GarbageCollector': 'nodes/_types/Stats.ts#L923-L928', -'nodes._types.GarbageCollectorTotal': 'nodes/_types/Stats.ts#L930-L943', -'nodes._types.Http': 'nodes/_types/Stats.ts#L633-L647', +'nodes._types.ExtendedMemoryStats': 'nodes/_types/Stats.ts#L658-L667', +'nodes._types.FileSystem': 'nodes/_types/Stats.ts#L769-L787', +'nodes._types.FileSystemTotal': 'nodes/_types/Stats.ts#L828-L857', +'nodes._types.GarbageCollector': 'nodes/_types/Stats.ts#L994-L999', +'nodes._types.GarbageCollectorTotal': 'nodes/_types/Stats.ts#L1001-L1014', +'nodes._types.Http': 'nodes/_types/Stats.ts#L669-L688', +'nodes._types.HttpRoute': 'nodes/_types/Stats.ts#L690-L693', +'nodes._types.HttpRouteRequests': 'nodes/_types/Stats.ts#L695-L699', +'nodes._types.HttpRouteResponses': 'nodes/_types/Stats.ts#L701-L706', 'nodes._types.IndexingPressure': 'nodes/_types/Stats.ts#L116-L121', 'nodes._types.IndexingPressureMemory': 'nodes/_types/Stats.ts#L123-L142', 'nodes._types.Ingest': 'nodes/_types/Stats.ts#L345-L354', -'nodes._types.IngestTotal': 'nodes/_types/Stats.ts#L356-L377', -'nodes._types.IoStatDevice': 'nodes/_types/Stats.ts#L730-L755', -'nodes._types.IoStats': 'nodes/_types/Stats.ts#L718-L728', -'nodes._types.Jvm': 'nodes/_types/Stats.ts#L811-L845', -'nodes._types.JvmClasses': 'nodes/_types/Stats.ts#L908-L921', -'nodes._types.JvmMemoryStats': 'nodes/_types/Stats.ts#L847-L876', -'nodes._types.JvmThreads': 'nodes/_types/Stats.ts#L897-L906', -'nodes._types.KeyedProcessor': 'nodes/_types/Stats.ts#L379-L382', -'nodes._types.MemoryStats': 'nodes/_types/Stats.ts#L596-L620', -'nodes._types.NodeBufferPool': 'nodes/_types/Stats.ts#L788-L809', +'nodes._types.IngestStats': 'nodes/_types/Stats.ts#L356-L394', +'nodes._types.IngestTotal': 'nodes/_types/Stats.ts#L396-L413', +'nodes._types.IoStatDevice': 'nodes/_types/Stats.ts#L801-L826', +'nodes._types.IoStats': 'nodes/_types/Stats.ts#L789-L799', +'nodes._types.Jvm': 'nodes/_types/Stats.ts#L882-L916', +'nodes._types.JvmClasses': 'nodes/_types/Stats.ts#L979-L992', +'nodes._types.JvmMemoryStats': 'nodes/_types/Stats.ts#L918-L947', +'nodes._types.JvmThreads': 'nodes/_types/Stats.ts#L968-L977', +'nodes._types.KeyedProcessor': 'nodes/_types/Stats.ts#L415-L418', +'nodes._types.MemoryStats': 'nodes/_types/Stats.ts#L632-L656', +'nodes._types.NodeBufferPool': 'nodes/_types/Stats.ts#L859-L880', 'nodes._types.NodeReloadError': 'nodes/_types/NodeReloadResult.ts#L24-L27', 'nodes._types.NodeReloadResult': 'nodes/_types/NodeReloadResult.ts#L29-L30', 'nodes._types.NodesResponseBase': 'nodes/_types/NodesResponseBase.ts#L22-L29', -'nodes._types.OperatingSystem': 'nodes/_types/Stats.ts#L945-L951', -'nodes._types.Pool': 'nodes/_types/Stats.ts#L878-L895', +'nodes._types.OperatingSystem': 'nodes/_types/Stats.ts#L1016-L1022', +'nodes._types.Pool': 'nodes/_types/Stats.ts#L949-L966', 'nodes._types.PressureMemory': 'nodes/_types/Stats.ts#L144-L199', -'nodes._types.Process': 'nodes/_types/Stats.ts#L953-L975', -'nodes._types.Processor': 'nodes/_types/Stats.ts#L384-L401', +'nodes._types.Process': 'nodes/_types/Stats.ts#L1024-L1046', +'nodes._types.Processor': 'nodes/_types/Stats.ts#L420-L437', 'nodes._types.PublishedClusterStates': 'nodes/_types/Stats.ts#L263-L276', 'nodes._types.Recording': 'nodes/_types/Stats.ts#L225-L230', 'nodes._types.RepositoryLocation': 'nodes/_types/RepositoryMeteringInformation.ts#L68-L74', 'nodes._types.RepositoryMeteringInformation': 'nodes/_types/RepositoryMeteringInformation.ts#L24-L66', 'nodes._types.RequestCounts': 'nodes/_types/RepositoryMeteringInformation.ts#L76-L103', -'nodes._types.ScriptCache': 'nodes/_types/Stats.ts#L1031-L1045', -'nodes._types.Scripting': 'nodes/_types/Stats.ts#L977-L995', +'nodes._types.ScriptCache': 'nodes/_types/Stats.ts#L1102-L1116', +'nodes._types.Scripting': 'nodes/_types/Stats.ts#L1048-L1066', 'nodes._types.SerializedClusterState': 'nodes/_types/Stats.ts#L232-L238', 'nodes._types.SerializedClusterStateDetail': 'nodes/_types/Stats.ts#L240-L246', +'nodes._types.SizeHttpHistogram': 'nodes/_types/Stats.ts#L714-L718', 'nodes._types.Stats': 'nodes/_types/Stats.ts#L30-L114', -'nodes._types.ThreadCount': 'nodes/_types/Stats.ts#L1004-L1029', -'nodes._types.Transport': 'nodes/_types/Stats.ts#L1047-L1090', -'nodes._types.TransportHistogram': 'nodes/_types/Stats.ts#L1092-L1106', +'nodes._types.ThreadCount': 'nodes/_types/Stats.ts#L1075-L1100', +'nodes._types.TimeHttpHistogram': 'nodes/_types/Stats.ts#L708-L712', +'nodes._types.Transport': 'nodes/_types/Stats.ts#L1118-L1161', +'nodes._types.TransportHistogram': 'nodes/_types/Stats.ts#L1163-L1177', 'nodes.clear_repositories_metering_archive.Request': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveRequest.ts#L24-L43', 'nodes.clear_repositories_metering_archive.Response': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L36-L38', 'nodes.clear_repositories_metering_archive.ResponseBase': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L25-L34', @@ -2909,10 +2915,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/b2ad2265c9a6469efee4426abbc45df5b0fe1c54/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/a37d0218e4755ffe229c1a0efccc48e8f7d2d44b/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Http.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Http.java index 928a716a3..44533c0eb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Http.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Http.java @@ -32,7 +32,9 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Integer; import java.lang.Long; +import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -69,6 +71,8 @@ public class Http implements JsonpSerializable { private final List clients; + private final Map routes; + // --------------------------------------------------------------------------------------------- private Http(Builder builder) { @@ -76,6 +80,7 @@ private Http(Builder builder) { this.currentOpen = builder.currentOpen; this.totalOpened = builder.totalOpened; this.clients = ApiTypeHelper.unmodifiable(builder.clients); + this.routes = ApiTypeHelper.unmodifiableRequired(builder.routes, this, "routes"); } @@ -115,6 +120,15 @@ public final List clients() { return this.clients; } + /** + * Required - Detailed HTTP stats broken down by route + *

+ * API name: {@code routes} + */ + public final Map routes() { + return this.routes; + } + /** * Serialize this object to JSON. */ @@ -146,6 +160,17 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (ApiTypeHelper.isDefined(this.routes)) { + generator.writeKey("routes"); + generator.writeStartObject(); + for (Map.Entry item0 : this.routes.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } } @@ -170,6 +195,8 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private List clients; + private Map routes; + /** * Current number of open HTTP connections for the node. *

@@ -234,6 +261,41 @@ public final Builder clients(Function> fn) return clients(fn.apply(new Client.Builder()).build()); } + /** + * Required - Detailed HTTP stats broken down by route + *

+ * API name: {@code routes} + *

+ * Adds all entries of map to routes. + */ + public final Builder routes(Map map) { + this.routes = _mapPutAll(this.routes, map); + return this; + } + + /** + * Required - Detailed HTTP stats broken down by route + *

+ * API name: {@code routes} + *

+ * Adds an entry to routes. + */ + public final Builder routes(String key, HttpRoute value) { + this.routes = _mapPut(this.routes, key, value); + return this; + } + + /** + * Required - Detailed HTTP stats broken down by route + *

+ * API name: {@code routes} + *

+ * Adds an entry to routes using a builder lambda. + */ + public final Builder routes(String key, Function> fn) { + return routes(key, fn.apply(new HttpRoute.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -265,6 +327,7 @@ protected static void setupHttpDeserializer(ObjectDeserializer op) op.add(Builder::currentOpen, JsonpDeserializer.integerDeserializer(), "current_open"); op.add(Builder::totalOpened, JsonpDeserializer.longDeserializer(), "total_opened"); op.add(Builder::clients, JsonpDeserializer.arrayDeserializer(Client._DESERIALIZER), "clients"); + op.add(Builder::routes, JsonpDeserializer.stringMapDeserializer(HttpRoute._DESERIALIZER), "routes"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRoute.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRoute.java new file mode 100644 index 000000000..c87e6ab49 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRoute.java @@ -0,0 +1,190 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.nodes; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: nodes._types.HttpRoute + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class HttpRoute implements JsonpSerializable { + private final HttpRouteRequests requests; + + private final HttpRouteResponses responses; + + // --------------------------------------------------------------------------------------------- + + private HttpRoute(Builder builder) { + + this.requests = ApiTypeHelper.requireNonNull(builder.requests, this, "requests"); + this.responses = ApiTypeHelper.requireNonNull(builder.responses, this, "responses"); + + } + + public static HttpRoute of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code requests} + */ + public final HttpRouteRequests requests() { + return this.requests; + } + + /** + * Required - API name: {@code responses} + */ + public final HttpRouteResponses responses() { + return this.responses; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("requests"); + this.requests.serialize(generator, mapper); + + generator.writeKey("responses"); + this.responses.serialize(generator, mapper); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link HttpRoute}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private HttpRouteRequests requests; + + private HttpRouteResponses responses; + + /** + * Required - API name: {@code requests} + */ + public final Builder requests(HttpRouteRequests value) { + this.requests = value; + return this; + } + + /** + * Required - API name: {@code requests} + */ + public final Builder requests(Function> fn) { + return this.requests(fn.apply(new HttpRouteRequests.Builder()).build()); + } + + /** + * Required - API name: {@code responses} + */ + public final Builder responses(HttpRouteResponses value) { + this.responses = value; + return this; + } + + /** + * Required - API name: {@code responses} + */ + public final Builder responses(Function> fn) { + return this.responses(fn.apply(new HttpRouteResponses.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link HttpRoute}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public HttpRoute build() { + _checkSingleUse(); + + return new HttpRoute(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link HttpRoute} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + HttpRoute::setupHttpRouteDeserializer); + + protected static void setupHttpRouteDeserializer(ObjectDeserializer op) { + + op.add(Builder::requests, HttpRouteRequests._DESERIALIZER, "requests"); + op.add(Builder::responses, HttpRouteResponses._DESERIALIZER, "responses"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteRequests.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteRequests.java new file mode 100644 index 000000000..4b6a14a41 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteRequests.java @@ -0,0 +1,232 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.nodes; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: nodes._types.HttpRouteRequests + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class HttpRouteRequests implements JsonpSerializable { + private final long count; + + private final long totalSizeInBytes; + + private final List sizeHistogram; + + // --------------------------------------------------------------------------------------------- + + private HttpRouteRequests(Builder builder) { + + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.totalSizeInBytes = ApiTypeHelper.requireNonNull(builder.totalSizeInBytes, this, "totalSizeInBytes"); + this.sizeHistogram = ApiTypeHelper.unmodifiableRequired(builder.sizeHistogram, this, "sizeHistogram"); + + } + + public static HttpRouteRequests of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code count} + */ + public final long count() { + return this.count; + } + + /** + * Required - API name: {@code total_size_in_bytes} + */ + public final long totalSizeInBytes() { + return this.totalSizeInBytes; + } + + /** + * Required - API name: {@code size_histogram} + */ + public final List sizeHistogram() { + return this.sizeHistogram; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("count"); + generator.write(this.count); + + generator.writeKey("total_size_in_bytes"); + generator.write(this.totalSizeInBytes); + + if (ApiTypeHelper.isDefined(this.sizeHistogram)) { + generator.writeKey("size_histogram"); + generator.writeStartArray(); + for (SizeHttpHistogram item0 : this.sizeHistogram) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link HttpRouteRequests}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Long count; + + private Long totalSizeInBytes; + + private List sizeHistogram; + + /** + * Required - API name: {@code count} + */ + public final Builder count(long value) { + this.count = value; + return this; + } + + /** + * Required - API name: {@code total_size_in_bytes} + */ + public final Builder totalSizeInBytes(long value) { + this.totalSizeInBytes = value; + return this; + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds all elements of list to sizeHistogram. + */ + public final Builder sizeHistogram(List list) { + this.sizeHistogram = _listAddAll(this.sizeHistogram, list); + return this; + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds one or more values to sizeHistogram. + */ + public final Builder sizeHistogram(SizeHttpHistogram value, SizeHttpHistogram... values) { + this.sizeHistogram = _listAdd(this.sizeHistogram, value, values); + return this; + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds a value to sizeHistogram using a builder lambda. + */ + public final Builder sizeHistogram(Function> fn) { + return sizeHistogram(fn.apply(new SizeHttpHistogram.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link HttpRouteRequests}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public HttpRouteRequests build() { + _checkSingleUse(); + + return new HttpRouteRequests(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link HttpRouteRequests} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, HttpRouteRequests::setupHttpRouteRequestsDeserializer); + + protected static void setupHttpRouteRequestsDeserializer(ObjectDeserializer op) { + + op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); + op.add(Builder::totalSizeInBytes, JsonpDeserializer.longDeserializer(), "total_size_in_bytes"); + op.add(Builder::sizeHistogram, JsonpDeserializer.arrayDeserializer(SizeHttpHistogram._DESERIALIZER), + "size_histogram"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteResponses.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteResponses.java new file mode 100644 index 000000000..04f85b883 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HttpRouteResponses.java @@ -0,0 +1,289 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.nodes; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: nodes._types.HttpRouteResponses + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class HttpRouteResponses implements JsonpSerializable { + private final long count; + + private final long totalSizeInBytes; + + private final List handlingTimeHistogram; + + private final List sizeHistogram; + + // --------------------------------------------------------------------------------------------- + + private HttpRouteResponses(Builder builder) { + + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.totalSizeInBytes = ApiTypeHelper.requireNonNull(builder.totalSizeInBytes, this, "totalSizeInBytes"); + this.handlingTimeHistogram = ApiTypeHelper.unmodifiableRequired(builder.handlingTimeHistogram, this, + "handlingTimeHistogram"); + this.sizeHistogram = ApiTypeHelper.unmodifiableRequired(builder.sizeHistogram, this, "sizeHistogram"); + + } + + public static HttpRouteResponses of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code count} + */ + public final long count() { + return this.count; + } + + /** + * Required - API name: {@code total_size_in_bytes} + */ + public final long totalSizeInBytes() { + return this.totalSizeInBytes; + } + + /** + * Required - API name: {@code handling_time_histogram} + */ + public final List handlingTimeHistogram() { + return this.handlingTimeHistogram; + } + + /** + * Required - API name: {@code size_histogram} + */ + public final List sizeHistogram() { + return this.sizeHistogram; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("count"); + generator.write(this.count); + + generator.writeKey("total_size_in_bytes"); + generator.write(this.totalSizeInBytes); + + if (ApiTypeHelper.isDefined(this.handlingTimeHistogram)) { + generator.writeKey("handling_time_histogram"); + generator.writeStartArray(); + for (TimeHttpHistogram item0 : this.handlingTimeHistogram) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.sizeHistogram)) { + generator.writeKey("size_histogram"); + generator.writeStartArray(); + for (SizeHttpHistogram item0 : this.sizeHistogram) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link HttpRouteResponses}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Long count; + + private Long totalSizeInBytes; + + private List handlingTimeHistogram; + + private List sizeHistogram; + + /** + * Required - API name: {@code count} + */ + public final Builder count(long value) { + this.count = value; + return this; + } + + /** + * Required - API name: {@code total_size_in_bytes} + */ + public final Builder totalSizeInBytes(long value) { + this.totalSizeInBytes = value; + return this; + } + + /** + * Required - API name: {@code handling_time_histogram} + *

+ * Adds all elements of list to handlingTimeHistogram. + */ + public final Builder handlingTimeHistogram(List list) { + this.handlingTimeHistogram = _listAddAll(this.handlingTimeHistogram, list); + return this; + } + + /** + * Required - API name: {@code handling_time_histogram} + *

+ * Adds one or more values to handlingTimeHistogram. + */ + public final Builder handlingTimeHistogram(TimeHttpHistogram value, TimeHttpHistogram... values) { + this.handlingTimeHistogram = _listAdd(this.handlingTimeHistogram, value, values); + return this; + } + + /** + * Required - API name: {@code handling_time_histogram} + *

+ * Adds a value to handlingTimeHistogram using a builder lambda. + */ + public final Builder handlingTimeHistogram( + Function> fn) { + return handlingTimeHistogram(fn.apply(new TimeHttpHistogram.Builder()).build()); + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds all elements of list to sizeHistogram. + */ + public final Builder sizeHistogram(List list) { + this.sizeHistogram = _listAddAll(this.sizeHistogram, list); + return this; + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds one or more values to sizeHistogram. + */ + public final Builder sizeHistogram(SizeHttpHistogram value, SizeHttpHistogram... values) { + this.sizeHistogram = _listAdd(this.sizeHistogram, value, values); + return this; + } + + /** + * Required - API name: {@code size_histogram} + *

+ * Adds a value to sizeHistogram using a builder lambda. + */ + public final Builder sizeHistogram(Function> fn) { + return sizeHistogram(fn.apply(new SizeHttpHistogram.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link HttpRouteResponses}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public HttpRouteResponses build() { + _checkSingleUse(); + + return new HttpRouteResponses(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link HttpRouteResponses} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, HttpRouteResponses::setupHttpRouteResponsesDeserializer); + + protected static void setupHttpRouteResponsesDeserializer(ObjectDeserializer op) { + + op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); + op.add(Builder::totalSizeInBytes, JsonpDeserializer.longDeserializer(), "total_size_in_bytes"); + op.add(Builder::handlingTimeHistogram, JsonpDeserializer.arrayDeserializer(TimeHttpHistogram._DESERIALIZER), + "handling_time_histogram"); + op.add(Builder::sizeHistogram, JsonpDeserializer.arrayDeserializer(SizeHttpHistogram._DESERIALIZER), + "size_histogram"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Ingest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Ingest.java index db31b0a80..bece8ac0b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Ingest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/Ingest.java @@ -60,7 +60,7 @@ */ @JsonpDeserializable public class Ingest implements JsonpSerializable { - private final Map pipelines; + private final Map pipelines; @Nullable private final IngestTotal total; @@ -83,7 +83,7 @@ public static Ingest of(Function> fn) { *

* API name: {@code pipelines} */ - public final Map pipelines() { + public final Map pipelines() { return this.pipelines; } @@ -111,7 +111,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.pipelines)) { generator.writeKey("pipelines"); generator.writeStartObject(); - for (Map.Entry item0 : this.pipelines.entrySet()) { + for (Map.Entry item0 : this.pipelines.entrySet()) { generator.writeKey(item0.getKey()); item0.getValue().serialize(generator, mapper); @@ -140,7 +140,7 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { @Nullable - private Map pipelines; + private Map pipelines; @Nullable private IngestTotal total; @@ -152,7 +152,7 @@ public static class Builder extends WithJsonObjectBuilderBase implement *

* Adds all entries of map to pipelines. */ - public final Builder pipelines(Map map) { + public final Builder pipelines(Map map) { this.pipelines = _mapPutAll(this.pipelines, map); return this; } @@ -164,7 +164,7 @@ public final Builder pipelines(Map map) { *

* Adds an entry to pipelines. */ - public final Builder pipelines(String key, IngestTotal value) { + public final Builder pipelines(String key, IngestStats value) { this.pipelines = _mapPut(this.pipelines, key, value); return this; } @@ -176,8 +176,8 @@ public final Builder pipelines(String key, IngestTotal value) { *

* Adds an entry to pipelines using a builder lambda. */ - public final Builder pipelines(String key, Function> fn) { - return pipelines(key, fn.apply(new IngestTotal.Builder()).build()); + public final Builder pipelines(String key, Function> fn) { + return pipelines(key, fn.apply(new IngestStats.Builder()).build()); } /** @@ -227,7 +227,7 @@ public Ingest build() { protected static void setupIngestDeserializer(ObjectDeserializer op) { - op.add(Builder::pipelines, JsonpDeserializer.stringMapDeserializer(IngestTotal._DESERIALIZER), "pipelines"); + op.add(Builder::pipelines, JsonpDeserializer.stringMapDeserializer(IngestStats._DESERIALIZER), "pipelines"); op.add(Builder::total, IngestTotal._DESERIALIZER, "total"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestStats.java new file mode 100644 index 000000000..c73554c15 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestStats.java @@ -0,0 +1,388 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.nodes; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: nodes._types.IngestStats + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class IngestStats implements JsonpSerializable { + private final long count; + + private final long current; + + private final long failed; + + private final List> processors; + + private final long timeInMillis; + + private final long ingestedAsFirstPipelineInBytes; + + private final long producedAsFirstPipelineInBytes; + + // --------------------------------------------------------------------------------------------- + + private IngestStats(Builder builder) { + + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.current = ApiTypeHelper.requireNonNull(builder.current, this, "current"); + this.failed = ApiTypeHelper.requireNonNull(builder.failed, this, "failed"); + this.processors = ApiTypeHelper.unmodifiableRequired(builder.processors, this, "processors"); + this.timeInMillis = ApiTypeHelper.requireNonNull(builder.timeInMillis, this, "timeInMillis"); + this.ingestedAsFirstPipelineInBytes = ApiTypeHelper.requireNonNull(builder.ingestedAsFirstPipelineInBytes, this, + "ingestedAsFirstPipelineInBytes"); + this.producedAsFirstPipelineInBytes = ApiTypeHelper.requireNonNull(builder.producedAsFirstPipelineInBytes, this, + "producedAsFirstPipelineInBytes"); + + } + + public static IngestStats of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - Total number of documents ingested during the lifetime of this + * node. + *

+ * API name: {@code count} + */ + public final long count() { + return this.count; + } + + /** + * Required - Total number of documents currently being ingested. + *

+ * API name: {@code current} + */ + public final long current() { + return this.current; + } + + /** + * Required - Total number of failed ingest operations during the lifetime of + * this node. + *

+ * API name: {@code failed} + */ + public final long failed() { + return this.failed; + } + + /** + * Required - Total number of ingest processors. + *

+ * API name: {@code processors} + */ + public final List> processors() { + return this.processors; + } + + /** + * Required - Total time, in milliseconds, spent preprocessing ingest documents + * during the lifetime of this node. + *

+ * API name: {@code time_in_millis} + */ + public final long timeInMillis() { + return this.timeInMillis; + } + + /** + * Required - Total number of bytes of all documents ingested by the pipeline. + * This field is only present on pipelines which are the first to process a + * document. Thus, it is not present on pipelines which only serve as a final + * pipeline after a default pipeline, a pipeline run after a reroute processor, + * or pipelines in pipeline processors. + *

+ * API name: {@code ingested_as_first_pipeline_in_bytes} + */ + public final long ingestedAsFirstPipelineInBytes() { + return this.ingestedAsFirstPipelineInBytes; + } + + /** + * Required - Total number of bytes of all documents produced by the pipeline. + * This field is only present on pipelines which are the first to process a + * document. Thus, it is not present on pipelines which only serve as a final + * pipeline after a default pipeline, a pipeline run after a reroute processor, + * or pipelines in pipeline processors. In situations where there are subsequent + * pipelines, the value represents the size of the document after all pipelines + * have run. + *

+ * API name: {@code produced_as_first_pipeline_in_bytes} + */ + public final long producedAsFirstPipelineInBytes() { + return this.producedAsFirstPipelineInBytes; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("count"); + generator.write(this.count); + + generator.writeKey("current"); + generator.write(this.current); + + generator.writeKey("failed"); + generator.write(this.failed); + + if (ApiTypeHelper.isDefined(this.processors)) { + generator.writeKey("processors"); + generator.writeStartArray(); + for (Map item0 : this.processors) { + generator.writeStartObject(); + if (item0 != null) { + for (Map.Entry item1 : item0.entrySet()) { + generator.writeKey(item1.getKey()); + item1.getValue().serialize(generator, mapper); + + } + } + generator.writeEnd(); + + } + generator.writeEnd(); + + } + generator.writeKey("time_in_millis"); + generator.write(this.timeInMillis); + + generator.writeKey("ingested_as_first_pipeline_in_bytes"); + generator.write(this.ingestedAsFirstPipelineInBytes); + + generator.writeKey("produced_as_first_pipeline_in_bytes"); + generator.write(this.producedAsFirstPipelineInBytes); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link IngestStats}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Long count; + + private Long current; + + private Long failed; + + private List> processors; + + private Long timeInMillis; + + private Long ingestedAsFirstPipelineInBytes; + + private Long producedAsFirstPipelineInBytes; + + /** + * Required - Total number of documents ingested during the lifetime of this + * node. + *

+ * API name: {@code count} + */ + public final Builder count(long value) { + this.count = value; + return this; + } + + /** + * Required - Total number of documents currently being ingested. + *

+ * API name: {@code current} + */ + public final Builder current(long value) { + this.current = value; + return this; + } + + /** + * Required - Total number of failed ingest operations during the lifetime of + * this node. + *

+ * API name: {@code failed} + */ + public final Builder failed(long value) { + this.failed = value; + return this; + } + + /** + * Required - Total number of ingest processors. + *

+ * API name: {@code processors} + *

+ * Adds all elements of list to processors. + */ + public final Builder processors(List> list) { + this.processors = _listAddAll(this.processors, list); + return this; + } + + /** + * Required - Total number of ingest processors. + *

+ * API name: {@code processors} + *

+ * Adds one or more values to processors. + */ + public final Builder processors(Map value, Map... values) { + this.processors = _listAdd(this.processors, value, values); + return this; + } + + /** + * Required - Total time, in milliseconds, spent preprocessing ingest documents + * during the lifetime of this node. + *

+ * API name: {@code time_in_millis} + */ + public final Builder timeInMillis(long value) { + this.timeInMillis = value; + return this; + } + + /** + * Required - Total number of bytes of all documents ingested by the pipeline. + * This field is only present on pipelines which are the first to process a + * document. Thus, it is not present on pipelines which only serve as a final + * pipeline after a default pipeline, a pipeline run after a reroute processor, + * or pipelines in pipeline processors. + *

+ * API name: {@code ingested_as_first_pipeline_in_bytes} + */ + public final Builder ingestedAsFirstPipelineInBytes(long value) { + this.ingestedAsFirstPipelineInBytes = value; + return this; + } + + /** + * Required - Total number of bytes of all documents produced by the pipeline. + * This field is only present on pipelines which are the first to process a + * document. Thus, it is not present on pipelines which only serve as a final + * pipeline after a default pipeline, a pipeline run after a reroute processor, + * or pipelines in pipeline processors. In situations where there are subsequent + * pipelines, the value represents the size of the document after all pipelines + * have run. + *

+ * API name: {@code produced_as_first_pipeline_in_bytes} + */ + public final Builder producedAsFirstPipelineInBytes(long value) { + this.producedAsFirstPipelineInBytes = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link IngestStats}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public IngestStats build() { + _checkSingleUse(); + + return new IngestStats(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link IngestStats} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + IngestStats::setupIngestStatsDeserializer); + + protected static void setupIngestStatsDeserializer(ObjectDeserializer op) { + + op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); + op.add(Builder::current, JsonpDeserializer.longDeserializer(), "current"); + op.add(Builder::failed, JsonpDeserializer.longDeserializer(), "failed"); + op.add(Builder::processors, JsonpDeserializer.arrayDeserializer( + JsonpDeserializer.stringMapDeserializer(KeyedProcessor._DESERIALIZER)), "processors"); + op.add(Builder::timeInMillis, JsonpDeserializer.longDeserializer(), "time_in_millis"); + op.add(Builder::ingestedAsFirstPipelineInBytes, JsonpDeserializer.longDeserializer(), + "ingested_as_first_pipeline_in_bytes"); + op.add(Builder::producedAsFirstPipelineInBytes, JsonpDeserializer.longDeserializer(), + "produced_as_first_pipeline_in_bytes"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestTotal.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestTotal.java index 9b71c5892..c7a92675c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestTotal.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestTotal.java @@ -31,12 +31,8 @@ import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.function.Function; -import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -62,29 +58,22 @@ */ @JsonpDeserializable public class IngestTotal implements JsonpSerializable { - @Nullable - private final Long count; + private final long count; - @Nullable - private final Long current; + private final long current; - @Nullable - private final Long failed; + private final long failed; - private final List> processors; - - @Nullable - private final Long timeInMillis; + private final long timeInMillis; // --------------------------------------------------------------------------------------------- private IngestTotal(Builder builder) { - this.count = builder.count; - this.current = builder.current; - this.failed = builder.failed; - this.processors = ApiTypeHelper.unmodifiable(builder.processors); - this.timeInMillis = builder.timeInMillis; + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.current = ApiTypeHelper.requireNonNull(builder.current, this, "current"); + this.failed = ApiTypeHelper.requireNonNull(builder.failed, this, "failed"); + this.timeInMillis = ApiTypeHelper.requireNonNull(builder.timeInMillis, this, "timeInMillis"); } @@ -93,52 +82,41 @@ public static IngestTotal of(Function> fn) { } /** - * Total number of documents ingested during the lifetime of this node. + * Required - Total number of documents ingested during the lifetime of this + * node. *

* API name: {@code count} */ - @Nullable - public final Long count() { + public final long count() { return this.count; } /** - * Total number of documents currently being ingested. + * Required - Total number of documents currently being ingested. *

* API name: {@code current} */ - @Nullable - public final Long current() { + public final long current() { return this.current; } /** - * Total number of failed ingest operations during the lifetime of this node. + * Required - Total number of failed ingest operations during the lifetime of + * this node. *

* API name: {@code failed} */ - @Nullable - public final Long failed() { + public final long failed() { return this.failed; } /** - * Total number of ingest processors. - *

- * API name: {@code processors} - */ - public final List> processors() { - return this.processors; - } - - /** - * Total time, in milliseconds, spent preprocessing ingest documents during the - * lifetime of this node. + * Required - Total time, in milliseconds, spent preprocessing ingest documents + * during the lifetime of this node. *

* API name: {@code time_in_millis} */ - @Nullable - public final Long timeInMillis() { + public final long timeInMillis() { return this.timeInMillis; } @@ -153,44 +131,17 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.count != null) { - generator.writeKey("count"); - generator.write(this.count); - - } - if (this.current != null) { - generator.writeKey("current"); - generator.write(this.current); + generator.writeKey("count"); + generator.write(this.count); - } - if (this.failed != null) { - generator.writeKey("failed"); - generator.write(this.failed); + generator.writeKey("current"); + generator.write(this.current); - } - if (ApiTypeHelper.isDefined(this.processors)) { - generator.writeKey("processors"); - generator.writeStartArray(); - for (Map item0 : this.processors) { - generator.writeStartObject(); - if (item0 != null) { - for (Map.Entry item1 : item0.entrySet()) { - generator.writeKey(item1.getKey()); - item1.getValue().serialize(generator, mapper); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); + generator.writeKey("failed"); + generator.write(this.failed); - } - if (this.timeInMillis != null) { - generator.writeKey("time_in_millis"); - generator.write(this.timeInMillis); - - } + generator.writeKey("time_in_millis"); + generator.write(this.timeInMillis); } @@ -206,82 +157,53 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable private Long count; - @Nullable private Long current; - @Nullable private Long failed; - @Nullable - private List> processors; - - @Nullable private Long timeInMillis; /** - * Total number of documents ingested during the lifetime of this node. + * Required - Total number of documents ingested during the lifetime of this + * node. *

* API name: {@code count} */ - public final Builder count(@Nullable Long value) { + public final Builder count(long value) { this.count = value; return this; } /** - * Total number of documents currently being ingested. + * Required - Total number of documents currently being ingested. *

* API name: {@code current} */ - public final Builder current(@Nullable Long value) { + public final Builder current(long value) { this.current = value; return this; } /** - * Total number of failed ingest operations during the lifetime of this node. + * Required - Total number of failed ingest operations during the lifetime of + * this node. *

* API name: {@code failed} */ - public final Builder failed(@Nullable Long value) { + public final Builder failed(long value) { this.failed = value; return this; } /** - * Total number of ingest processors. - *

- * API name: {@code processors} - *

- * Adds all elements of list to processors. - */ - public final Builder processors(List> list) { - this.processors = _listAddAll(this.processors, list); - return this; - } - - /** - * Total number of ingest processors. - *

- * API name: {@code processors} - *

- * Adds one or more values to processors. - */ - public final Builder processors(Map value, Map... values) { - this.processors = _listAdd(this.processors, value, values); - return this; - } - - /** - * Total time, in milliseconds, spent preprocessing ingest documents during the - * lifetime of this node. + * Required - Total time, in milliseconds, spent preprocessing ingest documents + * during the lifetime of this node. *

* API name: {@code time_in_millis} */ - public final Builder timeInMillis(@Nullable Long value) { + public final Builder timeInMillis(long value) { this.timeInMillis = value; return this; } @@ -317,8 +239,6 @@ protected static void setupIngestTotalDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class SizeHttpHistogram implements JsonpSerializable { + private final long count; + + @Nullable + private final Long geBytes; + + @Nullable + private final Long ltBytes; + + // --------------------------------------------------------------------------------------------- + + private SizeHttpHistogram(Builder builder) { + + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.geBytes = builder.geBytes; + this.ltBytes = builder.ltBytes; + + } + + public static SizeHttpHistogram of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code count} + */ + public final long count() { + return this.count; + } + + /** + * API name: {@code ge_bytes} + */ + @Nullable + public final Long geBytes() { + return this.geBytes; + } + + /** + * API name: {@code lt_bytes} + */ + @Nullable + public final Long ltBytes() { + return this.ltBytes; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("count"); + generator.write(this.count); + + if (this.geBytes != null) { + generator.writeKey("ge_bytes"); + generator.write(this.geBytes); + + } + if (this.ltBytes != null) { + generator.writeKey("lt_bytes"); + generator.write(this.ltBytes); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link SizeHttpHistogram}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Long count; + + @Nullable + private Long geBytes; + + @Nullable + private Long ltBytes; + + /** + * Required - API name: {@code count} + */ + public final Builder count(long value) { + this.count = value; + return this; + } + + /** + * API name: {@code ge_bytes} + */ + public final Builder geBytes(@Nullable Long value) { + this.geBytes = value; + return this; + } + + /** + * API name: {@code lt_bytes} + */ + public final Builder ltBytes(@Nullable Long value) { + this.ltBytes = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link SizeHttpHistogram}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SizeHttpHistogram build() { + _checkSingleUse(); + + return new SizeHttpHistogram(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link SizeHttpHistogram} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, SizeHttpHistogram::setupSizeHttpHistogramDeserializer); + + protected static void setupSizeHttpHistogramDeserializer(ObjectDeserializer op) { + + op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); + op.add(Builder::geBytes, JsonpDeserializer.longDeserializer(), "ge_bytes"); + op.add(Builder::ltBytes, JsonpDeserializer.longDeserializer(), "lt_bytes"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/TimeHttpHistogram.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/TimeHttpHistogram.java new file mode 100644 index 000000000..b55357d58 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/TimeHttpHistogram.java @@ -0,0 +1,212 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.nodes; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: nodes._types.TimeHttpHistogram + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class TimeHttpHistogram implements JsonpSerializable { + private final long count; + + @Nullable + private final Long geMillis; + + @Nullable + private final Long ltMillis; + + // --------------------------------------------------------------------------------------------- + + private TimeHttpHistogram(Builder builder) { + + this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); + this.geMillis = builder.geMillis; + this.ltMillis = builder.ltMillis; + + } + + public static TimeHttpHistogram of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code count} + */ + public final long count() { + return this.count; + } + + /** + * API name: {@code ge_millis} + */ + @Nullable + public final Long geMillis() { + return this.geMillis; + } + + /** + * API name: {@code lt_millis} + */ + @Nullable + public final Long ltMillis() { + return this.ltMillis; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("count"); + generator.write(this.count); + + if (this.geMillis != null) { + generator.writeKey("ge_millis"); + generator.write(this.geMillis); + + } + if (this.ltMillis != null) { + generator.writeKey("lt_millis"); + generator.write(this.ltMillis); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TimeHttpHistogram}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Long count; + + @Nullable + private Long geMillis; + + @Nullable + private Long ltMillis; + + /** + * Required - API name: {@code count} + */ + public final Builder count(long value) { + this.count = value; + return this; + } + + /** + * API name: {@code ge_millis} + */ + public final Builder geMillis(@Nullable Long value) { + this.geMillis = value; + return this; + } + + /** + * API name: {@code lt_millis} + */ + public final Builder ltMillis(@Nullable Long value) { + this.ltMillis = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TimeHttpHistogram}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TimeHttpHistogram build() { + _checkSingleUse(); + + return new TimeHttpHistogram(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TimeHttpHistogram} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, TimeHttpHistogram::setupTimeHttpHistogramDeserializer); + + protected static void setupTimeHttpHistogramDeserializer(ObjectDeserializer op) { + + op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); + op.add(Builder::geMillis, JsonpDeserializer.longDeserializer(), "ge_millis"); + op.add(Builder::ltMillis, JsonpDeserializer.longDeserializer(), "lt_millis"); + + } + +} From 949bdd3c02dfc9daacb03215ead12c123d16008a Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Fri, 27 Sep 2024 12:10:35 +0200 Subject: [PATCH 007/106] [codegen] update to latest spec --- .../_types/aggregations/Aggregation.java | 31 + .../aggregations/AggregationBuilders.java | 19 + .../RandomSamplerAggregation.java | 244 +++++++ .../_types/analysis/KeywordTokenizer.java | 24 +- .../_types/mapping/CorePropertyBase.java | 29 - .../_types/mapping/KeywordProperty.java | 29 + .../mapping/SearchAsYouTypeProperty.java | 29 + .../_types/mapping/TextProperty.java | 29 + .../_types/query_dsl/RangeQueryBase.java | 12 + .../_types/query_dsl/TermsSetQuery.java | 132 +++- .../core/search/AggregationProfileDebug.java | 116 ++++ .../core/search/DfsKnnProfile.java | 289 ++++++++ .../elasticsearch/core/search/DfsProfile.java | 221 +++++++ .../core/search/DfsStatisticsBreakdown.java | 327 ++++++++++ .../core/search/DfsStatisticsProfile.java | 376 +++++++++++ .../elasticsearch/core/search/Hit.java | 19 +- .../core/search/KnnCollectorResult.java | 297 +++++++++ .../core/search/KnnQueryProfileBreakdown.java | 617 ++++++++++++++++++ .../core/search/KnnQueryProfileResult.java | 377 +++++++++++ .../core/search/QueryBreakdown.java | 48 ++ .../core/search/ShardProfile.java | 182 +++++- .../elasticsearch/doc-files/api-spec.html | 258 ++++---- .../ElasticsearchIngestAsyncClient.java | 14 +- .../ingest/ElasticsearchIngestClient.java | 14 +- .../elasticsearch/ml/CalendarEvent.java | 103 +++ .../ml/DeploymentAssignmentState.java | 18 +- .../ml/TrainedModelDeploymentStats.java | 10 +- .../DeleteBehavioralAnalyticsRequest.java | 3 +- .../DeleteSearchApplicationRequest.java | 3 +- ...ticsearchSearchApplicationAsyncClient.java | 50 +- .../ElasticsearchSearchApplicationClient.java | 50 +- .../GetBehavioralAnalyticsRequest.java | 2 +- .../GetSearchApplicationRequest.java | 2 +- .../PutBehavioralAnalyticsRequest.java | 2 +- .../search_application/PutRequest.java | 2 +- .../SearchApplicationSearchRequest.java | 5 +- .../security/IndicesPrivilegesQuery.java | 226 +++++++ .../IndicesPrivilegesQueryBuilders.java | 68 ++ .../security/PutRoleRequest.java | 63 ++ .../security/RemoteIndicesPrivileges.java | 427 ++++++++++++ .../security/RoleTemplateQuery.java | 189 ++++++ .../ElasticsearchSnapshotAsyncClient.java | 34 + .../snapshot/ElasticsearchSnapshotClient.java | 35 + .../RepositoryVerifyIntegrityRequest.java | 444 +++++++++++++ .../RepositoryVerifyIntegrityResponse.java | 153 +++++ .../snapshot/SnapshotShardFailure.java | 24 + .../elasticsearch/sql/QueryRequest.java | 11 +- .../query/SqlFormat.java} | 37 +- .../elasticsearch/xpack/XpackInfoRequest.java | 15 +- .../xpack/info/XPackCategory.java | 68 ++ 50 files changed, 5480 insertions(+), 297 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RandomSamplerAggregation.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsKnnProfile.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsProfile.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsBreakdown.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsProfile.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnCollectorResult.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileBreakdown.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileResult.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQuery.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQueryBuilders.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteIndicesPrivileges.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateQuery.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityResponse.java rename java-client/src/main/java/co/elastic/clients/elasticsearch/{ml/DeploymentState.java => sql/query/SqlFormat.java} (70%) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/XPackCategory.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java index b05d03a84..f6287e03f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java @@ -193,6 +193,8 @@ public enum Kind implements JsonEnum { ReverseNested("reverse_nested"), + RandomSampler("random_sampler"), + Sampler("sampler"), ScriptedMetric("scripted_metric"), @@ -1305,6 +1307,23 @@ public ReverseNestedAggregation reverseNested() { return TaggedUnionUtils.get(this, Kind.ReverseNested); } + /** + * Is this variant instance of kind {@code random_sampler}? + */ + public boolean isRandomSampler() { + return _kind == Kind.RandomSampler; + } + + /** + * Get the {@code random_sampler} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code random_sampler} kind. + */ + public RandomSamplerAggregation randomSampler() { + return TaggedUnionUtils.get(this, Kind.RandomSampler); + } + /** * Is this variant instance of kind {@code sampler}? */ @@ -2379,6 +2398,17 @@ public ContainerBuilder reverseNested( return this.reverseNested(fn.apply(new ReverseNestedAggregation.Builder()).build()); } + public ContainerBuilder randomSampler(RandomSamplerAggregation v) { + this._kind = Kind.RandomSampler; + this._value = v; + return new ContainerBuilder(); + } + + public ContainerBuilder randomSampler( + Function> fn) { + return this.randomSampler(fn.apply(new RandomSamplerAggregation.Builder()).build()); + } + public ContainerBuilder sampler(SamplerAggregation v) { this._kind = Kind.Sampler; this._value = v; @@ -2721,6 +2751,7 @@ protected static void setupAggregationDeserializer(ObjectDeserializer o op.add(Builder::rareTerms, RareTermsAggregation._DESERIALIZER, "rare_terms"); op.add(Builder::rate, RateAggregation._DESERIALIZER, "rate"); op.add(Builder::reverseNested, ReverseNestedAggregation._DESERIALIZER, "reverse_nested"); + op.add(Builder::randomSampler, RandomSamplerAggregation._DESERIALIZER, "random_sampler"); op.add(Builder::sampler, SamplerAggregation._DESERIALIZER, "sampler"); op.add(Builder::scriptedMetric, ScriptedMetricAggregation._DESERIALIZER, "scripted_metric"); op.add(Builder::serialDiff, SerialDifferencingAggregation._DESERIALIZER, "serial_diff"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java index f0b63a419..73b70e311 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java @@ -1130,6 +1130,25 @@ public static Aggregation reverseNested( return builder.build(); } + /** + * Creates a builder for the {@link RandomSamplerAggregation random_sampler} + * {@code Aggregation} variant. + */ + public static RandomSamplerAggregation.Builder randomSampler() { + return new RandomSamplerAggregation.Builder(); + } + + /** + * Creates a Aggregation of the {@link RandomSamplerAggregation random_sampler} + * {@code Aggregation} variant. + */ + public static Aggregation randomSampler( + Function> fn) { + Aggregation.Builder builder = new Aggregation.Builder(); + builder.randomSampler(fn.apply(new RandomSamplerAggregation.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link SamplerAggregation sampler} * {@code Aggregation} variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RandomSamplerAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RandomSamplerAggregation.java new file mode 100644 index 000000000..efb341ccf --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RandomSamplerAggregation.java @@ -0,0 +1,244 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.aggregations; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Double; +import java.lang.Integer; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.aggregations.RandomSamplerAggregation + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RandomSamplerAggregation extends BucketAggregationBase implements AggregationVariant, JsonpSerializable { + private final double probability; + + @Nullable + private final Integer seed; + + @Nullable + private final Integer shardSeed; + + // --------------------------------------------------------------------------------------------- + + private RandomSamplerAggregation(Builder builder) { + + this.probability = ApiTypeHelper.requireNonNull(builder.probability, this, "probability"); + this.seed = builder.seed; + this.shardSeed = builder.shardSeed; + + } + + public static RandomSamplerAggregation of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Aggregation variant kind. + */ + @Override + public Aggregation.Kind _aggregationKind() { + return Aggregation.Kind.RandomSampler; + } + + /** + * Required - The probability that a document will be included in the aggregated + * data. Must be greater than 0, less than 0.5, or exactly 1. The lower the + * probability, the fewer documents are matched. + *

+ * API name: {@code probability} + */ + public final double probability() { + return this.probability; + } + + /** + * The seed to generate the random sampling of documents. When a seed is + * provided, the random subset of documents is the same between calls. + *

+ * API name: {@code seed} + */ + @Nullable + public final Integer seed() { + return this.seed; + } + + /** + * When combined with seed, setting shard_seed ensures 100% consistent sampling + * over shards where data is exactly the same. + *

+ * API name: {@code shard_seed} + */ + @Nullable + public final Integer shardSeed() { + return this.shardSeed; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("probability"); + generator.write(this.probability); + + if (this.seed != null) { + generator.writeKey("seed"); + generator.write(this.seed); + + } + if (this.shardSeed != null) { + generator.writeKey("shard_seed"); + generator.write(this.shardSeed); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RandomSamplerAggregation}. + */ + + public static class Builder extends BucketAggregationBase.AbstractBuilder + implements + ObjectBuilder { + private Double probability; + + @Nullable + private Integer seed; + + @Nullable + private Integer shardSeed; + + /** + * Required - The probability that a document will be included in the aggregated + * data. Must be greater than 0, less than 0.5, or exactly 1. The lower the + * probability, the fewer documents are matched. + *

+ * API name: {@code probability} + */ + public final Builder probability(double value) { + this.probability = value; + return this; + } + + /** + * The seed to generate the random sampling of documents. When a seed is + * provided, the random subset of documents is the same between calls. + *

+ * API name: {@code seed} + */ + public final Builder seed(@Nullable Integer value) { + this.seed = value; + return this; + } + + /** + * When combined with seed, setting shard_seed ensures 100% consistent sampling + * over shards where data is exactly the same. + *

+ * API name: {@code shard_seed} + */ + public final Builder shardSeed(@Nullable Integer value) { + this.shardSeed = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RandomSamplerAggregation}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RandomSamplerAggregation build() { + _checkSingleUse(); + + return new RandomSamplerAggregation(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RandomSamplerAggregation} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, RandomSamplerAggregation::setupRandomSamplerAggregationDeserializer); + + protected static void setupRandomSamplerAggregationDeserializer( + ObjectDeserializer op) { + + op.add(Builder::probability, JsonpDeserializer.doubleDeserializer(), "probability"); + op.add(Builder::seed, JsonpDeserializer.integerDeserializer(), "seed"); + op.add(Builder::shardSeed, JsonpDeserializer.integerDeserializer(), "shard_seed"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordTokenizer.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordTokenizer.java index 539b32d58..55cb23152 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordTokenizer.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordTokenizer.java @@ -24,12 +24,12 @@ import co.elastic.clients.json.JsonpMapper; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; import java.util.Objects; import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -56,14 +56,15 @@ */ @JsonpDeserializable public class KeywordTokenizer extends TokenizerBase implements TokenizerDefinitionVariant { - private final int bufferSize; + @Nullable + private final Integer bufferSize; // --------------------------------------------------------------------------------------------- private KeywordTokenizer(Builder builder) { super(builder); - this.bufferSize = ApiTypeHelper.requireNonNull(builder.bufferSize, this, "bufferSize"); + this.bufferSize = builder.bufferSize; } @@ -80,9 +81,10 @@ public TokenizerDefinition.Kind _tokenizerDefinitionKind() { } /** - * Required - API name: {@code buffer_size} + * API name: {@code buffer_size} */ - public final int bufferSize() { + @Nullable + public final Integer bufferSize() { return this.bufferSize; } @@ -90,8 +92,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write("type", "keyword"); super.serializeInternal(generator, mapper); - generator.writeKey("buffer_size"); - generator.write(this.bufferSize); + if (this.bufferSize != null) { + generator.writeKey("buffer_size"); + generator.write(this.bufferSize); + + } } @@ -104,12 +109,13 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends TokenizerBase.AbstractBuilder implements ObjectBuilder { + @Nullable private Integer bufferSize; /** - * Required - API name: {@code buffer_size} + * API name: {@code buffer_size} */ - public final Builder bufferSize(int value) { + public final Builder bufferSize(@Nullable Integer value) { this.bufferSize = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CorePropertyBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CorePropertyBase.java index fef280357..47f15aff0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CorePropertyBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CorePropertyBase.java @@ -61,9 +61,6 @@ public abstract class CorePropertyBase extends PropertyBase { private final List copyTo; - @Nullable - private final String similarity; - @Nullable private final Boolean store; @@ -73,7 +70,6 @@ protected CorePropertyBase(AbstractBuilder builder) { super(builder); this.copyTo = ApiTypeHelper.unmodifiable(builder.copyTo); - this.similarity = builder.similarity; this.store = builder.store; } @@ -85,14 +81,6 @@ public final List copyTo() { return this.copyTo; } - /** - * API name: {@code similarity} - */ - @Nullable - public final String similarity() { - return this.similarity; - } - /** * API name: {@code store} */ @@ -113,11 +101,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); - } - if (this.similarity != null) { - generator.writeKey("similarity"); - generator.write(this.similarity); - } if (this.store != null) { generator.writeKey("store"); @@ -133,9 +116,6 @@ public abstract static class AbstractBuilder copyTo; - @Nullable - private String similarity; - @Nullable private Boolean store; @@ -159,14 +139,6 @@ public final BuilderT copyTo(String value, String... values) { return self(); } - /** - * API name: {@code similarity} - */ - public final BuilderT similarity(@Nullable String value) { - this.similarity = value; - return self(); - } - /** * API name: {@code store} */ @@ -183,7 +155,6 @@ protected static > void setupCoreProp PropertyBase.setupPropertyBaseDeserializer(op); op.add(AbstractBuilder::copyTo, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "copy_to"); - op.add(AbstractBuilder::similarity, JsonpDeserializer.stringDeserializer(), "similarity"); op.add(AbstractBuilder::store, JsonpDeserializer.booleanDeserializer(), "store"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/KeywordProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/KeywordProperty.java index 022376e1c..710c761fa 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/KeywordProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/KeywordProperty.java @@ -86,6 +86,9 @@ public class KeywordProperty extends DocValuesPropertyBase implements PropertyVa @Nullable private final String nullValue; + @Nullable + private final String similarity; + @Nullable private final Boolean splitQueriesOnWhitespace; @@ -106,6 +109,7 @@ private KeywordProperty(Builder builder) { this.normalizer = builder.normalizer; this.norms = builder.norms; this.nullValue = builder.nullValue; + this.similarity = builder.similarity; this.splitQueriesOnWhitespace = builder.splitQueriesOnWhitespace; this.timeSeriesDimension = builder.timeSeriesDimension; @@ -195,6 +199,14 @@ public final String nullValue() { return this.nullValue; } + /** + * API name: {@code similarity} + */ + @Nullable + public final String similarity() { + return this.similarity; + } + /** * API name: {@code split_queries_on_whitespace} */ @@ -260,6 +272,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("null_value"); generator.write(this.nullValue); + } + if (this.similarity != null) { + generator.writeKey("similarity"); + generator.write(this.similarity); + } if (this.splitQueriesOnWhitespace != null) { generator.writeKey("split_queries_on_whitespace"); @@ -310,6 +327,9 @@ public static class Builder extends DocValuesPropertyBase.AbstractBuilder @Nullable private String searchQuoteAnalyzer; + @Nullable + private String similarity; + @Nullable private TermVectorOption termVector; @@ -308,6 +328,14 @@ public final Builder searchQuoteAnalyzer(@Nullable String value) { return this; } + /** + * API name: {@code similarity} + */ + public final Builder similarity(@Nullable String value) { + this.similarity = value; + return this; + } + /** * API name: {@code term_vector} */ @@ -352,6 +380,7 @@ protected static void setupSearchAsYouTypePropertyDeserializer( op.add(Builder::norms, JsonpDeserializer.booleanDeserializer(), "norms"); op.add(Builder::searchAnalyzer, JsonpDeserializer.stringDeserializer(), "search_analyzer"); op.add(Builder::searchQuoteAnalyzer, JsonpDeserializer.stringDeserializer(), "search_quote_analyzer"); + op.add(Builder::similarity, JsonpDeserializer.stringDeserializer(), "similarity"); op.add(Builder::termVector, TermVectorOption._DESERIALIZER, "term_vector"); op.ignore("type"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextProperty.java index 057710555..8d5757bff 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextProperty.java @@ -98,6 +98,9 @@ public class TextProperty extends CorePropertyBase implements PropertyVariant { @Nullable private final String searchQuoteAnalyzer; + @Nullable + private final String similarity; + @Nullable private final TermVectorOption termVector; @@ -119,6 +122,7 @@ private TextProperty(Builder builder) { this.positionIncrementGap = builder.positionIncrementGap; this.searchAnalyzer = builder.searchAnalyzer; this.searchQuoteAnalyzer = builder.searchQuoteAnalyzer; + this.similarity = builder.similarity; this.termVector = builder.termVector; } @@ -239,6 +243,14 @@ public final String searchQuoteAnalyzer() { return this.searchQuoteAnalyzer; } + /** + * API name: {@code similarity} + */ + @Nullable + public final String similarity() { + return this.similarity; + } + /** * API name: {@code term_vector} */ @@ -314,6 +326,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("search_quote_analyzer"); generator.write(this.searchQuoteAnalyzer); + } + if (this.similarity != null) { + generator.writeKey("similarity"); + generator.write(this.similarity); + } if (this.termVector != null) { generator.writeKey("term_vector"); @@ -370,6 +387,9 @@ public static class Builder extends CorePropertyBase.AbstractBuilder @Nullable private String searchQuoteAnalyzer; + @Nullable + private String similarity; + @Nullable private TermVectorOption termVector; @@ -492,6 +512,14 @@ public final Builder searchQuoteAnalyzer(@Nullable String value) { return this; } + /** + * API name: {@code similarity} + */ + public final Builder similarity(@Nullable String value) { + this.similarity = value; + return this; + } + /** * API name: {@code term_vector} */ @@ -541,6 +569,7 @@ protected static void setupTextPropertyDeserializer(ObjectDeserializer terms; + private final List terms; // --------------------------------------------------------------------------------------------- @@ -76,6 +81,7 @@ private TermsSetQuery(Builder builder) { super(builder); this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.minimumShouldMatch = builder.minimumShouldMatch; this.minimumShouldMatchField = builder.minimumShouldMatchField; this.minimumShouldMatchScript = builder.minimumShouldMatchScript; this.terms = ApiTypeHelper.unmodifiableRequired(builder.terms, this, "terms"); @@ -101,6 +107,17 @@ public final String field() { return this.field; } + /** + * Specification describing number of matching terms required to return a + * document. + *

+ * API name: {@code minimum_should_match} + */ + @Nullable + public final String minimumShouldMatch() { + return this.minimumShouldMatch; + } + /** * Numeric field containing the number of matching terms required to return a * document. @@ -128,7 +145,7 @@ public final Script minimumShouldMatchScript() { *

* API name: {@code terms} */ - public final List terms() { + public final List terms() { return this.terms; } @@ -136,6 +153,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeStartObject(this.field); super.serializeInternal(generator, mapper); + if (this.minimumShouldMatch != null) { + generator.writeKey("minimum_should_match"); + generator.write(this.minimumShouldMatch); + + } if (this.minimumShouldMatchField != null) { generator.writeKey("minimum_should_match_field"); generator.write(this.minimumShouldMatchField); @@ -149,8 +171,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.terms)) { generator.writeKey("terms"); generator.writeStartArray(); - for (String item0 : this.terms) { - generator.write(item0); + for (FieldValue item0 : this.terms) { + item0.serialize(generator, mapper); } generator.writeEnd(); @@ -178,13 +200,27 @@ public final Builder field(String value) { return this; } + @Nullable + private String minimumShouldMatch; + @Nullable private String minimumShouldMatchField; @Nullable private Script minimumShouldMatchScript; - private List terms; + private List terms; + + /** + * Specification describing number of matching terms required to return a + * document. + *

+ * API name: {@code minimum_should_match} + */ + public final Builder minimumShouldMatch(@Nullable String value) { + this.minimumShouldMatch = value; + return this; + } /** * Numeric field containing the number of matching terms required to return a @@ -225,7 +261,7 @@ public final Builder minimumShouldMatchScript(Function * Adds all elements of list to terms. */ - public final Builder terms(List list) { + public final Builder terms(List list) { this.terms = _listAddAll(this.terms, list); return this; } @@ -237,11 +273,90 @@ public final Builder terms(List list) { *

* Adds one or more values to terms. */ - public final Builder terms(String value, String... values) { + public final Builder terms(FieldValue value, FieldValue... values) { this.terms = _listAdd(this.terms, value, values); return this; } + /** + * Required - Array of terms you wish to find in the provided field. + *

+ * API name: {@code terms} + *

+ * Adds all passed values to terms. + */ + public final Builder terms(String value, String... values) { + this.terms = _listAdd(this.terms, FieldValue.of(value)); + List fieldValues = new ArrayList<>(); + for (String v : values) { + fieldValues.add(FieldValue.of(v)); + } + this.terms = _listAddAll(this.terms, fieldValues); + return this; + } + + /** + * Required - Array of terms you wish to find in the provided field. + *

+ * API name: {@code terms} + *

+ * Adds all passed values to terms. + */ + public final Builder terms(long value, long... values) { + this.terms = _listAdd(this.terms, FieldValue.of(value)); + List fieldValues = new ArrayList<>(); + for (long v : values) { + fieldValues.add(FieldValue.of(v)); + } + this.terms = _listAddAll(this.terms, fieldValues); + return this; + } + + /** + * Required - Array of terms you wish to find in the provided field. + *

+ * API name: {@code terms} + *

+ * Adds all passed values to terms. + */ + public final Builder terms(double value, double... values) { + this.terms = _listAdd(this.terms, FieldValue.of(value)); + List fieldValues = new ArrayList<>(); + for (double v : values) { + fieldValues.add(FieldValue.of(v)); + } + this.terms = _listAddAll(this.terms, fieldValues); + return this; + } + + /** + * Required - Array of terms you wish to find in the provided field. + *

+ * API name: {@code terms} + *

+ * Adds all passed values to terms. + */ + public final Builder terms(boolean value, boolean... values) { + this.terms = _listAdd(this.terms, FieldValue.of(value)); + List fieldValues = new ArrayList<>(); + for (boolean v : values) { + fieldValues.add(FieldValue.of(v)); + } + this.terms = _listAddAll(this.terms, fieldValues); + return this; + } + + /** + * Required - Array of terms you wish to find in the provided field. + *

+ * API name: {@code terms} + *

+ * Adds a value to terms using a builder lambda. + */ + public final Builder terms(Function> fn) { + return terms(fn.apply(new FieldValue.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -270,9 +385,10 @@ public TermsSetQuery build() { protected static void setupTermsSetQueryDeserializer(ObjectDeserializer op) { QueryBase.setupQueryBaseDeserializer(op); + op.add(Builder::minimumShouldMatch, JsonpDeserializer.stringDeserializer(), "minimum_should_match"); op.add(Builder::minimumShouldMatchField, JsonpDeserializer.stringDeserializer(), "minimum_should_match_field"); op.add(Builder::minimumShouldMatchScript, Script._DESERIALIZER, "minimum_should_match_script"); - op.add(Builder::terms, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "terms"); + op.add(Builder::terms, JsonpDeserializer.arrayDeserializer(FieldValue._DESERIALIZER), "terms"); op.setKey(Builder::field, JsonpDeserializer.stringDeserializer()); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDebug.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDebug.java index c2610126e..a15a89025 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDebug.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDebug.java @@ -145,6 +145,18 @@ public class AggregationProfileDebug implements JsonpSerializable { @Nullable private final String mapReducer; + @Nullable + private final Integer bruteForceUsed; + + @Nullable + private final Integer dynamicPruningAttempted; + + @Nullable + private final Integer dynamicPruningUsed; + + @Nullable + private final Integer skippedDueToNoData; + // --------------------------------------------------------------------------------------------- private AggregationProfileDebug(Builder builder) { @@ -177,6 +189,10 @@ private AggregationProfileDebug(Builder builder) { this.segmentsCounted = builder.segmentsCounted; this.segmentsCollected = builder.segmentsCollected; this.mapReducer = builder.mapReducer; + this.bruteForceUsed = builder.bruteForceUsed; + this.dynamicPruningAttempted = builder.dynamicPruningAttempted; + this.dynamicPruningUsed = builder.dynamicPruningUsed; + this.skippedDueToNoData = builder.skippedDueToNoData; } @@ -406,6 +422,38 @@ public final String mapReducer() { return this.mapReducer; } + /** + * API name: {@code brute_force_used} + */ + @Nullable + public final Integer bruteForceUsed() { + return this.bruteForceUsed; + } + + /** + * API name: {@code dynamic_pruning_attempted} + */ + @Nullable + public final Integer dynamicPruningAttempted() { + return this.dynamicPruningAttempted; + } + + /** + * API name: {@code dynamic_pruning_used} + */ + @Nullable + public final Integer dynamicPruningUsed() { + return this.dynamicPruningUsed; + } + + /** + * API name: {@code skipped_due_to_no_data} + */ + @Nullable + public final Integer skippedDueToNoData() { + return this.skippedDueToNoData; + } + /** * Serialize this object to JSON. */ @@ -567,6 +615,26 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.mapReducer); } + if (this.bruteForceUsed != null) { + generator.writeKey("brute_force_used"); + generator.write(this.bruteForceUsed); + + } + if (this.dynamicPruningAttempted != null) { + generator.writeKey("dynamic_pruning_attempted"); + generator.write(this.dynamicPruningAttempted); + + } + if (this.dynamicPruningUsed != null) { + generator.writeKey("dynamic_pruning_used"); + generator.write(this.dynamicPruningUsed); + + } + if (this.skippedDueToNoData != null) { + generator.writeKey("skipped_due_to_no_data"); + generator.write(this.skippedDueToNoData); + + } } @@ -668,6 +736,18 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String mapReducer; + @Nullable + private Integer bruteForceUsed; + + @Nullable + private Integer dynamicPruningAttempted; + + @Nullable + private Integer dynamicPruningUsed; + + @Nullable + private Integer skippedDueToNoData; + /** * API name: {@code segments_with_multi_valued_ords} */ @@ -935,6 +1015,38 @@ public final Builder mapReducer(@Nullable String value) { return this; } + /** + * API name: {@code brute_force_used} + */ + public final Builder bruteForceUsed(@Nullable Integer value) { + this.bruteForceUsed = value; + return this; + } + + /** + * API name: {@code dynamic_pruning_attempted} + */ + public final Builder dynamicPruningAttempted(@Nullable Integer value) { + this.dynamicPruningAttempted = value; + return this; + } + + /** + * API name: {@code dynamic_pruning_used} + */ + public final Builder dynamicPruningUsed(@Nullable Integer value) { + this.dynamicPruningUsed = value; + return this; + } + + /** + * API name: {@code skipped_due_to_no_data} + */ + public final Builder skippedDueToNoData(@Nullable Integer value) { + this.skippedDueToNoData = value; + return this; + } + @Override protected Builder self() { return this; @@ -999,6 +1111,10 @@ protected static void setupAggregationProfileDebugDeserializer( op.add(Builder::segmentsCounted, JsonpDeserializer.integerDeserializer(), "segments_counted"); op.add(Builder::segmentsCollected, JsonpDeserializer.integerDeserializer(), "segments_collected"); op.add(Builder::mapReducer, JsonpDeserializer.stringDeserializer(), "map_reducer"); + op.add(Builder::bruteForceUsed, JsonpDeserializer.integerDeserializer(), "brute_force_used"); + op.add(Builder::dynamicPruningAttempted, JsonpDeserializer.integerDeserializer(), "dynamic_pruning_attempted"); + op.add(Builder::dynamicPruningUsed, JsonpDeserializer.integerDeserializer(), "dynamic_pruning_used"); + op.add(Builder::skippedDueToNoData, JsonpDeserializer.integerDeserializer(), "skipped_due_to_no_data"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsKnnProfile.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsKnnProfile.java new file mode 100644 index 000000000..1beb52686 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsKnnProfile.java @@ -0,0 +1,289 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.DfsKnnProfile + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DfsKnnProfile implements JsonpSerializable { + @Nullable + private final Long vectorOperationsCount; + + private final List query; + + private final long rewriteTime; + + private final List collector; + + // --------------------------------------------------------------------------------------------- + + private DfsKnnProfile(Builder builder) { + + this.vectorOperationsCount = builder.vectorOperationsCount; + this.query = ApiTypeHelper.unmodifiableRequired(builder.query, this, "query"); + this.rewriteTime = ApiTypeHelper.requireNonNull(builder.rewriteTime, this, "rewriteTime"); + this.collector = ApiTypeHelper.unmodifiableRequired(builder.collector, this, "collector"); + + } + + public static DfsKnnProfile of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code vector_operations_count} + */ + @Nullable + public final Long vectorOperationsCount() { + return this.vectorOperationsCount; + } + + /** + * Required - API name: {@code query} + */ + public final List query() { + return this.query; + } + + /** + * Required - API name: {@code rewrite_time} + */ + public final long rewriteTime() { + return this.rewriteTime; + } + + /** + * Required - API name: {@code collector} + */ + public final List collector() { + return this.collector; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.vectorOperationsCount != null) { + generator.writeKey("vector_operations_count"); + generator.write(this.vectorOperationsCount); + + } + if (ApiTypeHelper.isDefined(this.query)) { + generator.writeKey("query"); + generator.writeStartArray(); + for (KnnQueryProfileResult item0 : this.query) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + generator.writeKey("rewrite_time"); + generator.write(this.rewriteTime); + + if (ApiTypeHelper.isDefined(this.collector)) { + generator.writeKey("collector"); + generator.writeStartArray(); + for (KnnCollectorResult item0 : this.collector) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DfsKnnProfile}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private Long vectorOperationsCount; + + private List query; + + private Long rewriteTime; + + private List collector; + + /** + * API name: {@code vector_operations_count} + */ + public final Builder vectorOperationsCount(@Nullable Long value) { + this.vectorOperationsCount = value; + return this; + } + + /** + * Required - API name: {@code query} + *

+ * Adds all elements of list to query. + */ + public final Builder query(List list) { + this.query = _listAddAll(this.query, list); + return this; + } + + /** + * Required - API name: {@code query} + *

+ * Adds one or more values to query. + */ + public final Builder query(KnnQueryProfileResult value, KnnQueryProfileResult... values) { + this.query = _listAdd(this.query, value, values); + return this; + } + + /** + * Required - API name: {@code query} + *

+ * Adds a value to query using a builder lambda. + */ + public final Builder query(Function> fn) { + return query(fn.apply(new KnnQueryProfileResult.Builder()).build()); + } + + /** + * Required - API name: {@code rewrite_time} + */ + public final Builder rewriteTime(long value) { + this.rewriteTime = value; + return this; + } + + /** + * Required - API name: {@code collector} + *

+ * Adds all elements of list to collector. + */ + public final Builder collector(List list) { + this.collector = _listAddAll(this.collector, list); + return this; + } + + /** + * Required - API name: {@code collector} + *

+ * Adds one or more values to collector. + */ + public final Builder collector(KnnCollectorResult value, KnnCollectorResult... values) { + this.collector = _listAdd(this.collector, value, values); + return this; + } + + /** + * Required - API name: {@code collector} + *

+ * Adds a value to collector using a builder lambda. + */ + public final Builder collector(Function> fn) { + return collector(fn.apply(new KnnCollectorResult.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DfsKnnProfile}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DfsKnnProfile build() { + _checkSingleUse(); + + return new DfsKnnProfile(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DfsKnnProfile} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + DfsKnnProfile::setupDfsKnnProfileDeserializer); + + protected static void setupDfsKnnProfileDeserializer(ObjectDeserializer op) { + + op.add(Builder::vectorOperationsCount, JsonpDeserializer.longDeserializer(), "vector_operations_count"); + op.add(Builder::query, JsonpDeserializer.arrayDeserializer(KnnQueryProfileResult._DESERIALIZER), "query"); + op.add(Builder::rewriteTime, JsonpDeserializer.longDeserializer(), "rewrite_time"); + op.add(Builder::collector, JsonpDeserializer.arrayDeserializer(KnnCollectorResult._DESERIALIZER), "collector"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsProfile.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsProfile.java new file mode 100644 index 000000000..466ceba23 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsProfile.java @@ -0,0 +1,221 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.DfsProfile + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DfsProfile implements JsonpSerializable { + @Nullable + private final DfsStatisticsProfile statistics; + + private final List knn; + + // --------------------------------------------------------------------------------------------- + + private DfsProfile(Builder builder) { + + this.statistics = builder.statistics; + this.knn = ApiTypeHelper.unmodifiable(builder.knn); + + } + + public static DfsProfile of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code statistics} + */ + @Nullable + public final DfsStatisticsProfile statistics() { + return this.statistics; + } + + /** + * API name: {@code knn} + */ + public final List knn() { + return this.knn; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.statistics != null) { + generator.writeKey("statistics"); + this.statistics.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.knn)) { + generator.writeKey("knn"); + generator.writeStartArray(); + for (DfsKnnProfile item0 : this.knn) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DfsProfile}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private DfsStatisticsProfile statistics; + + @Nullable + private List knn; + + /** + * API name: {@code statistics} + */ + public final Builder statistics(@Nullable DfsStatisticsProfile value) { + this.statistics = value; + return this; + } + + /** + * API name: {@code statistics} + */ + public final Builder statistics( + Function> fn) { + return this.statistics(fn.apply(new DfsStatisticsProfile.Builder()).build()); + } + + /** + * API name: {@code knn} + *

+ * Adds all elements of list to knn. + */ + public final Builder knn(List list) { + this.knn = _listAddAll(this.knn, list); + return this; + } + + /** + * API name: {@code knn} + *

+ * Adds one or more values to knn. + */ + public final Builder knn(DfsKnnProfile value, DfsKnnProfile... values) { + this.knn = _listAdd(this.knn, value, values); + return this; + } + + /** + * API name: {@code knn} + *

+ * Adds a value to knn using a builder lambda. + */ + public final Builder knn(Function> fn) { + return knn(fn.apply(new DfsKnnProfile.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DfsProfile}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DfsProfile build() { + _checkSingleUse(); + + return new DfsProfile(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DfsProfile} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + DfsProfile::setupDfsProfileDeserializer); + + protected static void setupDfsProfileDeserializer(ObjectDeserializer op) { + + op.add(Builder::statistics, DfsStatisticsProfile._DESERIALIZER, "statistics"); + op.add(Builder::knn, JsonpDeserializer.arrayDeserializer(DfsKnnProfile._DESERIALIZER), "knn"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsBreakdown.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsBreakdown.java new file mode 100644 index 000000000..601fc89e1 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsBreakdown.java @@ -0,0 +1,327 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.DfsStatisticsBreakdown + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DfsStatisticsBreakdown implements JsonpSerializable { + private final long collectionStatistics; + + private final long collectionStatisticsCount; + + private final long createWeight; + + private final long createWeightCount; + + private final long rewrite; + + private final long rewriteCount; + + private final long termStatistics; + + private final long termStatisticsCount; + + // --------------------------------------------------------------------------------------------- + + private DfsStatisticsBreakdown(Builder builder) { + + this.collectionStatistics = ApiTypeHelper.requireNonNull(builder.collectionStatistics, this, + "collectionStatistics"); + this.collectionStatisticsCount = ApiTypeHelper.requireNonNull(builder.collectionStatisticsCount, this, + "collectionStatisticsCount"); + this.createWeight = ApiTypeHelper.requireNonNull(builder.createWeight, this, "createWeight"); + this.createWeightCount = ApiTypeHelper.requireNonNull(builder.createWeightCount, this, "createWeightCount"); + this.rewrite = ApiTypeHelper.requireNonNull(builder.rewrite, this, "rewrite"); + this.rewriteCount = ApiTypeHelper.requireNonNull(builder.rewriteCount, this, "rewriteCount"); + this.termStatistics = ApiTypeHelper.requireNonNull(builder.termStatistics, this, "termStatistics"); + this.termStatisticsCount = ApiTypeHelper.requireNonNull(builder.termStatisticsCount, this, + "termStatisticsCount"); + + } + + public static DfsStatisticsBreakdown of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code collection_statistics} + */ + public final long collectionStatistics() { + return this.collectionStatistics; + } + + /** + * Required - API name: {@code collection_statistics_count} + */ + public final long collectionStatisticsCount() { + return this.collectionStatisticsCount; + } + + /** + * Required - API name: {@code create_weight} + */ + public final long createWeight() { + return this.createWeight; + } + + /** + * Required - API name: {@code create_weight_count} + */ + public final long createWeightCount() { + return this.createWeightCount; + } + + /** + * Required - API name: {@code rewrite} + */ + public final long rewrite() { + return this.rewrite; + } + + /** + * Required - API name: {@code rewrite_count} + */ + public final long rewriteCount() { + return this.rewriteCount; + } + + /** + * Required - API name: {@code term_statistics} + */ + public final long termStatistics() { + return this.termStatistics; + } + + /** + * Required - API name: {@code term_statistics_count} + */ + public final long termStatisticsCount() { + return this.termStatisticsCount; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("collection_statistics"); + generator.write(this.collectionStatistics); + + generator.writeKey("collection_statistics_count"); + generator.write(this.collectionStatisticsCount); + + generator.writeKey("create_weight"); + generator.write(this.createWeight); + + generator.writeKey("create_weight_count"); + generator.write(this.createWeightCount); + + generator.writeKey("rewrite"); + generator.write(this.rewrite); + + generator.writeKey("rewrite_count"); + generator.write(this.rewriteCount); + + generator.writeKey("term_statistics"); + generator.write(this.termStatistics); + + generator.writeKey("term_statistics_count"); + generator.write(this.termStatisticsCount); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DfsStatisticsBreakdown}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Long collectionStatistics; + + private Long collectionStatisticsCount; + + private Long createWeight; + + private Long createWeightCount; + + private Long rewrite; + + private Long rewriteCount; + + private Long termStatistics; + + private Long termStatisticsCount; + + /** + * Required - API name: {@code collection_statistics} + */ + public final Builder collectionStatistics(long value) { + this.collectionStatistics = value; + return this; + } + + /** + * Required - API name: {@code collection_statistics_count} + */ + public final Builder collectionStatisticsCount(long value) { + this.collectionStatisticsCount = value; + return this; + } + + /** + * Required - API name: {@code create_weight} + */ + public final Builder createWeight(long value) { + this.createWeight = value; + return this; + } + + /** + * Required - API name: {@code create_weight_count} + */ + public final Builder createWeightCount(long value) { + this.createWeightCount = value; + return this; + } + + /** + * Required - API name: {@code rewrite} + */ + public final Builder rewrite(long value) { + this.rewrite = value; + return this; + } + + /** + * Required - API name: {@code rewrite_count} + */ + public final Builder rewriteCount(long value) { + this.rewriteCount = value; + return this; + } + + /** + * Required - API name: {@code term_statistics} + */ + public final Builder termStatistics(long value) { + this.termStatistics = value; + return this; + } + + /** + * Required - API name: {@code term_statistics_count} + */ + public final Builder termStatisticsCount(long value) { + this.termStatisticsCount = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DfsStatisticsBreakdown}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DfsStatisticsBreakdown build() { + _checkSingleUse(); + + return new DfsStatisticsBreakdown(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DfsStatisticsBreakdown} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, DfsStatisticsBreakdown::setupDfsStatisticsBreakdownDeserializer); + + protected static void setupDfsStatisticsBreakdownDeserializer( + ObjectDeserializer op) { + + op.add(Builder::collectionStatistics, JsonpDeserializer.longDeserializer(), "collection_statistics"); + op.add(Builder::collectionStatisticsCount, JsonpDeserializer.longDeserializer(), "collection_statistics_count"); + op.add(Builder::createWeight, JsonpDeserializer.longDeserializer(), "create_weight"); + op.add(Builder::createWeightCount, JsonpDeserializer.longDeserializer(), "create_weight_count"); + op.add(Builder::rewrite, JsonpDeserializer.longDeserializer(), "rewrite"); + op.add(Builder::rewriteCount, JsonpDeserializer.longDeserializer(), "rewrite_count"); + op.add(Builder::termStatistics, JsonpDeserializer.longDeserializer(), "term_statistics"); + op.add(Builder::termStatisticsCount, JsonpDeserializer.longDeserializer(), "term_statistics_count"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsProfile.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsProfile.java new file mode 100644 index 000000000..6c06bafc8 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/DfsStatisticsProfile.java @@ -0,0 +1,376 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.elasticsearch._types.Time; +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.DfsStatisticsProfile + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DfsStatisticsProfile implements JsonpSerializable { + private final String type; + + private final String description; + + @Nullable + private final Time time; + + private final long timeInNanos; + + private final DfsStatisticsBreakdown breakdown; + + private final Map debug; + + private final List children; + + // --------------------------------------------------------------------------------------------- + + private DfsStatisticsProfile(Builder builder) { + + this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); + this.description = ApiTypeHelper.requireNonNull(builder.description, this, "description"); + this.time = builder.time; + this.timeInNanos = ApiTypeHelper.requireNonNull(builder.timeInNanos, this, "timeInNanos"); + this.breakdown = ApiTypeHelper.requireNonNull(builder.breakdown, this, "breakdown"); + this.debug = ApiTypeHelper.unmodifiable(builder.debug); + this.children = ApiTypeHelper.unmodifiable(builder.children); + + } + + public static DfsStatisticsProfile of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code type} + */ + public final String type() { + return this.type; + } + + /** + * Required - API name: {@code description} + */ + public final String description() { + return this.description; + } + + /** + * API name: {@code time} + */ + @Nullable + public final Time time() { + return this.time; + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final long timeInNanos() { + return this.timeInNanos; + } + + /** + * Required - API name: {@code breakdown} + */ + public final DfsStatisticsBreakdown breakdown() { + return this.breakdown; + } + + /** + * API name: {@code debug} + */ + public final Map debug() { + return this.debug; + } + + /** + * API name: {@code children} + */ + public final List children() { + return this.children; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("type"); + generator.write(this.type); + + generator.writeKey("description"); + generator.write(this.description); + + if (this.time != null) { + generator.writeKey("time"); + this.time.serialize(generator, mapper); + + } + generator.writeKey("time_in_nanos"); + generator.write(this.timeInNanos); + + generator.writeKey("breakdown"); + this.breakdown.serialize(generator, mapper); + + if (ApiTypeHelper.isDefined(this.debug)) { + generator.writeKey("debug"); + generator.writeStartObject(); + for (Map.Entry item0 : this.debug.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.children)) { + generator.writeKey("children"); + generator.writeStartArray(); + for (DfsStatisticsProfile item0 : this.children) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DfsStatisticsProfile}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String type; + + private String description; + + @Nullable + private Time time; + + private Long timeInNanos; + + private DfsStatisticsBreakdown breakdown; + + @Nullable + private Map debug; + + @Nullable + private List children; + + /** + * Required - API name: {@code type} + */ + public final Builder type(String value) { + this.type = value; + return this; + } + + /** + * Required - API name: {@code description} + */ + public final Builder description(String value) { + this.description = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(@Nullable Time value) { + this.time = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(Function> fn) { + return this.time(fn.apply(new Time.Builder()).build()); + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final Builder timeInNanos(long value) { + this.timeInNanos = value; + return this; + } + + /** + * Required - API name: {@code breakdown} + */ + public final Builder breakdown(DfsStatisticsBreakdown value) { + this.breakdown = value; + return this; + } + + /** + * Required - API name: {@code breakdown} + */ + public final Builder breakdown( + Function> fn) { + return this.breakdown(fn.apply(new DfsStatisticsBreakdown.Builder()).build()); + } + + /** + * API name: {@code debug} + *

+ * Adds all entries of map to debug. + */ + public final Builder debug(Map map) { + this.debug = _mapPutAll(this.debug, map); + return this; + } + + /** + * API name: {@code debug} + *

+ * Adds an entry to debug. + */ + public final Builder debug(String key, JsonData value) { + this.debug = _mapPut(this.debug, key, value); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds all elements of list to children. + */ + public final Builder children(List list) { + this.children = _listAddAll(this.children, list); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds one or more values to children. + */ + public final Builder children(DfsStatisticsProfile value, DfsStatisticsProfile... values) { + this.children = _listAdd(this.children, value, values); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds a value to children using a builder lambda. + */ + public final Builder children(Function> fn) { + return children(fn.apply(new DfsStatisticsProfile.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DfsStatisticsProfile}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DfsStatisticsProfile build() { + _checkSingleUse(); + + return new DfsStatisticsProfile(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DfsStatisticsProfile} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, DfsStatisticsProfile::setupDfsStatisticsProfileDeserializer); + + protected static void setupDfsStatisticsProfileDeserializer(ObjectDeserializer op) { + + op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); + op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(Builder::time, Time._DESERIALIZER, "time"); + op.add(Builder::timeInNanos, JsonpDeserializer.longDeserializer(), "time_in_nanos"); + op.add(Builder::breakdown, DfsStatisticsBreakdown._DESERIALIZER, "breakdown"); + op.add(Builder::debug, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "debug"); + op.add(Builder::children, JsonpDeserializer.arrayDeserializer(DfsStatisticsProfile._DESERIALIZER), "children"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java index 970fc9800..9ea85b100 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java @@ -95,7 +95,7 @@ public class Hit implements JsonpSerializable { private final List ignored; - private final Map> ignoredFieldValues; + private final Map> ignoredFieldValues; @Nullable private final String shard; @@ -237,7 +237,7 @@ public final List ignored() { /** * API name: {@code ignored_field_values} */ - public final Map> ignoredFieldValues() { + public final Map> ignoredFieldValues() { return this.ignoredFieldValues; } @@ -408,12 +408,12 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.ignoredFieldValues)) { generator.writeKey("ignored_field_values"); generator.writeStartObject(); - for (Map.Entry> item0 : this.ignoredFieldValues.entrySet()) { + for (Map.Entry> item0 : this.ignoredFieldValues.entrySet()) { generator.writeKey(item0.getKey()); generator.writeStartArray(); if (item0.getValue() != null) { - for (String item1 : item0.getValue()) { - generator.write(item1); + for (FieldValue item1 : item0.getValue()) { + item1.serialize(generator, mapper); } } @@ -520,7 +520,7 @@ public static class Builder extends WithJsonObjectBuilderBase ignored; @Nullable - private Map> ignoredFieldValues; + private Map> ignoredFieldValues; @Nullable private String shard; @@ -723,7 +723,7 @@ public final Builder ignored(String value, String... values) { *

* Adds all entries of map to ignoredFieldValues. */ - public final Builder ignoredFieldValues(Map> map) { + public final Builder ignoredFieldValues(Map> map) { this.ignoredFieldValues = _mapPutAll(this.ignoredFieldValues, map); return this; } @@ -733,7 +733,7 @@ public final Builder ignoredFieldValues(Map> map *

* Adds an entry to ignoredFieldValues. */ - public final Builder ignoredFieldValues(String key, List value) { + public final Builder ignoredFieldValues(String key, List value) { this.ignoredFieldValues = _mapPut(this.ignoredFieldValues, key, value); return this; } @@ -955,8 +955,7 @@ protected static void setupHitDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class KnnCollectorResult implements JsonpSerializable { + private final String name; + + private final String reason; + + @Nullable + private final Time time; + + private final long timeInNanos; + + private final List children; + + // --------------------------------------------------------------------------------------------- + + private KnnCollectorResult(Builder builder) { + + this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); + this.reason = ApiTypeHelper.requireNonNull(builder.reason, this, "reason"); + this.time = builder.time; + this.timeInNanos = ApiTypeHelper.requireNonNull(builder.timeInNanos, this, "timeInNanos"); + this.children = ApiTypeHelper.unmodifiable(builder.children); + + } + + public static KnnCollectorResult of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code name} + */ + public final String name() { + return this.name; + } + + /** + * Required - API name: {@code reason} + */ + public final String reason() { + return this.reason; + } + + /** + * API name: {@code time} + */ + @Nullable + public final Time time() { + return this.time; + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final long timeInNanos() { + return this.timeInNanos; + } + + /** + * API name: {@code children} + */ + public final List children() { + return this.children; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("name"); + generator.write(this.name); + + generator.writeKey("reason"); + generator.write(this.reason); + + if (this.time != null) { + generator.writeKey("time"); + this.time.serialize(generator, mapper); + + } + generator.writeKey("time_in_nanos"); + generator.write(this.timeInNanos); + + if (ApiTypeHelper.isDefined(this.children)) { + generator.writeKey("children"); + generator.writeStartArray(); + for (KnnCollectorResult item0 : this.children) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link KnnCollectorResult}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String name; + + private String reason; + + @Nullable + private Time time; + + private Long timeInNanos; + + @Nullable + private List children; + + /** + * Required - API name: {@code name} + */ + public final Builder name(String value) { + this.name = value; + return this; + } + + /** + * Required - API name: {@code reason} + */ + public final Builder reason(String value) { + this.reason = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(@Nullable Time value) { + this.time = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(Function> fn) { + return this.time(fn.apply(new Time.Builder()).build()); + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final Builder timeInNanos(long value) { + this.timeInNanos = value; + return this; + } + + /** + * API name: {@code children} + *

+ * Adds all elements of list to children. + */ + public final Builder children(List list) { + this.children = _listAddAll(this.children, list); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds one or more values to children. + */ + public final Builder children(KnnCollectorResult value, KnnCollectorResult... values) { + this.children = _listAdd(this.children, value, values); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds a value to children using a builder lambda. + */ + public final Builder children(Function> fn) { + return children(fn.apply(new KnnCollectorResult.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link KnnCollectorResult}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public KnnCollectorResult build() { + _checkSingleUse(); + + return new KnnCollectorResult(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link KnnCollectorResult} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, KnnCollectorResult::setupKnnCollectorResultDeserializer); + + protected static void setupKnnCollectorResultDeserializer(ObjectDeserializer op) { + + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + op.add(Builder::reason, JsonpDeserializer.stringDeserializer(), "reason"); + op.add(Builder::time, Time._DESERIALIZER, "time"); + op.add(Builder::timeInNanos, JsonpDeserializer.longDeserializer(), "time_in_nanos"); + op.add(Builder::children, JsonpDeserializer.arrayDeserializer(KnnCollectorResult._DESERIALIZER), "children"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileBreakdown.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileBreakdown.java new file mode 100644 index 000000000..d48c3c2c3 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileBreakdown.java @@ -0,0 +1,617 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.KnnQueryProfileBreakdown + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class KnnQueryProfileBreakdown implements JsonpSerializable { + private final long advance; + + private final long advanceCount; + + private final long buildScorer; + + private final long buildScorerCount; + + private final long computeMaxScore; + + private final long computeMaxScoreCount; + + private final long countWeight; + + private final long countWeightCount; + + private final long createWeight; + + private final long createWeightCount; + + private final long match; + + private final long matchCount; + + private final long nextDoc; + + private final long nextDocCount; + + private final long score; + + private final long scoreCount; + + private final long setMinCompetitiveScore; + + private final long setMinCompetitiveScoreCount; + + private final long shallowAdvance; + + private final long shallowAdvanceCount; + + // --------------------------------------------------------------------------------------------- + + private KnnQueryProfileBreakdown(Builder builder) { + + this.advance = ApiTypeHelper.requireNonNull(builder.advance, this, "advance"); + this.advanceCount = ApiTypeHelper.requireNonNull(builder.advanceCount, this, "advanceCount"); + this.buildScorer = ApiTypeHelper.requireNonNull(builder.buildScorer, this, "buildScorer"); + this.buildScorerCount = ApiTypeHelper.requireNonNull(builder.buildScorerCount, this, "buildScorerCount"); + this.computeMaxScore = ApiTypeHelper.requireNonNull(builder.computeMaxScore, this, "computeMaxScore"); + this.computeMaxScoreCount = ApiTypeHelper.requireNonNull(builder.computeMaxScoreCount, this, + "computeMaxScoreCount"); + this.countWeight = ApiTypeHelper.requireNonNull(builder.countWeight, this, "countWeight"); + this.countWeightCount = ApiTypeHelper.requireNonNull(builder.countWeightCount, this, "countWeightCount"); + this.createWeight = ApiTypeHelper.requireNonNull(builder.createWeight, this, "createWeight"); + this.createWeightCount = ApiTypeHelper.requireNonNull(builder.createWeightCount, this, "createWeightCount"); + this.match = ApiTypeHelper.requireNonNull(builder.match, this, "match"); + this.matchCount = ApiTypeHelper.requireNonNull(builder.matchCount, this, "matchCount"); + this.nextDoc = ApiTypeHelper.requireNonNull(builder.nextDoc, this, "nextDoc"); + this.nextDocCount = ApiTypeHelper.requireNonNull(builder.nextDocCount, this, "nextDocCount"); + this.score = ApiTypeHelper.requireNonNull(builder.score, this, "score"); + this.scoreCount = ApiTypeHelper.requireNonNull(builder.scoreCount, this, "scoreCount"); + this.setMinCompetitiveScore = ApiTypeHelper.requireNonNull(builder.setMinCompetitiveScore, this, + "setMinCompetitiveScore"); + this.setMinCompetitiveScoreCount = ApiTypeHelper.requireNonNull(builder.setMinCompetitiveScoreCount, this, + "setMinCompetitiveScoreCount"); + this.shallowAdvance = ApiTypeHelper.requireNonNull(builder.shallowAdvance, this, "shallowAdvance"); + this.shallowAdvanceCount = ApiTypeHelper.requireNonNull(builder.shallowAdvanceCount, this, + "shallowAdvanceCount"); + + } + + public static KnnQueryProfileBreakdown of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code advance} + */ + public final long advance() { + return this.advance; + } + + /** + * Required - API name: {@code advance_count} + */ + public final long advanceCount() { + return this.advanceCount; + } + + /** + * Required - API name: {@code build_scorer} + */ + public final long buildScorer() { + return this.buildScorer; + } + + /** + * Required - API name: {@code build_scorer_count} + */ + public final long buildScorerCount() { + return this.buildScorerCount; + } + + /** + * Required - API name: {@code compute_max_score} + */ + public final long computeMaxScore() { + return this.computeMaxScore; + } + + /** + * Required - API name: {@code compute_max_score_count} + */ + public final long computeMaxScoreCount() { + return this.computeMaxScoreCount; + } + + /** + * Required - API name: {@code count_weight} + */ + public final long countWeight() { + return this.countWeight; + } + + /** + * Required - API name: {@code count_weight_count} + */ + public final long countWeightCount() { + return this.countWeightCount; + } + + /** + * Required - API name: {@code create_weight} + */ + public final long createWeight() { + return this.createWeight; + } + + /** + * Required - API name: {@code create_weight_count} + */ + public final long createWeightCount() { + return this.createWeightCount; + } + + /** + * Required - API name: {@code match} + */ + public final long match() { + return this.match; + } + + /** + * Required - API name: {@code match_count} + */ + public final long matchCount() { + return this.matchCount; + } + + /** + * Required - API name: {@code next_doc} + */ + public final long nextDoc() { + return this.nextDoc; + } + + /** + * Required - API name: {@code next_doc_count} + */ + public final long nextDocCount() { + return this.nextDocCount; + } + + /** + * Required - API name: {@code score} + */ + public final long score() { + return this.score; + } + + /** + * Required - API name: {@code score_count} + */ + public final long scoreCount() { + return this.scoreCount; + } + + /** + * Required - API name: {@code set_min_competitive_score} + */ + public final long setMinCompetitiveScore() { + return this.setMinCompetitiveScore; + } + + /** + * Required - API name: {@code set_min_competitive_score_count} + */ + public final long setMinCompetitiveScoreCount() { + return this.setMinCompetitiveScoreCount; + } + + /** + * Required - API name: {@code shallow_advance} + */ + public final long shallowAdvance() { + return this.shallowAdvance; + } + + /** + * Required - API name: {@code shallow_advance_count} + */ + public final long shallowAdvanceCount() { + return this.shallowAdvanceCount; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("advance"); + generator.write(this.advance); + + generator.writeKey("advance_count"); + generator.write(this.advanceCount); + + generator.writeKey("build_scorer"); + generator.write(this.buildScorer); + + generator.writeKey("build_scorer_count"); + generator.write(this.buildScorerCount); + + generator.writeKey("compute_max_score"); + generator.write(this.computeMaxScore); + + generator.writeKey("compute_max_score_count"); + generator.write(this.computeMaxScoreCount); + + generator.writeKey("count_weight"); + generator.write(this.countWeight); + + generator.writeKey("count_weight_count"); + generator.write(this.countWeightCount); + + generator.writeKey("create_weight"); + generator.write(this.createWeight); + + generator.writeKey("create_weight_count"); + generator.write(this.createWeightCount); + + generator.writeKey("match"); + generator.write(this.match); + + generator.writeKey("match_count"); + generator.write(this.matchCount); + + generator.writeKey("next_doc"); + generator.write(this.nextDoc); + + generator.writeKey("next_doc_count"); + generator.write(this.nextDocCount); + + generator.writeKey("score"); + generator.write(this.score); + + generator.writeKey("score_count"); + generator.write(this.scoreCount); + + generator.writeKey("set_min_competitive_score"); + generator.write(this.setMinCompetitiveScore); + + generator.writeKey("set_min_competitive_score_count"); + generator.write(this.setMinCompetitiveScoreCount); + + generator.writeKey("shallow_advance"); + generator.write(this.shallowAdvance); + + generator.writeKey("shallow_advance_count"); + generator.write(this.shallowAdvanceCount); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link KnnQueryProfileBreakdown}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Long advance; + + private Long advanceCount; + + private Long buildScorer; + + private Long buildScorerCount; + + private Long computeMaxScore; + + private Long computeMaxScoreCount; + + private Long countWeight; + + private Long countWeightCount; + + private Long createWeight; + + private Long createWeightCount; + + private Long match; + + private Long matchCount; + + private Long nextDoc; + + private Long nextDocCount; + + private Long score; + + private Long scoreCount; + + private Long setMinCompetitiveScore; + + private Long setMinCompetitiveScoreCount; + + private Long shallowAdvance; + + private Long shallowAdvanceCount; + + /** + * Required - API name: {@code advance} + */ + public final Builder advance(long value) { + this.advance = value; + return this; + } + + /** + * Required - API name: {@code advance_count} + */ + public final Builder advanceCount(long value) { + this.advanceCount = value; + return this; + } + + /** + * Required - API name: {@code build_scorer} + */ + public final Builder buildScorer(long value) { + this.buildScorer = value; + return this; + } + + /** + * Required - API name: {@code build_scorer_count} + */ + public final Builder buildScorerCount(long value) { + this.buildScorerCount = value; + return this; + } + + /** + * Required - API name: {@code compute_max_score} + */ + public final Builder computeMaxScore(long value) { + this.computeMaxScore = value; + return this; + } + + /** + * Required - API name: {@code compute_max_score_count} + */ + public final Builder computeMaxScoreCount(long value) { + this.computeMaxScoreCount = value; + return this; + } + + /** + * Required - API name: {@code count_weight} + */ + public final Builder countWeight(long value) { + this.countWeight = value; + return this; + } + + /** + * Required - API name: {@code count_weight_count} + */ + public final Builder countWeightCount(long value) { + this.countWeightCount = value; + return this; + } + + /** + * Required - API name: {@code create_weight} + */ + public final Builder createWeight(long value) { + this.createWeight = value; + return this; + } + + /** + * Required - API name: {@code create_weight_count} + */ + public final Builder createWeightCount(long value) { + this.createWeightCount = value; + return this; + } + + /** + * Required - API name: {@code match} + */ + public final Builder match(long value) { + this.match = value; + return this; + } + + /** + * Required - API name: {@code match_count} + */ + public final Builder matchCount(long value) { + this.matchCount = value; + return this; + } + + /** + * Required - API name: {@code next_doc} + */ + public final Builder nextDoc(long value) { + this.nextDoc = value; + return this; + } + + /** + * Required - API name: {@code next_doc_count} + */ + public final Builder nextDocCount(long value) { + this.nextDocCount = value; + return this; + } + + /** + * Required - API name: {@code score} + */ + public final Builder score(long value) { + this.score = value; + return this; + } + + /** + * Required - API name: {@code score_count} + */ + public final Builder scoreCount(long value) { + this.scoreCount = value; + return this; + } + + /** + * Required - API name: {@code set_min_competitive_score} + */ + public final Builder setMinCompetitiveScore(long value) { + this.setMinCompetitiveScore = value; + return this; + } + + /** + * Required - API name: {@code set_min_competitive_score_count} + */ + public final Builder setMinCompetitiveScoreCount(long value) { + this.setMinCompetitiveScoreCount = value; + return this; + } + + /** + * Required - API name: {@code shallow_advance} + */ + public final Builder shallowAdvance(long value) { + this.shallowAdvance = value; + return this; + } + + /** + * Required - API name: {@code shallow_advance_count} + */ + public final Builder shallowAdvanceCount(long value) { + this.shallowAdvanceCount = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link KnnQueryProfileBreakdown}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public KnnQueryProfileBreakdown build() { + _checkSingleUse(); + + return new KnnQueryProfileBreakdown(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link KnnQueryProfileBreakdown} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, KnnQueryProfileBreakdown::setupKnnQueryProfileBreakdownDeserializer); + + protected static void setupKnnQueryProfileBreakdownDeserializer( + ObjectDeserializer op) { + + op.add(Builder::advance, JsonpDeserializer.longDeserializer(), "advance"); + op.add(Builder::advanceCount, JsonpDeserializer.longDeserializer(), "advance_count"); + op.add(Builder::buildScorer, JsonpDeserializer.longDeserializer(), "build_scorer"); + op.add(Builder::buildScorerCount, JsonpDeserializer.longDeserializer(), "build_scorer_count"); + op.add(Builder::computeMaxScore, JsonpDeserializer.longDeserializer(), "compute_max_score"); + op.add(Builder::computeMaxScoreCount, JsonpDeserializer.longDeserializer(), "compute_max_score_count"); + op.add(Builder::countWeight, JsonpDeserializer.longDeserializer(), "count_weight"); + op.add(Builder::countWeightCount, JsonpDeserializer.longDeserializer(), "count_weight_count"); + op.add(Builder::createWeight, JsonpDeserializer.longDeserializer(), "create_weight"); + op.add(Builder::createWeightCount, JsonpDeserializer.longDeserializer(), "create_weight_count"); + op.add(Builder::match, JsonpDeserializer.longDeserializer(), "match"); + op.add(Builder::matchCount, JsonpDeserializer.longDeserializer(), "match_count"); + op.add(Builder::nextDoc, JsonpDeserializer.longDeserializer(), "next_doc"); + op.add(Builder::nextDocCount, JsonpDeserializer.longDeserializer(), "next_doc_count"); + op.add(Builder::score, JsonpDeserializer.longDeserializer(), "score"); + op.add(Builder::scoreCount, JsonpDeserializer.longDeserializer(), "score_count"); + op.add(Builder::setMinCompetitiveScore, JsonpDeserializer.longDeserializer(), "set_min_competitive_score"); + op.add(Builder::setMinCompetitiveScoreCount, JsonpDeserializer.longDeserializer(), + "set_min_competitive_score_count"); + op.add(Builder::shallowAdvance, JsonpDeserializer.longDeserializer(), "shallow_advance"); + op.add(Builder::shallowAdvanceCount, JsonpDeserializer.longDeserializer(), "shallow_advance_count"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileResult.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileResult.java new file mode 100644 index 000000000..f9f0aa669 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/KnnQueryProfileResult.java @@ -0,0 +1,377 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.search; + +import co.elastic.clients.elasticsearch._types.Time; +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.search._types.KnnQueryProfileResult + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class KnnQueryProfileResult implements JsonpSerializable { + private final String type; + + private final String description; + + @Nullable + private final Time time; + + private final long timeInNanos; + + private final KnnQueryProfileBreakdown breakdown; + + private final Map debug; + + private final List children; + + // --------------------------------------------------------------------------------------------- + + private KnnQueryProfileResult(Builder builder) { + + this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); + this.description = ApiTypeHelper.requireNonNull(builder.description, this, "description"); + this.time = builder.time; + this.timeInNanos = ApiTypeHelper.requireNonNull(builder.timeInNanos, this, "timeInNanos"); + this.breakdown = ApiTypeHelper.requireNonNull(builder.breakdown, this, "breakdown"); + this.debug = ApiTypeHelper.unmodifiable(builder.debug); + this.children = ApiTypeHelper.unmodifiable(builder.children); + + } + + public static KnnQueryProfileResult of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code type} + */ + public final String type() { + return this.type; + } + + /** + * Required - API name: {@code description} + */ + public final String description() { + return this.description; + } + + /** + * API name: {@code time} + */ + @Nullable + public final Time time() { + return this.time; + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final long timeInNanos() { + return this.timeInNanos; + } + + /** + * Required - API name: {@code breakdown} + */ + public final KnnQueryProfileBreakdown breakdown() { + return this.breakdown; + } + + /** + * API name: {@code debug} + */ + public final Map debug() { + return this.debug; + } + + /** + * API name: {@code children} + */ + public final List children() { + return this.children; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("type"); + generator.write(this.type); + + generator.writeKey("description"); + generator.write(this.description); + + if (this.time != null) { + generator.writeKey("time"); + this.time.serialize(generator, mapper); + + } + generator.writeKey("time_in_nanos"); + generator.write(this.timeInNanos); + + generator.writeKey("breakdown"); + this.breakdown.serialize(generator, mapper); + + if (ApiTypeHelper.isDefined(this.debug)) { + generator.writeKey("debug"); + generator.writeStartObject(); + for (Map.Entry item0 : this.debug.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.children)) { + generator.writeKey("children"); + generator.writeStartArray(); + for (KnnQueryProfileResult item0 : this.children) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link KnnQueryProfileResult}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String type; + + private String description; + + @Nullable + private Time time; + + private Long timeInNanos; + + private KnnQueryProfileBreakdown breakdown; + + @Nullable + private Map debug; + + @Nullable + private List children; + + /** + * Required - API name: {@code type} + */ + public final Builder type(String value) { + this.type = value; + return this; + } + + /** + * Required - API name: {@code description} + */ + public final Builder description(String value) { + this.description = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(@Nullable Time value) { + this.time = value; + return this; + } + + /** + * API name: {@code time} + */ + public final Builder time(Function> fn) { + return this.time(fn.apply(new Time.Builder()).build()); + } + + /** + * Required - API name: {@code time_in_nanos} + */ + public final Builder timeInNanos(long value) { + this.timeInNanos = value; + return this; + } + + /** + * Required - API name: {@code breakdown} + */ + public final Builder breakdown(KnnQueryProfileBreakdown value) { + this.breakdown = value; + return this; + } + + /** + * Required - API name: {@code breakdown} + */ + public final Builder breakdown( + Function> fn) { + return this.breakdown(fn.apply(new KnnQueryProfileBreakdown.Builder()).build()); + } + + /** + * API name: {@code debug} + *

+ * Adds all entries of map to debug. + */ + public final Builder debug(Map map) { + this.debug = _mapPutAll(this.debug, map); + return this; + } + + /** + * API name: {@code debug} + *

+ * Adds an entry to debug. + */ + public final Builder debug(String key, JsonData value) { + this.debug = _mapPut(this.debug, key, value); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds all elements of list to children. + */ + public final Builder children(List list) { + this.children = _listAddAll(this.children, list); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds one or more values to children. + */ + public final Builder children(KnnQueryProfileResult value, KnnQueryProfileResult... values) { + this.children = _listAdd(this.children, value, values); + return this; + } + + /** + * API name: {@code children} + *

+ * Adds a value to children using a builder lambda. + */ + public final Builder children( + Function> fn) { + return children(fn.apply(new KnnQueryProfileResult.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link KnnQueryProfileResult}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public KnnQueryProfileResult build() { + _checkSingleUse(); + + return new KnnQueryProfileResult(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link KnnQueryProfileResult} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, KnnQueryProfileResult::setupKnnQueryProfileResultDeserializer); + + protected static void setupKnnQueryProfileResultDeserializer(ObjectDeserializer op) { + + op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); + op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(Builder::time, Time._DESERIALIZER, "time"); + op.add(Builder::timeInNanos, JsonpDeserializer.longDeserializer(), "time_in_nanos"); + op.add(Builder::breakdown, KnnQueryProfileBreakdown._DESERIALIZER, "breakdown"); + op.add(Builder::debug, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "debug"); + op.add(Builder::children, JsonpDeserializer.arrayDeserializer(KnnQueryProfileResult._DESERIALIZER), "children"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryBreakdown.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryBreakdown.java index f7e5fcd3f..e20b12eff 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryBreakdown.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryBreakdown.java @@ -91,6 +91,10 @@ public class QueryBreakdown implements JsonpSerializable { private final long computeMaxScoreCount; + private final long countWeight; + + private final long countWeightCount; + private final long setMinCompetitiveScore; private final long setMinCompetitiveScoreCount; @@ -117,6 +121,8 @@ private QueryBreakdown(Builder builder) { this.computeMaxScore = ApiTypeHelper.requireNonNull(builder.computeMaxScore, this, "computeMaxScore"); this.computeMaxScoreCount = ApiTypeHelper.requireNonNull(builder.computeMaxScoreCount, this, "computeMaxScoreCount"); + this.countWeight = ApiTypeHelper.requireNonNull(builder.countWeight, this, "countWeight"); + this.countWeightCount = ApiTypeHelper.requireNonNull(builder.countWeightCount, this, "countWeightCount"); this.setMinCompetitiveScore = ApiTypeHelper.requireNonNull(builder.setMinCompetitiveScore, this, "setMinCompetitiveScore"); this.setMinCompetitiveScoreCount = ApiTypeHelper.requireNonNull(builder.setMinCompetitiveScoreCount, this, @@ -240,6 +246,20 @@ public final long computeMaxScoreCount() { return this.computeMaxScoreCount; } + /** + * Required - API name: {@code count_weight} + */ + public final long countWeight() { + return this.countWeight; + } + + /** + * Required - API name: {@code count_weight_count} + */ + public final long countWeightCount() { + return this.countWeightCount; + } + /** * Required - API name: {@code set_min_competitive_score} */ @@ -313,6 +333,12 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("compute_max_score_count"); generator.write(this.computeMaxScoreCount); + generator.writeKey("count_weight"); + generator.write(this.countWeight); + + generator.writeKey("count_weight_count"); + generator.write(this.countWeightCount); + generator.writeKey("set_min_competitive_score"); generator.write(this.setMinCompetitiveScore); @@ -365,6 +391,10 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Long computeMaxScoreCount; + private Long countWeight; + + private Long countWeightCount; + private Long setMinCompetitiveScore; private Long setMinCompetitiveScoreCount; @@ -497,6 +527,22 @@ public final Builder computeMaxScoreCount(long value) { return this; } + /** + * Required - API name: {@code count_weight} + */ + public final Builder countWeight(long value) { + this.countWeight = value; + return this; + } + + /** + * Required - API name: {@code count_weight_count} + */ + public final Builder countWeightCount(long value) { + this.countWeightCount = value; + return this; + } + /** * Required - API name: {@code set_min_competitive_score} */ @@ -557,6 +603,8 @@ protected static void setupQueryBreakdownDeserializer(ObjectDeserializer aggregations; - private final String id; + private final String cluster; - private final List searches; + @Nullable + private final DfsProfile dfs; @Nullable private final FetchProfile fetch; + private final String id; + + private final String index; + + private final String nodeId; + + private final List searches; + + private final long shardId; + // --------------------------------------------------------------------------------------------- private ShardProfile(Builder builder) { this.aggregations = ApiTypeHelper.unmodifiableRequired(builder.aggregations, this, "aggregations"); + this.cluster = ApiTypeHelper.requireNonNull(builder.cluster, this, "cluster"); + this.dfs = builder.dfs; + this.fetch = builder.fetch; this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); + this.nodeId = ApiTypeHelper.requireNonNull(builder.nodeId, this, "nodeId"); this.searches = ApiTypeHelper.unmodifiableRequired(builder.searches, this, "searches"); - this.fetch = builder.fetch; + this.shardId = ApiTypeHelper.requireNonNull(builder.shardId, this, "shardId"); } @@ -92,6 +109,29 @@ public final List aggregations() { return this.aggregations; } + /** + * Required - API name: {@code cluster} + */ + public final String cluster() { + return this.cluster; + } + + /** + * API name: {@code dfs} + */ + @Nullable + public final DfsProfile dfs() { + return this.dfs; + } + + /** + * API name: {@code fetch} + */ + @Nullable + public final FetchProfile fetch() { + return this.fetch; + } + /** * Required - API name: {@code id} */ @@ -99,6 +139,20 @@ public final String id() { return this.id; } + /** + * Required - API name: {@code index} + */ + public final String index() { + return this.index; + } + + /** + * Required - API name: {@code node_id} + */ + public final String nodeId() { + return this.nodeId; + } + /** * Required - API name: {@code searches} */ @@ -107,11 +161,10 @@ public final List searches() { } /** - * API name: {@code fetch} + * Required - API name: {@code shard_id} */ - @Nullable - public final FetchProfile fetch() { - return this.fetch; + public final long shardId() { + return this.shardId; } /** @@ -134,10 +187,29 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + generator.writeKey("cluster"); + generator.write(this.cluster); + + if (this.dfs != null) { + generator.writeKey("dfs"); + this.dfs.serialize(generator, mapper); + + } + if (this.fetch != null) { + generator.writeKey("fetch"); + this.fetch.serialize(generator, mapper); + } generator.writeKey("id"); generator.write(this.id); + generator.writeKey("index"); + generator.write(this.index); + + generator.writeKey("node_id"); + generator.write(this.nodeId); + if (ApiTypeHelper.isDefined(this.searches)) { generator.writeKey("searches"); generator.writeStartArray(); @@ -148,11 +220,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - if (this.fetch != null) { - generator.writeKey("fetch"); - this.fetch.serialize(generator, mapper); - - } + generator.writeKey("shard_id"); + generator.write(this.shardId); } @@ -170,13 +239,24 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { private List aggregations; - private String id; + private String cluster; - private List searches; + @Nullable + private DfsProfile dfs; @Nullable private FetchProfile fetch; + private String id; + + private String index; + + private String nodeId; + + private List searches; + + private Long shardId; + /** * Required - API name: {@code aggregations} *

@@ -206,6 +286,44 @@ public final Builder aggregations(Function> fn) { + return this.dfs(fn.apply(new DfsProfile.Builder()).build()); + } + + /** + * API name: {@code fetch} + */ + public final Builder fetch(@Nullable FetchProfile value) { + this.fetch = value; + return this; + } + + /** + * API name: {@code fetch} + */ + public final Builder fetch(Function> fn) { + return this.fetch(fn.apply(new FetchProfile.Builder()).build()); + } + /** * Required - API name: {@code id} */ @@ -214,6 +332,22 @@ public final Builder id(String value) { return this; } + /** + * Required - API name: {@code index} + */ + public final Builder index(String value) { + this.index = value; + return this; + } + + /** + * Required - API name: {@code node_id} + */ + public final Builder nodeId(String value) { + this.nodeId = value; + return this; + } + /** * Required - API name: {@code searches} *

@@ -244,20 +378,13 @@ public final Builder searches(Function> fn) { - return this.fetch(fn.apply(new FetchProfile.Builder()).build()); - } - @Override protected Builder self() { return this; @@ -288,9 +415,14 @@ protected static void setupShardProfileDeserializer(ObjectDeserializer 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/a37d0218e4755ffe229c1a0efccc48e8f7d2d44b/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/aefa7a7149bde6df74dca802340ea4b1fcc70dfb/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java index b1200cfeb..71c5ab695 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java @@ -71,7 +71,7 @@ public ElasticsearchIngestAsyncClient withTransportOptions(@Nullable TransportOp * Deletes a geoip database configuration. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-geoip-database-api.html">Documentation * on elastic.co */ @@ -89,7 +89,7 @@ public CompletableFuture deleteGeoipDatabase(Delete * a function that initializes a builder to create the * {@link DeleteGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-geoip-database-api.html">Documentation * on elastic.co */ @@ -151,7 +151,7 @@ public CompletableFuture geoIpStats() { * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -169,7 +169,7 @@ public CompletableFuture getGeoipDatabase(GetGeoipData * a function that initializes a builder to create the * {@link GetGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -182,7 +182,7 @@ public final CompletableFuture getGeoipDatabase( * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -263,7 +263,7 @@ public CompletableFuture processorGrok() { * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-geoip-database-api.html">Documentation * on elastic.co */ @@ -281,7 +281,7 @@ public CompletableFuture putGeoipDatabase(PutGeoipData * a function that initializes a builder to create the * {@link PutGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-geoip-database-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java index d17329c7d..442a89ea9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java @@ -71,7 +71,7 @@ public ElasticsearchIngestClient withTransportOptions(@Nullable TransportOptions * Deletes a geoip database configuration. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-geoip-database-api.html">Documentation * on elastic.co */ @@ -90,7 +90,7 @@ public DeleteGeoipDatabaseResponse deleteGeoipDatabase(DeleteGeoipDatabaseReques * a function that initializes a builder to create the * {@link DeleteGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-geoip-database-api.html">Documentation * on elastic.co */ @@ -155,7 +155,7 @@ public GeoIpStatsResponse geoIpStats() throws IOException, ElasticsearchExceptio * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -174,7 +174,7 @@ public GetGeoipDatabaseResponse getGeoipDatabase(GetGeoipDatabaseRequest request * a function that initializes a builder to create the * {@link GetGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -188,7 +188,7 @@ public final GetGeoipDatabaseResponse getGeoipDatabase( * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-geoip-database-api.html">Documentation * on elastic.co */ @@ -270,7 +270,7 @@ public ProcessorGrokResponse processorGrok() throws IOException, ElasticsearchEx * Returns information about one or more geoip database configurations. * * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-geoip-database-api.html">Documentation * on elastic.co */ @@ -289,7 +289,7 @@ public PutGeoipDatabaseResponse putGeoipDatabase(PutGeoipDatabaseRequest request * a function that initializes a builder to create the * {@link PutGeoipDatabaseRequest} * @see Documentation + * "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-geoip-database-api.html">Documentation * on elastic.co */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CalendarEvent.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CalendarEvent.java index ebea147de..20c86c0ae 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CalendarEvent.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CalendarEvent.java @@ -31,6 +31,8 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.function.Function; @@ -72,6 +74,15 @@ public class CalendarEvent implements JsonpSerializable { private final DateTime startTime; + @Nullable + private final Boolean skipResult; + + @Nullable + private final Boolean skipModelUpdate; + + @Nullable + private final Integer forceTimeShift; + // --------------------------------------------------------------------------------------------- private CalendarEvent(Builder builder) { @@ -81,6 +92,9 @@ private CalendarEvent(Builder builder) { this.description = ApiTypeHelper.requireNonNull(builder.description, this, "description"); this.endTime = ApiTypeHelper.requireNonNull(builder.endTime, this, "endTime"); this.startTime = ApiTypeHelper.requireNonNull(builder.startTime, this, "startTime"); + this.skipResult = builder.skipResult; + this.skipModelUpdate = builder.skipModelUpdate; + this.forceTimeShift = builder.forceTimeShift; } @@ -135,6 +149,37 @@ public final DateTime startTime() { return this.startTime; } + /** + * When true the model will not create results for this calendar period. + *

+ * API name: {@code skip_result} + */ + @Nullable + public final Boolean skipResult() { + return this.skipResult; + } + + /** + * When true the model will not be updated for this calendar period. + *

+ * API name: {@code skip_model_update} + */ + @Nullable + public final Boolean skipModelUpdate() { + return this.skipModelUpdate; + } + + /** + * Shift time by this many seconds. For example adjust time for daylight savings + * changes + *

+ * API name: {@code force_time_shift} + */ + @Nullable + public final Integer forceTimeShift() { + return this.forceTimeShift; + } + /** * Serialize this object to JSON. */ @@ -163,6 +208,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.endTime.serialize(generator, mapper); generator.writeKey("start_time"); this.startTime.serialize(generator, mapper); + if (this.skipResult != null) { + generator.writeKey("skip_result"); + generator.write(this.skipResult); + + } + if (this.skipModelUpdate != null) { + generator.writeKey("skip_model_update"); + generator.write(this.skipModelUpdate); + + } + if (this.forceTimeShift != null) { + generator.writeKey("force_time_shift"); + generator.write(this.forceTimeShift); + + } } @@ -190,6 +250,15 @@ public static class Builder extends WithJsonObjectBuilderBase implement private DateTime startTime; + @Nullable + private Boolean skipResult; + + @Nullable + private Boolean skipModelUpdate; + + @Nullable + private Integer forceTimeShift; + /** * A string that uniquely identifies a calendar. *

@@ -240,6 +309,37 @@ public final Builder startTime(DateTime value) { return this; } + /** + * When true the model will not create results for this calendar period. + *

+ * API name: {@code skip_result} + */ + public final Builder skipResult(@Nullable Boolean value) { + this.skipResult = value; + return this; + } + + /** + * When true the model will not be updated for this calendar period. + *

+ * API name: {@code skip_model_update} + */ + public final Builder skipModelUpdate(@Nullable Boolean value) { + this.skipModelUpdate = value; + return this; + } + + /** + * Shift time by this many seconds. For example adjust time for daylight savings + * changes + *

+ * API name: {@code force_time_shift} + */ + public final Builder forceTimeShift(@Nullable Integer value) { + this.forceTimeShift = value; + return this; + } + @Override protected Builder self() { return this; @@ -273,6 +373,9 @@ protected static void setupCalendarEventDeserializer(ObjectDeserializer * API name: {@code state} */ - public final DeploymentState state() { + public final DeploymentAssignmentState state() { return this.state; } @@ -373,7 +373,7 @@ public static class Builder extends WithJsonObjectBuilderBase private Long startTime; - private DeploymentState state; + private DeploymentAssignmentState state; private Integer threadsPerAllocation; @@ -552,7 +552,7 @@ public final Builder startTime(long value) { *

* API name: {@code state} */ - public final Builder state(DeploymentState value) { + public final Builder state(DeploymentAssignmentState value) { this.state = value; return this; } @@ -620,7 +620,7 @@ protected static void setupTrainedModelDeploymentStatsDeserializer( op.add(Builder::rejectedExecutionCount, JsonpDeserializer.integerDeserializer(), "rejected_execution_count"); op.add(Builder::reason, JsonpDeserializer.stringDeserializer(), "reason"); op.add(Builder::startTime, JsonpDeserializer.longDeserializer(), "start_time"); - op.add(Builder::state, DeploymentState._DESERIALIZER, "state"); + op.add(Builder::state, DeploymentAssignmentState._DESERIALIZER, "state"); op.add(Builder::threadsPerAllocation, JsonpDeserializer.integerDeserializer(), "threads_per_allocation"); op.add(Builder::timeoutCount, JsonpDeserializer.integerDeserializer(), "timeout_count"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsRequest.java index 9edd1b6f4..79307e350 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsRequest.java @@ -56,7 +56,8 @@ // typedef: search_application.delete_behavioral_analytics.Request /** - * Delete a behavioral analytics collection. + * Delete a behavioral analytics collection. The associated data stream is also + * deleted. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationRequest.java index f3f31dc19..80b04bdb6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationRequest.java @@ -56,7 +56,8 @@ // typedef: search_application.delete.Request /** - * Deletes a search application. + * Delete a search application. Remove a search application and its associated + * alias. Indices attached to the search application are not removed. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java index 0b7e599ee..26fb3a549 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java @@ -72,7 +72,8 @@ public ElasticsearchSearchApplicationAsyncClient withTransportOptions(@Nullable // ----- Endpoint: search_application.delete /** - * Deletes a search application. + * Delete a search application. Remove a search application and its associated + * alias. Indices attached to the search application are not removed. * * @see Documentation @@ -87,7 +88,8 @@ public CompletableFuture delete(DeleteSearchApp } /** - * Deletes a search application. + * Delete a search application. Remove a search application and its associated + * alias. Indices attached to the search application are not removed. * * @param fn * a function that initializes a builder to create the @@ -105,7 +107,8 @@ public final CompletableFuture delete( // ----- Endpoint: search_application.delete_behavioral_analytics /** - * Delete a behavioral analytics collection. + * Delete a behavioral analytics collection. The associated data stream is also + * deleted. * * @see Documentation @@ -121,7 +124,8 @@ public CompletableFuture deleteBehavioralAnal } /** - * Delete a behavioral analytics collection. + * Delete a behavioral analytics collection. The associated data stream is also + * deleted. * * @param fn * a function that initializes a builder to create the @@ -139,7 +143,7 @@ public final CompletableFuture deleteBehavior // ----- Endpoint: search_application.get /** - * Returns the details about a search application + * Get search application details. * * @see Documentation @@ -154,7 +158,7 @@ public CompletableFuture get(GetSearchApplicationR } /** - * Returns the details about a search application + * Get search application details. * * @param fn * a function that initializes a builder to create the @@ -172,7 +176,7 @@ public final CompletableFuture get( // ----- Endpoint: search_application.get_behavioral_analytics /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @see Documentation @@ -188,7 +192,7 @@ public CompletableFuture getBehavioralAnalytics( } /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @param fn * a function that initializes a builder to create the @@ -204,7 +208,7 @@ public final CompletableFuture getBehavioralAnal } /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @see Documentation @@ -264,7 +268,7 @@ public CompletableFuture list() { // ----- Endpoint: search_application.put /** - * Creates or updates a search application. + * Create or update a search application. * * @see Documentation @@ -279,7 +283,7 @@ public CompletableFuture put(PutRequest request) { } /** - * Creates or updates a search application. + * Create or update a search application. * * @param fn * a function that initializes a builder to create the @@ -296,7 +300,7 @@ public final CompletableFuture put(FunctionDocumentation @@ -312,7 +316,7 @@ public CompletableFuture putBehavioralAnalytics( } /** - * Creates a behavioral analytics collection. + * Create a behavioral analytics collection. * * @param fn * a function that initializes a builder to create the @@ -330,7 +334,10 @@ public final CompletableFuture putBehavioralAnal // ----- Endpoint: search_application.search /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @see Documentation @@ -349,7 +356,10 @@ public CompletableFuture> } /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @param fn * a function that initializes a builder to create the @@ -366,7 +376,10 @@ public final CompletableFutureDocumentation @@ -385,7 +398,10 @@ public CompletableFuture> } /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java index 43e0cabcc..9f2713b8e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java @@ -73,7 +73,8 @@ public ElasticsearchSearchApplicationClient withTransportOptions(@Nullable Trans // ----- Endpoint: search_application.delete /** - * Deletes a search application. + * Delete a search application. Remove a search application and its associated + * alias. Indices attached to the search application are not removed. * * @see Documentation @@ -89,7 +90,8 @@ public DeleteSearchApplicationResponse delete(DeleteSearchApplicationRequest req } /** - * Deletes a search application. + * Delete a search application. Remove a search application and its associated + * alias. Indices attached to the search application are not removed. * * @param fn * a function that initializes a builder to create the @@ -108,7 +110,8 @@ public final DeleteSearchApplicationResponse delete( // ----- Endpoint: search_application.delete_behavioral_analytics /** - * Delete a behavioral analytics collection. + * Delete a behavioral analytics collection. The associated data stream is also + * deleted. * * @see Documentation @@ -124,7 +127,8 @@ public DeleteBehavioralAnalyticsResponse deleteBehavioralAnalytics(DeleteBehavio } /** - * Delete a behavioral analytics collection. + * Delete a behavioral analytics collection. The associated data stream is also + * deleted. * * @param fn * a function that initializes a builder to create the @@ -143,7 +147,7 @@ public final DeleteBehavioralAnalyticsResponse deleteBehavioralAnalytics( // ----- Endpoint: search_application.get /** - * Returns the details about a search application + * Get search application details. * * @see Documentation @@ -159,7 +163,7 @@ public GetSearchApplicationResponse get(GetSearchApplicationRequest request) } /** - * Returns the details about a search application + * Get search application details. * * @param fn * a function that initializes a builder to create the @@ -178,7 +182,7 @@ public final GetSearchApplicationResponse get( // ----- Endpoint: search_application.get_behavioral_analytics /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @see Documentation @@ -194,7 +198,7 @@ public GetBehavioralAnalyticsResponse getBehavioralAnalytics(GetBehavioralAnalyt } /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @param fn * a function that initializes a builder to create the @@ -211,7 +215,7 @@ public final GetBehavioralAnalyticsResponse getBehavioralAnalytics( } /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @see Documentation @@ -272,7 +276,7 @@ public ListResponse list() throws IOException, ElasticsearchException { // ----- Endpoint: search_application.put /** - * Creates or updates a search application. + * Create or update a search application. * * @see Documentation @@ -287,7 +291,7 @@ public PutResponse put(PutRequest request) throws IOException, ElasticsearchExce } /** - * Creates or updates a search application. + * Create or update a search application. * * @param fn * a function that initializes a builder to create the @@ -305,7 +309,7 @@ public final PutResponse put(FunctionDocumentation @@ -321,7 +325,7 @@ public PutBehavioralAnalyticsResponse putBehavioralAnalytics(PutBehavioralAnalyt } /** - * Creates a behavioral analytics collection. + * Create a behavioral analytics collection. * * @param fn * a function that initializes a builder to create the @@ -340,7 +344,10 @@ public final PutBehavioralAnalyticsResponse putBehavioralAnalytics( // ----- Endpoint: search_application.search /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @see Documentation @@ -359,7 +366,10 @@ public SearchApplicationSearchResponse search(SearchAppli } /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @param fn * a function that initializes a builder to create the @@ -376,7 +386,10 @@ public final SearchApplicationSearchResponse search( } /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @see Documentation @@ -395,7 +408,10 @@ public SearchApplicationSearchResponse search(SearchAppli } /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsRequest.java index acc8a56fd..16e6f5d39 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsRequest.java @@ -58,7 +58,7 @@ // typedef: search_application.get_behavioral_analytics.Request /** - * Returns the existing behavioral analytics collections. + * Get behavioral analytics collections. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationRequest.java index 77c829130..2c850ec02 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationRequest.java @@ -56,7 +56,7 @@ // typedef: search_application.get.Request /** - * Returns the details about a search application + * Get search application details. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsRequest.java index 110e36e92..b1aef4001 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsRequest.java @@ -56,7 +56,7 @@ // typedef: search_application.put_behavioral_analytics.Request /** - * Creates a behavioral analytics collection. + * Create a behavioral analytics collection. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java index 57a8ee602..cec4f56f1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java @@ -59,7 +59,7 @@ // typedef: search_application.put.Request /** - * Creates or updates a search application. + * Create or update a search application. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchRequest.java index aa6834253..94832cb74 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchRequest.java @@ -59,7 +59,10 @@ // typedef: search_application.search.Request /** - * Perform a search against a search application. + * Run a search application search. Generate and run an Elasticsearch query that + * uses the specified query parameteter and the search template associated with + * the search application or default template. Unspecified template parameters + * are assigned their default values if applicable. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQuery.java new file mode 100644 index 000000000..980756b12 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQuery.java @@ -0,0 +1,226 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.json.UnionDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.ObjectBuilderBase; +import co.elastic.clients.util.TaggedUnion; +import co.elastic.clients.util.TaggedUnionUtils; +import jakarta.json.stream.JsonGenerator; +import java.lang.Object; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.IndicesPrivilegesQuery + +/** + * While creating or updating a role you can provide either a JSON structure or + * a string to the API. However, the response provided by Elasticsearch will + * only be string with a json-as-text content. + *

+ * Since this is embedded in IndicesPrivileges, the same structure + * is used for clarity in both contexts. + * + * @see API + * specification + */ +@JsonpDeserializable +public class IndicesPrivilegesQuery implements TaggedUnion, JsonpSerializable { + + public enum Kind { + Query, JsonText, Template + + } + + private final Kind _kind; + private final Object _value; + + @Override + public final Kind _kind() { + return _kind; + } + + @Override + public final Object _get() { + return _value; + } + + private IndicesPrivilegesQuery(Kind kind, Object value) { + this._kind = kind; + this._value = value; + } + + private IndicesPrivilegesQuery(Builder builder) { + + this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); + this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); + + } + + public static IndicesPrivilegesQuery of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Is this variant instance of kind {@code query}? + */ + public boolean isQuery() { + return _kind == Kind.Query; + } + + /** + * Get the {@code query} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code query} kind. + */ + public Query query() { + return TaggedUnionUtils.get(this, Kind.Query); + } + + /** + * Is this variant instance of kind {@code json_text}? + */ + public boolean isJsonText() { + return _kind == Kind.JsonText; + } + + /** + * Get the {@code json_text} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code json_text} kind. + */ + public String jsonText() { + return TaggedUnionUtils.get(this, Kind.JsonText); + } + + /** + * Is this variant instance of kind {@code template}? + */ + public boolean isTemplate() { + return _kind == Kind.Template; + } + + /** + * Get the {@code template} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code template} kind. + */ + public RoleTemplateQuery template() { + return TaggedUnionUtils.get(this, Kind.Template); + } + + @Override + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + if (_value instanceof JsonpSerializable) { + ((JsonpSerializable) _value).serialize(generator, mapper); + } else { + switch (_kind) { + case JsonText : + generator.write(((String) this._value)); + + break; + } + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + public static class Builder extends ObjectBuilderBase implements ObjectBuilder { + private Kind _kind; + private Object _value; + + public ObjectBuilder query(Query v) { + this._kind = Kind.Query; + this._value = v; + return this; + } + + public ObjectBuilder query(Function> fn) { + return this.query(fn.apply(new Query.Builder()).build()); + } + + public ObjectBuilder jsonText(String v) { + this._kind = Kind.JsonText; + this._value = v; + return this; + } + + public ObjectBuilder template(RoleTemplateQuery v) { + this._kind = Kind.Template; + this._value = v; + return this; + } + + public ObjectBuilder template( + Function> fn) { + return this.template(fn.apply(new RoleTemplateQuery.Builder()).build()); + } + + public IndicesPrivilegesQuery build() { + _checkSingleUse(); + return new IndicesPrivilegesQuery(this); + } + + } + + private static JsonpDeserializer buildIndicesPrivilegesQueryDeserializer() { + return new UnionDeserializer.Builder(IndicesPrivilegesQuery::new, false) + .addMember(Kind.Query, Query._DESERIALIZER) + .addMember(Kind.JsonText, JsonpDeserializer.stringDeserializer()) + .addMember(Kind.Template, RoleTemplateQuery._DESERIALIZER).build(); + } + + public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer + .lazy(IndicesPrivilegesQuery::buildIndicesPrivilegesQueryDeserializer); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQueryBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQueryBuilders.java new file mode 100644 index 000000000..429ef167f --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivilegesQueryBuilders.java @@ -0,0 +1,68 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.util.ObjectBuilder; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * Builders for {@link IndicesPrivilegesQuery} variants. + *

+ * Variants json_text are not available here as they don't have a + * dedicated class. Use {@link IndicesPrivilegesQuery}'s builder for these. + * + */ +public class IndicesPrivilegesQueryBuilders { + private IndicesPrivilegesQueryBuilders() { + } + + /** + * Creates a builder for the {@link Query query} {@code IndicesPrivilegesQuery} + * variant. + */ + public static Query.Builder query() { + return new Query.Builder(); + } + + /** + * Creates a builder for the {@link RoleTemplateQuery template} + * {@code IndicesPrivilegesQuery} variant. + */ + public static RoleTemplateQuery.Builder template() { + return new RoleTemplateQuery.Builder(); + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java index da79fe67c..30d6fa7b9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java @@ -87,6 +87,8 @@ public class PutRoleRequest extends RequestBase implements JsonpSerializable { @Nullable private final Refresh refresh; + private final List remoteIndices; + private final List runAs; private final Map transientMetadata; @@ -103,6 +105,7 @@ private PutRoleRequest(Builder builder) { this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); this.refresh = builder.refresh; + this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); this.transientMetadata = ApiTypeHelper.unmodifiable(builder.transientMetadata); @@ -193,6 +196,15 @@ public final Refresh refresh() { return this.refresh; } + /** + * A list of remote indices permissions entries. + *

+ * API name: {@code remote_indices} + */ + public final List remoteIndices() { + return this.remoteIndices; + } + /** * A list of users that the owners of this role can impersonate. Note: * in Serverless, the run-as feature is disabled. For API compatibility, you can @@ -286,6 +298,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.remoteIndices)) { + generator.writeKey("remote_indices"); + generator.writeStartArray(); + for (RemoteIndicesPrivileges item0 : this.remoteIndices) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.runAs)) { generator.writeKey("run_as"); @@ -341,6 +363,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Refresh refresh; + @Nullable + private List remoteIndices; + @Nullable private List runAs; @@ -531,6 +556,42 @@ public final Builder refresh(@Nullable Refresh value) { return this; } + /** + * A list of remote indices permissions entries. + *

+ * API name: {@code remote_indices} + *

+ * Adds all elements of list to remoteIndices. + */ + public final Builder remoteIndices(List list) { + this.remoteIndices = _listAddAll(this.remoteIndices, list); + return this; + } + + /** + * A list of remote indices permissions entries. + *

+ * API name: {@code remote_indices} + *

+ * Adds one or more values to remoteIndices. + */ + public final Builder remoteIndices(RemoteIndicesPrivileges value, RemoteIndicesPrivileges... values) { + this.remoteIndices = _listAdd(this.remoteIndices, value, values); + return this; + } + + /** + * A list of remote indices permissions entries. + *

+ * API name: {@code remote_indices} + *

+ * Adds a value to remoteIndices using a builder lambda. + */ + public final Builder remoteIndices( + Function> fn) { + return remoteIndices(fn.apply(new RemoteIndicesPrivileges.Builder()).build()); + } + /** * A list of users that the owners of this role can impersonate. Note: * in Serverless, the run-as feature is disabled. For API compatibility, you can @@ -631,6 +692,8 @@ protected static void setupPutRoleRequestDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class RemoteIndicesPrivileges implements JsonpSerializable { + private final List clusters; + + @Nullable + private final FieldSecurity fieldSecurity; + + private final List names; + + private final List privileges; + + @Nullable + private final IndicesPrivilegesQuery query; + + @Nullable + private final Boolean allowRestrictedIndices; + + // --------------------------------------------------------------------------------------------- + + private RemoteIndicesPrivileges(Builder builder) { + + this.clusters = ApiTypeHelper.unmodifiableRequired(builder.clusters, this, "clusters"); + this.fieldSecurity = builder.fieldSecurity; + this.names = ApiTypeHelper.unmodifiableRequired(builder.names, this, "names"); + this.privileges = ApiTypeHelper.unmodifiableRequired(builder.privileges, this, "privileges"); + this.query = builder.query; + this.allowRestrictedIndices = builder.allowRestrictedIndices; + + } + + public static RemoteIndicesPrivileges of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

+ * API name: {@code clusters} + */ + public final List clusters() { + return this.clusters; + } + + /** + * The document fields that the owners of the role have read access to. + *

+ * API name: {@code field_security} + */ + @Nullable + public final FieldSecurity fieldSecurity() { + return this.fieldSecurity; + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

+ * API name: {@code names} + */ + public final List names() { + return this.names; + } + + /** + * Required - The index level privileges that owners of the role have on the + * specified indices. + *

+ * API name: {@code privileges} + */ + public final List privileges() { + return this.privileges; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

+ * API name: {@code query} + */ + @Nullable + public final IndicesPrivilegesQuery query() { + return this.query; + } + + /** + * Set to true if using wildcard or regular expressions for + * patterns that cover restricted indices. Implicitly, restricted indices have + * limited privileges that can cause pattern tests to fail. If restricted + * indices are explicitly included in the names list, Elasticsearch + * checks privileges against these indices regardless of the value set for + * allow_restricted_indices. + *

+ * API name: {@code allow_restricted_indices} + */ + @Nullable + public final Boolean allowRestrictedIndices() { + return this.allowRestrictedIndices; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.clusters)) { + generator.writeKey("clusters"); + generator.writeStartArray(); + for (String item0 : this.clusters) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.fieldSecurity != null) { + generator.writeKey("field_security"); + this.fieldSecurity.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.names)) { + generator.writeKey("names"); + generator.writeStartArray(); + for (String item0 : this.names) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.privileges)) { + generator.writeKey("privileges"); + generator.writeStartArray(); + for (String item0 : this.privileges) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.query != null) { + generator.writeKey("query"); + this.query.serialize(generator, mapper); + + } + if (this.allowRestrictedIndices != null) { + generator.writeKey("allow_restricted_indices"); + generator.write(this.allowRestrictedIndices); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RemoteIndicesPrivileges}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private List clusters; + + @Nullable + private FieldSecurity fieldSecurity; + + private List names; + + private List privileges; + + @Nullable + private IndicesPrivilegesQuery query; + + @Nullable + private Boolean allowRestrictedIndices; + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

+ * API name: {@code clusters} + *

+ * Adds all elements of list to clusters. + */ + public final Builder clusters(List list) { + this.clusters = _listAddAll(this.clusters, list); + return this; + } + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

+ * API name: {@code clusters} + *

+ * Adds one or more values to clusters. + */ + public final Builder clusters(String value, String... values) { + this.clusters = _listAdd(this.clusters, value, values); + return this; + } + + /** + * The document fields that the owners of the role have read access to. + *

+ * API name: {@code field_security} + */ + public final Builder fieldSecurity(@Nullable FieldSecurity value) { + this.fieldSecurity = value; + return this; + } + + /** + * The document fields that the owners of the role have read access to. + *

+ * API name: {@code field_security} + */ + public final Builder fieldSecurity(Function> fn) { + return this.fieldSecurity(fn.apply(new FieldSecurity.Builder()).build()); + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

+ * API name: {@code names} + *

+ * Adds all elements of list to names. + */ + public final Builder names(List list) { + this.names = _listAddAll(this.names, list); + return this; + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

+ * API name: {@code names} + *

+ * Adds one or more values to names. + */ + public final Builder names(String value, String... values) { + this.names = _listAdd(this.names, value, values); + return this; + } + + /** + * Required - The index level privileges that owners of the role have on the + * specified indices. + *

+ * API name: {@code privileges} + *

+ * Adds all elements of list to privileges. + */ + public final Builder privileges(List list) { + this.privileges = _listAddAll(this.privileges, list); + return this; + } + + /** + * Required - The index level privileges that owners of the role have on the + * specified indices. + *

+ * API name: {@code privileges} + *

+ * Adds one or more values to privileges. + */ + public final Builder privileges(String value, String... values) { + this.privileges = _listAdd(this.privileges, value, values); + return this; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

+ * API name: {@code query} + */ + public final Builder query(@Nullable IndicesPrivilegesQuery value) { + this.query = value; + return this; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

+ * API name: {@code query} + */ + public final Builder query(Function> fn) { + return this.query(fn.apply(new IndicesPrivilegesQuery.Builder()).build()); + } + + /** + * Set to true if using wildcard or regular expressions for + * patterns that cover restricted indices. Implicitly, restricted indices have + * limited privileges that can cause pattern tests to fail. If restricted + * indices are explicitly included in the names list, Elasticsearch + * checks privileges against these indices regardless of the value set for + * allow_restricted_indices. + *

+ * API name: {@code allow_restricted_indices} + */ + public final Builder allowRestrictedIndices(@Nullable Boolean value) { + this.allowRestrictedIndices = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RemoteIndicesPrivileges}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RemoteIndicesPrivileges build() { + _checkSingleUse(); + + return new RemoteIndicesPrivileges(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RemoteIndicesPrivileges} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, RemoteIndicesPrivileges::setupRemoteIndicesPrivilegesDeserializer); + + protected static void setupRemoteIndicesPrivilegesDeserializer( + ObjectDeserializer op) { + + op.add(Builder::clusters, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "clusters"); + op.add(Builder::fieldSecurity, FieldSecurity._DESERIALIZER, "field_security"); + op.add(Builder::names, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "names"); + op.add(Builder::privileges, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "privileges"); + op.add(Builder::query, IndicesPrivilegesQuery._DESERIALIZER, "query"); + op.add(Builder::allowRestrictedIndices, JsonpDeserializer.booleanDeserializer(), "allow_restricted_indices"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateQuery.java new file mode 100644 index 000000000..0331dc71d --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateQuery.java @@ -0,0 +1,189 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.RoleTemplateQuery + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RoleTemplateQuery implements JsonpSerializable { + @Nullable + private final RoleTemplateScript template; + + // --------------------------------------------------------------------------------------------- + + private RoleTemplateQuery(Builder builder) { + + this.template = builder.template; + + } + + public static RoleTemplateQuery of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * When you create a role, you can specify a query that defines the document + * level security permissions. You can optionally use Mustache templates in the + * role query to insert the username of the current authenticated user into the + * role. Like other places in Elasticsearch that support templating or + * scripting, you can specify inline, stored, or file-based templates and define + * custom parameters. You access the details for the current authenticated user + * through the _user parameter. + *

+ * API name: {@code template} + */ + @Nullable + public final RoleTemplateScript template() { + return this.template; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.template != null) { + generator.writeKey("template"); + this.template.serialize(generator, mapper); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RoleTemplateQuery}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private RoleTemplateScript template; + + /** + * When you create a role, you can specify a query that defines the document + * level security permissions. You can optionally use Mustache templates in the + * role query to insert the username of the current authenticated user into the + * role. Like other places in Elasticsearch that support templating or + * scripting, you can specify inline, stored, or file-based templates and define + * custom parameters. You access the details for the current authenticated user + * through the _user parameter. + *

+ * API name: {@code template} + */ + public final Builder template(@Nullable RoleTemplateScript value) { + this.template = value; + return this; + } + + /** + * When you create a role, you can specify a query that defines the document + * level security permissions. You can optionally use Mustache templates in the + * role query to insert the username of the current authenticated user into the + * role. Like other places in Elasticsearch that support templating or + * scripting, you can specify inline, stored, or file-based templates and define + * custom parameters. You access the details for the current authenticated user + * through the _user parameter. + *

+ * API name: {@code template} + */ + public final Builder template(Function> fn) { + return this.template(fn.apply(new RoleTemplateScript.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RoleTemplateQuery}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RoleTemplateQuery build() { + _checkSingleUse(); + + return new RoleTemplateQuery(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RoleTemplateQuery} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, RoleTemplateQuery::setupRoleTemplateQueryDeserializer); + + protected static void setupRoleTemplateQueryDeserializer(ObjectDeserializer op) { + + op.add(Builder::template, RoleTemplateScript._DESERIALIZER, "template"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java index cd0bc8335..0b5bdfaca 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java @@ -348,6 +348,40 @@ public CompletableFuture getRepository() { GetRepositoryRequest._ENDPOINT, this.transportOptions); } + // ----- Endpoint: snapshot.repository_verify_integrity + + /** + * Verifies the integrity of the contents of a snapshot repository + * + * @see Documentation + * on elastic.co + */ + + public CompletableFuture repositoryVerifyIntegrity( + RepositoryVerifyIntegrityRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) RepositoryVerifyIntegrityRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Verifies the integrity of the contents of a snapshot repository + * + * @param fn + * a function that initializes a builder to create the + * {@link RepositoryVerifyIntegrityRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture repositoryVerifyIntegrity( + Function> fn) { + return repositoryVerifyIntegrity(fn.apply(new RepositoryVerifyIntegrityRequest.Builder()).build()); + } + // ----- Endpoint: snapshot.restore /** diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java index 6f5266f9e..8e0b2dee8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java @@ -357,6 +357,41 @@ public GetRepositoryResponse getRepository() throws IOException, ElasticsearchEx this.transportOptions); } + // ----- Endpoint: snapshot.repository_verify_integrity + + /** + * Verifies the integrity of the contents of a snapshot repository + * + * @see Documentation + * on elastic.co + */ + + public RepositoryVerifyIntegrityResponse repositoryVerifyIntegrity(RepositoryVerifyIntegrityRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) RepositoryVerifyIntegrityRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Verifies the integrity of the contents of a snapshot repository + * + * @param fn + * a function that initializes a builder to create the + * {@link RepositoryVerifyIntegrityRequest} + * @see Documentation + * on elastic.co + */ + + public final RepositoryVerifyIntegrityResponse repositoryVerifyIntegrity( + Function> fn) + throws IOException, ElasticsearchException { + return repositoryVerifyIntegrity(fn.apply(new RepositoryVerifyIntegrityRequest.Builder()).build()); + } + // ----- Endpoint: snapshot.restore /** diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java new file mode 100644 index 000000000..a71c3ea66 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java @@ -0,0 +1,444 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.snapshot; + +import co.elastic.clients.elasticsearch._types.ErrorResponse; +import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.transport.Endpoint; +import co.elastic.clients.transport.endpoints.SimpleEndpoint; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: snapshot.repository_verify_integrity.Request + +/** + * Verifies the integrity of the contents of a snapshot repository + * + * @see API + * specification + */ + +public class RepositoryVerifyIntegrityRequest extends RequestBase { + @Nullable + private final Integer blobThreadPoolConcurrency; + + @Nullable + private final Integer indexSnapshotVerificationConcurrency; + + @Nullable + private final Integer indexVerificationConcurrency; + + @Nullable + private final String maxBytesPerSec; + + @Nullable + private final Integer maxFailedShardSnapshots; + + @Nullable + private final Integer metaThreadPoolConcurrency; + + private final List name; + + @Nullable + private final Integer snapshotVerificationConcurrency; + + @Nullable + private final Boolean verifyBlobContents; + + // --------------------------------------------------------------------------------------------- + + private RepositoryVerifyIntegrityRequest(Builder builder) { + + this.blobThreadPoolConcurrency = builder.blobThreadPoolConcurrency; + this.indexSnapshotVerificationConcurrency = builder.indexSnapshotVerificationConcurrency; + this.indexVerificationConcurrency = builder.indexVerificationConcurrency; + this.maxBytesPerSec = builder.maxBytesPerSec; + this.maxFailedShardSnapshots = builder.maxFailedShardSnapshots; + this.metaThreadPoolConcurrency = builder.metaThreadPoolConcurrency; + this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); + this.snapshotVerificationConcurrency = builder.snapshotVerificationConcurrency; + this.verifyBlobContents = builder.verifyBlobContents; + + } + + public static RepositoryVerifyIntegrityRequest of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Number of threads to use for reading blob contents + *

+ * API name: {@code blob_thread_pool_concurrency} + */ + @Nullable + public final Integer blobThreadPoolConcurrency() { + return this.blobThreadPoolConcurrency; + } + + /** + * Number of snapshots to verify concurrently within each index + *

+ * API name: {@code index_snapshot_verification_concurrency} + */ + @Nullable + public final Integer indexSnapshotVerificationConcurrency() { + return this.indexSnapshotVerificationConcurrency; + } + + /** + * Number of indices to verify concurrently + *

+ * API name: {@code index_verification_concurrency} + */ + @Nullable + public final Integer indexVerificationConcurrency() { + return this.indexVerificationConcurrency; + } + + /** + * Rate limit for individual blob verification + *

+ * API name: {@code max_bytes_per_sec} + */ + @Nullable + public final String maxBytesPerSec() { + return this.maxBytesPerSec; + } + + /** + * Maximum permitted number of failed shard snapshots + *

+ * API name: {@code max_failed_shard_snapshots} + */ + @Nullable + public final Integer maxFailedShardSnapshots() { + return this.maxFailedShardSnapshots; + } + + /** + * Number of threads to use for reading metadata + *

+ * API name: {@code meta_thread_pool_concurrency} + */ + @Nullable + public final Integer metaThreadPoolConcurrency() { + return this.metaThreadPoolConcurrency; + } + + /** + * Required - A repository name + *

+ * API name: {@code repository} + */ + public final List name() { + return this.name; + } + + /** + * Number of snapshots to verify concurrently + *

+ * API name: {@code snapshot_verification_concurrency} + */ + @Nullable + public final Integer snapshotVerificationConcurrency() { + return this.snapshotVerificationConcurrency; + } + + /** + * Whether to verify the contents of individual blobs + *

+ * API name: {@code verify_blob_contents} + */ + @Nullable + public final Boolean verifyBlobContents() { + return this.verifyBlobContents; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RepositoryVerifyIntegrityRequest}. + */ + + public static class Builder extends RequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Integer blobThreadPoolConcurrency; + + @Nullable + private Integer indexSnapshotVerificationConcurrency; + + @Nullable + private Integer indexVerificationConcurrency; + + @Nullable + private String maxBytesPerSec; + + @Nullable + private Integer maxFailedShardSnapshots; + + @Nullable + private Integer metaThreadPoolConcurrency; + + private List name; + + @Nullable + private Integer snapshotVerificationConcurrency; + + @Nullable + private Boolean verifyBlobContents; + + /** + * Number of threads to use for reading blob contents + *

+ * API name: {@code blob_thread_pool_concurrency} + */ + public final Builder blobThreadPoolConcurrency(@Nullable Integer value) { + this.blobThreadPoolConcurrency = value; + return this; + } + + /** + * Number of snapshots to verify concurrently within each index + *

+ * API name: {@code index_snapshot_verification_concurrency} + */ + public final Builder indexSnapshotVerificationConcurrency(@Nullable Integer value) { + this.indexSnapshotVerificationConcurrency = value; + return this; + } + + /** + * Number of indices to verify concurrently + *

+ * API name: {@code index_verification_concurrency} + */ + public final Builder indexVerificationConcurrency(@Nullable Integer value) { + this.indexVerificationConcurrency = value; + return this; + } + + /** + * Rate limit for individual blob verification + *

+ * API name: {@code max_bytes_per_sec} + */ + public final Builder maxBytesPerSec(@Nullable String value) { + this.maxBytesPerSec = value; + return this; + } + + /** + * Maximum permitted number of failed shard snapshots + *

+ * API name: {@code max_failed_shard_snapshots} + */ + public final Builder maxFailedShardSnapshots(@Nullable Integer value) { + this.maxFailedShardSnapshots = value; + return this; + } + + /** + * Number of threads to use for reading metadata + *

+ * API name: {@code meta_thread_pool_concurrency} + */ + public final Builder metaThreadPoolConcurrency(@Nullable Integer value) { + this.metaThreadPoolConcurrency = value; + return this; + } + + /** + * Required - A repository name + *

+ * API name: {@code repository} + *

+ * Adds all elements of list to name. + */ + public final Builder name(List list) { + this.name = _listAddAll(this.name, list); + return this; + } + + /** + * Required - A repository name + *

+ * API name: {@code repository} + *

+ * Adds one or more values to name. + */ + public final Builder name(String value, String... values) { + this.name = _listAdd(this.name, value, values); + return this; + } + + /** + * Number of snapshots to verify concurrently + *

+ * API name: {@code snapshot_verification_concurrency} + */ + public final Builder snapshotVerificationConcurrency(@Nullable Integer value) { + this.snapshotVerificationConcurrency = value; + return this; + } + + /** + * Whether to verify the contents of individual blobs + *

+ * API name: {@code verify_blob_contents} + */ + public final Builder verifyBlobContents(@Nullable Boolean value) { + this.verifyBlobContents = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RepositoryVerifyIntegrityRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RepositoryVerifyIntegrityRequest build() { + _checkSingleUse(); + + return new RepositoryVerifyIntegrityRequest(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Endpoint "{@code snapshot.repository_verify_integrity}". + */ + public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( + "es/snapshot.repository_verify_integrity", + + // Request method + request -> { + return "POST"; + + }, + + // Request path + request -> { + final int _name = 1 << 0; + + int propsSet = 0; + + propsSet |= _name; + + if (propsSet == (_name)) { + StringBuilder buf = new StringBuilder(); + buf.append("/_snapshot"); + buf.append("/"); + SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); + buf.append("/_verify_integrity"); + return buf.toString(); + } + throw SimpleEndpoint.noPathTemplateFound("path"); + + }, + + // Path parameters + request -> { + Map params = new HashMap<>(); + final int _name = 1 << 0; + + int propsSet = 0; + + propsSet |= _name; + + if (propsSet == (_name)) { + params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); + } + return params; + }, + + // Request parameters + request -> { + Map params = new HashMap<>(); + if (request.maxFailedShardSnapshots != null) { + params.put("max_failed_shard_snapshots", String.valueOf(request.maxFailedShardSnapshots)); + } + if (request.snapshotVerificationConcurrency != null) { + params.put("snapshot_verification_concurrency", + String.valueOf(request.snapshotVerificationConcurrency)); + } + if (request.metaThreadPoolConcurrency != null) { + params.put("meta_thread_pool_concurrency", String.valueOf(request.metaThreadPoolConcurrency)); + } + if (request.blobThreadPoolConcurrency != null) { + params.put("blob_thread_pool_concurrency", String.valueOf(request.blobThreadPoolConcurrency)); + } + if (request.indexVerificationConcurrency != null) { + params.put("index_verification_concurrency", String.valueOf(request.indexVerificationConcurrency)); + } + if (request.indexSnapshotVerificationConcurrency != null) { + params.put("index_snapshot_verification_concurrency", + String.valueOf(request.indexSnapshotVerificationConcurrency)); + } + if (request.verifyBlobContents != null) { + params.put("verify_blob_contents", String.valueOf(request.verifyBlobContents)); + } + if (request.maxBytesPerSec != null) { + params.put("max_bytes_per_sec", request.maxBytesPerSec); + } + return params; + + }, SimpleEndpoint.emptyMap(), false, RepositoryVerifyIntegrityResponse._DESERIALIZER); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityResponse.java new file mode 100644 index 000000000..a4675354d --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityResponse.java @@ -0,0 +1,153 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.snapshot; + +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import jakarta.json.stream.JsonParser; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: snapshot.repository_verify_integrity.Response + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RepositoryVerifyIntegrityResponse implements JsonpSerializable { + private final JsonData valueBody; + + // --------------------------------------------------------------------------------------------- + + private RepositoryVerifyIntegrityResponse(Builder builder) { + + this.valueBody = ApiTypeHelper.requireNonNull(builder.valueBody, this, "valueBody"); + + } + + public static RepositoryVerifyIntegrityResponse of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - Response value. + */ + public final JsonData valueBody() { + return this.valueBody; + } + + /** + * Serialize this value to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + this.valueBody.serialize(generator, mapper); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RepositoryVerifyIntegrityResponse}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private JsonData valueBody; + + /** + * Required - Response value. + */ + public final Builder valueBody(JsonData value) { + this.valueBody = value; + return this; + } + + @Override + public Builder withJson(JsonParser parser, JsonpMapper mapper) { + + @SuppressWarnings("unchecked") + JsonData value = (JsonData) JsonData._DESERIALIZER.deserialize(parser, mapper); + return this.valueBody(value); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RepositoryVerifyIntegrityResponse}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RepositoryVerifyIntegrityResponse build() { + _checkSingleUse(); + + return new RepositoryVerifyIntegrityResponse(this); + } + } + + public static final JsonpDeserializer _DESERIALIZER = createRepositoryVerifyIntegrityResponseDeserializer(); + protected static JsonpDeserializer createRepositoryVerifyIntegrityResponseDeserializer() { + + JsonpDeserializer valueDeserializer = JsonData._DESERIALIZER; + + return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() + .valueBody(valueDeserializer.deserialize(parser, mapper, event)).build()); + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotShardFailure.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotShardFailure.java index 6b17558f6..31817895f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotShardFailure.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotShardFailure.java @@ -69,6 +69,8 @@ public class SnapshotShardFailure implements JsonpSerializable { private final String shardId; + private final String indexUuid; + private final String status; // --------------------------------------------------------------------------------------------- @@ -79,6 +81,7 @@ private SnapshotShardFailure(Builder builder) { this.nodeId = builder.nodeId; this.reason = ApiTypeHelper.requireNonNull(builder.reason, this, "reason"); this.shardId = ApiTypeHelper.requireNonNull(builder.shardId, this, "shardId"); + this.indexUuid = ApiTypeHelper.requireNonNull(builder.indexUuid, this, "indexUuid"); this.status = ApiTypeHelper.requireNonNull(builder.status, this, "status"); } @@ -116,6 +119,13 @@ public final String shardId() { return this.shardId; } + /** + * Required - API name: {@code index_uuid} + */ + public final String indexUuid() { + return this.indexUuid; + } + /** * Required - API name: {@code status} */ @@ -148,6 +158,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("shard_id"); generator.write(this.shardId); + generator.writeKey("index_uuid"); + generator.write(this.indexUuid); + generator.writeKey("status"); generator.write(this.status); @@ -176,6 +189,8 @@ public static class Builder extends WithJsonObjectBuilderBase private String shardId; + private String indexUuid; + private String status; /** @@ -210,6 +225,14 @@ public final Builder shardId(String value) { return this; } + /** + * Required - API name: {@code index_uuid} + */ + public final Builder indexUuid(String value) { + this.indexUuid = value; + return this; + } + /** * Required - API name: {@code status} */ @@ -250,6 +273,7 @@ protected static void setupSnapshotShardFailureDeserializer(ObjectDeserializer impleme private Query filter; @Nullable - private String format; + private SqlFormat format; @Nullable private Boolean indexUsingFrozen; @@ -571,7 +572,7 @@ public final Builder filter(Function> fn) { *

* API name: {@code format} */ - public final Builder format(@Nullable String value) { + public final Builder format(@Nullable SqlFormat value) { this.format = value; return this; } @@ -838,7 +839,7 @@ protected static void setupQueryRequestDeserializer(ObjectDeserializer { Map params = new HashMap<>(); if (request.format != null) { - params.put("format", request.format); + params.put("format", request.format.jsonValue()); } return params; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentState.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/query/SqlFormat.java similarity index 70% rename from java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentState.java rename to java-client/src/main/java/co/elastic/clients/elasticsearch/sql/query/SqlFormat.java index 06e6d5aa6..9b7c277d5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentState.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/query/SqlFormat.java @@ -17,7 +17,7 @@ * under the License. */ -package co.elastic.clients.elasticsearch.ml; +package co.elastic.clients.elasticsearch.sql.query; import co.elastic.clients.json.JsonEnum; import co.elastic.clients.json.JsonpDeserializable; @@ -40,33 +40,30 @@ /** * - * @see API + * @see API * specification */ @JsonpDeserializable -public enum DeploymentState implements JsonEnum { - /** - * The deployment is usable; at least one node has the model allocated. - */ - Started("started"), +public enum SqlFormat implements JsonEnum { + Csv("csv"), - /** - * The deployment has recently started but is not yet usable; the model is not - * allocated on any nodes. - */ - Starting("starting"), + Json("json"), - /** - * The deployment is preparing to stop and deallocate the model from the - * relevant nodes. - */ - Stopping("stopping"), + Tsv("tsv"), + + Txt("txt"), + + Yaml("yaml"), + + Cbor("cbor"), + + Smile("smile"), ; private final String jsonValue; - DeploymentState(String jsonValue) { + SqlFormat(String jsonValue) { this.jsonValue = jsonValue; } @@ -74,6 +71,6 @@ public String jsonValue() { return this.jsonValue; } - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - DeploymentState.values()); + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + SqlFormat.values()); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/XpackInfoRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/XpackInfoRequest.java index 5f83e92e1..09787d0d0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/XpackInfoRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/XpackInfoRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch.xpack.info.XPackCategory; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -31,7 +32,6 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; -import java.lang.String; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -69,7 +69,7 @@ public class XpackInfoRequest extends RequestBase { @Nullable private final Boolean acceptEnterprise; - private final List categories; + private final List categories; @Nullable private final Boolean human; @@ -104,7 +104,7 @@ public final Boolean acceptEnterprise() { *

* API name: {@code categories} */ - public final List categories() { + public final List categories() { return this.categories; } @@ -132,7 +132,7 @@ public static class Builder extends RequestBase.AbstractBuilder private Boolean acceptEnterprise; @Nullable - private List categories; + private List categories; @Nullable private Boolean human; @@ -155,7 +155,7 @@ public final Builder acceptEnterprise(@Nullable Boolean value) { *

* Adds all elements of list to categories. */ - public final Builder categories(List list) { + public final Builder categories(List list) { this.categories = _listAddAll(this.categories, list); return this; } @@ -168,7 +168,7 @@ public final Builder categories(List list) { *

* Adds one or more values to categories. */ - public final Builder categories(String value, String... values) { + public final Builder categories(XPackCategory value, XPackCategory... values) { this.categories = _listAdd(this.categories, value, values); return this; } @@ -231,7 +231,8 @@ public XpackInfoRequest build() { request -> { Map params = new HashMap<>(); if (ApiTypeHelper.isDefined(request.categories)) { - params.put("categories", request.categories.stream().map(v -> v).collect(Collectors.joining(","))); + params.put("categories", + request.categories.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); } if (request.human != null) { params.put("human", String.valueOf(request.human)); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/XPackCategory.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/XPackCategory.java new file mode 100644 index 000000000..8abc799d4 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/XPackCategory.java @@ -0,0 +1,68 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.xpack.info; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum XPackCategory implements JsonEnum { + Build("build"), + + Features("features"), + + License("license"), + + ; + + private final String jsonValue; + + XPackCategory(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + XPackCategory.values()); +} From 5d466ade855d62900150f52791abf3ef28bec6bf Mon Sep 17 00:00:00 2001 From: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Date: Tue, 1 Oct 2024 19:00:24 +0200 Subject: [PATCH 008/106] fixes from spec pr 2959 (#887) --- .../_types/ShardsOperationResponseBase.java | 21 ++- .../_types/analysis/EdgeNGramTokenizer.java | 42 +++-- .../_types/analysis/NGramTokenizer.java | 42 +++-- .../elasticsearch/doc-files/api-spec.html | 53 +++--- .../elasticsearch/ilm/MoveToStepRequest.java | 39 ++-- .../ilm/move_to_step/StepKey.java | 34 ++-- .../indices/DataStreamVisibility.java | 29 +++ .../elasticsearch/ingest/RedactProcessor.java | 37 ++++ .../elasticsearch/ingest/simulate/Ingest.java | 36 ++++ .../elasticsearch/ingest/simulate/Redact.java | 156 ++++++++++++++++ .../elasticsearch/xpack/info/Features.java | 173 ++++++------------ 11 files changed, 447 insertions(+), 215 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Redact.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ShardsOperationResponseBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ShardsOperationResponseBase.java index a2064e050..1dc2ded74 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ShardsOperationResponseBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ShardsOperationResponseBase.java @@ -26,7 +26,6 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; @@ -59,19 +58,21 @@ */ public abstract class ShardsOperationResponseBase implements JsonpSerializable { + @Nullable private final ShardStatistics shards; // --------------------------------------------------------------------------------------------- protected ShardsOperationResponseBase(AbstractBuilder builder) { - this.shards = ApiTypeHelper.requireNonNull(builder.shards, this, "shards"); + this.shards = builder.shards; } /** - * Required - API name: {@code _shards} + * API name: {@code _shards} */ + @Nullable public final ShardStatistics shards() { return this.shards; } @@ -87,8 +88,11 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); + if (this.shards != null) { + generator.writeKey("_shards"); + this.shards.serialize(generator, mapper); + + } } @@ -100,18 +104,19 @@ public String toString() { public abstract static class AbstractBuilder> extends WithJsonObjectBuilderBase { + @Nullable private ShardStatistics shards; /** - * Required - API name: {@code _shards} + * API name: {@code _shards} */ - public final BuilderT shards(ShardStatistics value) { + public final BuilderT shards(@Nullable ShardStatistics value) { this.shards = value; return self(); } /** - * Required - API name: {@code _shards} + * API name: {@code _shards} */ public final BuilderT shards(Function> fn) { return this.shards(fn.apply(new ShardStatistics.Builder()).build()); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java index fa7e1e77c..7b587e7dd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java @@ -62,9 +62,11 @@ public class EdgeNGramTokenizer extends TokenizerBase implements TokenizerDefini @Nullable private final String customTokenChars; - private final int maxGram; + @Nullable + private final Integer maxGram; - private final int minGram; + @Nullable + private final Integer minGram; private final List tokenChars; @@ -74,8 +76,8 @@ private EdgeNGramTokenizer(Builder builder) { super(builder); this.customTokenChars = builder.customTokenChars; - this.maxGram = ApiTypeHelper.requireNonNull(builder.maxGram, this, "maxGram"); - this.minGram = ApiTypeHelper.requireNonNull(builder.minGram, this, "minGram"); + this.maxGram = builder.maxGram; + this.minGram = builder.minGram; this.tokenChars = ApiTypeHelper.unmodifiable(builder.tokenChars); } @@ -101,16 +103,18 @@ public final String customTokenChars() { } /** - * Required - API name: {@code max_gram} + * API name: {@code max_gram} */ - public final int maxGram() { + @Nullable + public final Integer maxGram() { return this.maxGram; } /** - * Required - API name: {@code min_gram} + * API name: {@code min_gram} */ - public final int minGram() { + @Nullable + public final Integer minGram() { return this.minGram; } @@ -130,12 +134,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.customTokenChars); } - generator.writeKey("max_gram"); - generator.write(this.maxGram); + if (this.maxGram != null) { + generator.writeKey("max_gram"); + generator.write(this.maxGram); - generator.writeKey("min_gram"); - generator.write(this.minGram); + } + if (this.minGram != null) { + generator.writeKey("min_gram"); + generator.write(this.minGram); + } if (ApiTypeHelper.isDefined(this.tokenChars)) { generator.writeKey("token_chars"); generator.writeStartArray(); @@ -160,8 +168,10 @@ public static class Builder extends TokenizerBase.AbstractBuilder @Nullable private String customTokenChars; + @Nullable private Integer maxGram; + @Nullable private Integer minGram; @Nullable @@ -176,17 +186,17 @@ public final Builder customTokenChars(@Nullable String value) { } /** - * Required - API name: {@code max_gram} + * API name: {@code max_gram} */ - public final Builder maxGram(int value) { + public final Builder maxGram(@Nullable Integer value) { this.maxGram = value; return this; } /** - * Required - API name: {@code min_gram} + * API name: {@code min_gram} */ - public final Builder minGram(int value) { + public final Builder minGram(@Nullable Integer value) { this.minGram = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java index a9078eada..182048458 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java @@ -62,9 +62,11 @@ public class NGramTokenizer extends TokenizerBase implements TokenizerDefinition @Nullable private final String customTokenChars; - private final int maxGram; + @Nullable + private final Integer maxGram; - private final int minGram; + @Nullable + private final Integer minGram; private final List tokenChars; @@ -74,8 +76,8 @@ private NGramTokenizer(Builder builder) { super(builder); this.customTokenChars = builder.customTokenChars; - this.maxGram = ApiTypeHelper.requireNonNull(builder.maxGram, this, "maxGram"); - this.minGram = ApiTypeHelper.requireNonNull(builder.minGram, this, "minGram"); + this.maxGram = builder.maxGram; + this.minGram = builder.minGram; this.tokenChars = ApiTypeHelper.unmodifiable(builder.tokenChars); } @@ -101,16 +103,18 @@ public final String customTokenChars() { } /** - * Required - API name: {@code max_gram} + * API name: {@code max_gram} */ - public final int maxGram() { + @Nullable + public final Integer maxGram() { return this.maxGram; } /** - * Required - API name: {@code min_gram} + * API name: {@code min_gram} */ - public final int minGram() { + @Nullable + public final Integer minGram() { return this.minGram; } @@ -130,12 +134,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.customTokenChars); } - generator.writeKey("max_gram"); - generator.write(this.maxGram); + if (this.maxGram != null) { + generator.writeKey("max_gram"); + generator.write(this.maxGram); - generator.writeKey("min_gram"); - generator.write(this.minGram); + } + if (this.minGram != null) { + generator.writeKey("min_gram"); + generator.write(this.minGram); + } if (ApiTypeHelper.isDefined(this.tokenChars)) { generator.writeKey("token_chars"); generator.writeStartArray(); @@ -160,8 +168,10 @@ public static class Builder extends TokenizerBase.AbstractBuilder @Nullable private String customTokenChars; + @Nullable private Integer maxGram; + @Nullable private Integer minGram; @Nullable @@ -176,17 +186,17 @@ public final Builder customTokenChars(@Nullable String value) { } /** - * Required - API name: {@code max_gram} + * API name: {@code max_gram} */ - public final Builder maxGram(int value) { + public final Builder maxGram(@Nullable Integer value) { this.maxGram = value; return this; } /** - * Required - API name: {@code min_gram} + * API name: {@code min_gram} */ - public final Builder minGram(int value) { + public final Builder minGram(@Nullable Integer value) { this.minGram = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index 5c6e74df9..f9cec7c88 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -345,7 +345,7 @@ '_types.SegmentsStats': '_types/Stats.ts#L273-L366', '_types.ShardFailure': '_types/Errors.ts#L52-L58', '_types.ShardStatistics': '_types/Stats.ts#L54-L66', -'_types.ShardsOperationResponseBase': '_types/Base.ts#L91-L93', +'_types.ShardsOperationResponseBase': '_types/Base.ts#L91-L94', '_types.SlicedScroll': '_types/SlicedScroll.ts#L23-L27', '_types.Slices': '_types/common.ts#L365-L370', '_types.SlicesCalculation': '_types/common.ts#L372-L380', @@ -1391,7 +1391,7 @@ 'ilm.migrate_to_data_tiers.Response': 'ilm/migrate_to_data_tiers/Response.ts#L22-L32', 'ilm.move_to_step.Request': 'ilm/move_to_step/MoveToStepRequest.ts#L24-L36', 'ilm.move_to_step.Response': 'ilm/move_to_step/MoveToStepResponse.ts#L22-L24', -'ilm.move_to_step.StepKey': 'ilm/move_to_step/types.ts#L20-L24', +'ilm.move_to_step.StepKey': 'ilm/move_to_step/types.ts#L20-L25', 'ilm.put_lifecycle.Request': 'ilm/put_lifecycle/PutLifecycleRequest.ts#L25-L55', 'ilm.put_lifecycle.Response': 'ilm/put_lifecycle/PutLifecycleResponse.ts#L22-L24', 'ilm.remove_policy.Request': 'ilm/remove_policy/RemovePolicyRequest.ts#L23-L31', @@ -1412,7 +1412,7 @@ 'indices._types.DataStreamLifecycleRolloverConditions': 'indices/_types/DataStreamLifecycle.ts#L57-L69', 'indices._types.DataStreamLifecycleWithRollover': 'indices/_types/DataStreamLifecycle.ts#L33-L55', 'indices._types.DataStreamTimestampField': 'indices/_types/DataStream.ts#L129-L134', -'indices._types.DataStreamVisibility': 'indices/_types/DataStream.ts#L159-L161', +'indices._types.DataStreamVisibility': 'indices/_types/DataStream.ts#L159-L162', 'indices._types.DownsampleConfig': 'indices/_types/Downsample.ts#L22-L27', 'indices._types.DownsamplingRound': 'indices/_types/DownsamplingRound.ts#L23-L32', 'indices._types.FailureStore': 'indices/_types/DataStream.ts#L39-L43', @@ -1730,20 +1730,20 @@ 'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1043-L1054', 'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L266-L289', 'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L264', -'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1056-L1090', -'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1092-L1106', -'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1108-L1124', -'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1126-L1154', -'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1156-L1176', -'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1178-L1212', -'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1214-L1223', -'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1225-L1228', -'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1230-L1246', -'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1248-L1273', -'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1275-L1291', -'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1293-L1309', -'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1329-L1355', -'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1311-L1327', +'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1056-L1097', +'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1099-L1113', +'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1115-L1131', +'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1133-L1161', +'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1163-L1183', +'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1185-L1219', +'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1221-L1230', +'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1232-L1235', +'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1237-L1253', +'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1255-L1280', +'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1282-L1298', +'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1300-L1316', +'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1336-L1362', +'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1318-L1334', 'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L441-L472', 'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L474-L480', 'ingest.delete_geoip_database.Request': 'ingest/delete_geoip_database/DeleteGeoipDatabaseRequest.ts#L24-L48', @@ -1766,13 +1766,14 @@ 'ingest.put_geoip_database.Response': 'ingest/put_geoip_database/PutGeoipDatabaseResponse.ts#L22-L24', 'ingest.put_pipeline.Request': 'ingest/put_pipeline/PutPipelineRequest.ts#L25-L83', 'ingest.put_pipeline.Response': 'ingest/put_pipeline/PutPipelineResponse.ts#L22-L24', -'ingest.simulate.Document': 'ingest/simulate/types.ts#L50-L64', -'ingest.simulate.DocumentSimulation': 'ingest/simulate/types.ts#L66-L96', -'ingest.simulate.Ingest': 'ingest/simulate/types.ts#L29-L32', -'ingest.simulate.PipelineSimulation': 'ingest/simulate/types.ts#L40-L48', +'ingest.simulate.Document': 'ingest/simulate/types.ts#L62-L76', +'ingest.simulate.DocumentSimulation': 'ingest/simulate/types.ts#L78-L108', +'ingest.simulate.Ingest': 'ingest/simulate/types.ts#L29-L37', +'ingest.simulate.PipelineSimulation': 'ingest/simulate/types.ts#L52-L60', +'ingest.simulate.Redact': 'ingest/simulate/types.ts#L39-L44', 'ingest.simulate.Request': 'ingest/simulate/SimulatePipelineRequest.ts#L25-L57', 'ingest.simulate.Response': 'ingest/simulate/SimulatePipelineResponse.ts#L22-L24', -'ingest.simulate.SimulateDocumentResult': 'ingest/simulate/types.ts#L34-L38', +'ingest.simulate.SimulateDocumentResult': 'ingest/simulate/types.ts#L46-L50', 'license._types.License': 'license/_types/License.ts#L42-L53', 'license._types.LicenseStatus': 'license/_types/License.ts#L35-L40', 'license._types.LicenseType': 'license/_types/License.ts#L23-L33', @@ -2851,8 +2852,8 @@ 'watcher.stop.Request': 'watcher/stop/WatcherStopRequest.ts#L22-L26', 'watcher.stop.Response': 'watcher/stop/WatcherStopResponse.ts#L22-L24', 'xpack.info.BuildInformation': 'xpack/info/types.ts#L24-L27', -'xpack.info.Feature': 'xpack/info/types.ts#L77-L82', -'xpack.info.Features': 'xpack/info/types.ts#L42-L75', +'xpack.info.Feature': 'xpack/info/types.ts#L84-L89', +'xpack.info.Features': 'xpack/info/types.ts#L42-L82', 'xpack.info.MinimalLicenseInformation': 'xpack/info/types.ts#L34-L40', 'xpack.info.NativeCodeInformation': 'xpack/info/types.ts#L29-L32', 'xpack.info.Request': 'xpack/info/XPackInfoRequest.ts#L22-L42', @@ -2929,10 +2930,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/aefa7a7149bde6df74dca802340ea4b1fcc70dfb/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/3b1143a5a96fc7596af96485bccca492798d6f0e/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java index c178272d7..2691be8ab 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java @@ -66,21 +66,19 @@ */ @JsonpDeserializable public class MoveToStepRequest extends RequestBase implements JsonpSerializable { - @Nullable private final StepKey currentStep; private final String index; - @Nullable private final StepKey nextStep; // --------------------------------------------------------------------------------------------- private MoveToStepRequest(Builder builder) { - this.currentStep = builder.currentStep; + this.currentStep = ApiTypeHelper.requireNonNull(builder.currentStep, this, "currentStep"); this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.nextStep = builder.nextStep; + this.nextStep = ApiTypeHelper.requireNonNull(builder.nextStep, this, "nextStep"); } @@ -89,9 +87,8 @@ public static MoveToStepRequest of(Function implements ObjectBuilder { - @Nullable private StepKey currentStep; private String index; - @Nullable private StepKey nextStep; /** - * API name: {@code current_step} + * Required - API name: {@code current_step} */ - public final Builder currentStep(@Nullable StepKey value) { + public final Builder currentStep(StepKey value) { this.currentStep = value; return this; } /** - * API name: {@code current_step} + * Required - API name: {@code current_step} */ public final Builder currentStep(Function> fn) { return this.currentStep(fn.apply(new StepKey.Builder()).build()); @@ -180,15 +169,15 @@ public final Builder index(String value) { } /** - * API name: {@code next_step} + * Required - API name: {@code next_step} */ - public final Builder nextStep(@Nullable StepKey value) { + public final Builder nextStep(StepKey value) { this.nextStep = value; return this; } /** - * API name: {@code next_step} + * Required - API name: {@code next_step} */ public final Builder nextStep(Function> fn) { return this.nextStep(fn.apply(new StepKey.Builder()).build()); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/move_to_step/StepKey.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/move_to_step/StepKey.java index 2ab46ab63..f773f0fc3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/move_to_step/StepKey.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/move_to_step/StepKey.java @@ -59,8 +59,10 @@ */ @JsonpDeserializable public class StepKey implements JsonpSerializable { + @Nullable private final String action; + @Nullable private final String name; private final String phase; @@ -69,8 +71,8 @@ public class StepKey implements JsonpSerializable { private StepKey(Builder builder) { - this.action = ApiTypeHelper.requireNonNull(builder.action, this, "action"); - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); + this.action = builder.action; + this.name = builder.name; this.phase = ApiTypeHelper.requireNonNull(builder.phase, this, "phase"); } @@ -80,15 +82,17 @@ public static StepKey of(Function> fn) { } /** - * Required - API name: {@code action} + * API name: {@code action} */ + @Nullable public final String action() { return this.action; } /** - * Required - API name: {@code name} + * API name: {@code name} */ + @Nullable public final String name() { return this.name; } @@ -111,12 +115,16 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("action"); - generator.write(this.action); + if (this.action != null) { + generator.writeKey("action"); + generator.write(this.action); - generator.writeKey("name"); - generator.write(this.name); + } + if (this.name != null) { + generator.writeKey("name"); + generator.write(this.name); + } generator.writeKey("phase"); generator.write(this.phase); @@ -134,24 +142,26 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable private String action; + @Nullable private String name; private String phase; /** - * Required - API name: {@code action} + * API name: {@code action} */ - public final Builder action(String value) { + public final Builder action(@Nullable String value) { this.action = value; return this; } /** - * Required - API name: {@code name} + * API name: {@code name} */ - public final Builder name(String value) { + public final Builder name(@Nullable String value) { this.name = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java index 9f562c19d..559e198bd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java @@ -62,11 +62,15 @@ public class DataStreamVisibility implements JsonpSerializable { @Nullable private final Boolean hidden; + @Nullable + private final Boolean allowCustomRouting; + // --------------------------------------------------------------------------------------------- private DataStreamVisibility(Builder builder) { this.hidden = builder.hidden; + this.allowCustomRouting = builder.allowCustomRouting; } @@ -82,6 +86,14 @@ public final Boolean hidden() { return this.hidden; } + /** + * API name: {@code allow_custom_routing} + */ + @Nullable + public final Boolean allowCustomRouting() { + return this.allowCustomRouting; + } + /** * Serialize this object to JSON. */ @@ -98,6 +110,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.hidden); } + if (this.allowCustomRouting != null) { + generator.writeKey("allow_custom_routing"); + generator.write(this.allowCustomRouting); + + } } @@ -118,6 +135,9 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private Boolean hidden; + @Nullable + private Boolean allowCustomRouting; + /** * API name: {@code hidden} */ @@ -126,6 +146,14 @@ public final Builder hidden(@Nullable Boolean value) { return this; } + /** + * API name: {@code allow_custom_routing} + */ + public final Builder allowCustomRouting(@Nullable Boolean value) { + this.allowCustomRouting = value; + return this; + } + @Override protected Builder self() { return this; @@ -155,6 +183,7 @@ public DataStreamVisibility build() { protected static void setupDataStreamVisibilityDeserializer(ObjectDeserializer op) { op.add(Builder::hidden, JsonpDeserializer.booleanDeserializer(), "hidden"); + op.add(Builder::allowCustomRouting, JsonpDeserializer.booleanDeserializer(), "allow_custom_routing"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java index 21a0fb763..6e132452f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java @@ -77,6 +77,9 @@ public class RedactProcessor extends ProcessorBase implements ProcessorVariant { @Nullable private final Boolean skipIfUnlicensed; + @Nullable + private final Boolean traceRedact; + // --------------------------------------------------------------------------------------------- private RedactProcessor(Builder builder) { @@ -89,6 +92,7 @@ private RedactProcessor(Builder builder) { this.suffix = builder.suffix; this.ignoreMissing = builder.ignoreMissing; this.skipIfUnlicensed = builder.skipIfUnlicensed; + this.traceRedact = builder.traceRedact; } @@ -172,6 +176,18 @@ public final Boolean skipIfUnlicensed() { return this.skipIfUnlicensed; } + /** + * If true then ingest metadata + * _ingest._redact._is_redacted is set to true if the + * document has been redacted + *

+ * API name: {@code trace_redact} + */ + @Nullable + public final Boolean traceRedact() { + return this.traceRedact; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { super.serializeInternal(generator, mapper); @@ -219,6 +235,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.skipIfUnlicensed); } + if (this.traceRedact != null) { + generator.writeKey("trace_redact"); + generator.write(this.traceRedact); + + } } @@ -250,6 +271,9 @@ public static class Builder extends ProcessorBase.AbstractBuilder @Nullable private Boolean skipIfUnlicensed; + @Nullable + private Boolean traceRedact; + /** * Required - The field to be redacted *

@@ -347,6 +371,18 @@ public final Builder skipIfUnlicensed(@Nullable Boolean value) { return this; } + /** + * If true then ingest metadata + * _ingest._redact._is_redacted is set to true if the + * document has been redacted + *

+ * API name: {@code trace_redact} + */ + public final Builder traceRedact(@Nullable Boolean value) { + this.traceRedact = value; + return this; + } + @Override protected Builder self() { return this; @@ -384,6 +420,7 @@ protected static void setupRedactProcessorDeserializer(ObjectDeserializer> fn) { return fn.apply(new Builder()).build(); } + /** + * API name: {@code _redact} + */ + @Nullable + public final Redact redact() { + return this.redact; + } + /** * Required - API name: {@code timestamp} */ @@ -104,6 +116,11 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + if (this.redact != null) { + generator.writeKey("_redact"); + this.redact.serialize(generator, mapper); + + } generator.writeKey("timestamp"); this.timestamp.serialize(generator, mapper); if (this.pipeline != null) { @@ -126,11 +143,29 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private Redact redact; + private DateTime timestamp; @Nullable private String pipeline; + /** + * API name: {@code _redact} + */ + public final Builder redact(@Nullable Redact value) { + this.redact = value; + return this; + } + + /** + * API name: {@code _redact} + */ + public final Builder redact(Function> fn) { + return this.redact(fn.apply(new Redact.Builder()).build()); + } + /** * Required - API name: {@code timestamp} */ @@ -175,6 +210,7 @@ public Ingest build() { protected static void setupIngestDeserializer(ObjectDeserializer op) { + op.add(Builder::redact, Redact._DESERIALIZER, "_redact"); op.add(Builder::timestamp, DateTime._DESERIALIZER, "timestamp"); op.add(Builder::pipeline, JsonpDeserializer.stringDeserializer(), "pipeline"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Redact.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Redact.java new file mode 100644 index 000000000..ceb041981 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Redact.java @@ -0,0 +1,156 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest.simulate; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest.simulate.Redact + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class Redact implements JsonpSerializable { + private final boolean isRedacted; + + // --------------------------------------------------------------------------------------------- + + private Redact(Builder builder) { + + this.isRedacted = ApiTypeHelper.requireNonNull(builder.isRedacted, this, "isRedacted"); + + } + + public static Redact of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - indicates if document has been redacted + *

+ * API name: {@code _is_redacted} + */ + public final boolean isRedacted() { + return this.isRedacted; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("_is_redacted"); + generator.write(this.isRedacted); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link Redact}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Boolean isRedacted; + + /** + * Required - indicates if document has been redacted + *

+ * API name: {@code _is_redacted} + */ + public final Builder isRedacted(boolean value) { + this.isRedacted = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link Redact}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public Redact build() { + _checkSingleUse(); + + return new Redact(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link Redact} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + Redact::setupRedactDeserializer); + + protected static void setupRedactDeserializer(ObjectDeserializer op) { + + op.add(Builder::isRedacted, JsonpDeserializer.booleanDeserializer(), "_is_redacted"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java index 002902434..8e1562695 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java @@ -64,22 +64,17 @@ public class Features implements JsonpSerializable { private final Feature ccr; - @Nullable - private final Feature dataFrame; - - @Nullable - private final Feature dataScience; - private final Feature dataStreams; private final Feature dataTiers; private final Feature enrich; + private final Feature enterpriseSearch; + private final Feature eql; - @Nullable - private final Feature flattened; + private final Feature esql; private final Feature frozenIndices; @@ -110,8 +105,7 @@ public class Features implements JsonpSerializable { private final Feature transform; - @Nullable - private final Feature vectors; + private final Feature universalProfiling; private final Feature votingOnly; @@ -126,13 +120,12 @@ private Features(Builder builder) { this.aggregateMetric = ApiTypeHelper.requireNonNull(builder.aggregateMetric, this, "aggregateMetric"); this.analytics = ApiTypeHelper.requireNonNull(builder.analytics, this, "analytics"); this.ccr = ApiTypeHelper.requireNonNull(builder.ccr, this, "ccr"); - this.dataFrame = builder.dataFrame; - this.dataScience = builder.dataScience; this.dataStreams = ApiTypeHelper.requireNonNull(builder.dataStreams, this, "dataStreams"); this.dataTiers = ApiTypeHelper.requireNonNull(builder.dataTiers, this, "dataTiers"); this.enrich = ApiTypeHelper.requireNonNull(builder.enrich, this, "enrich"); + this.enterpriseSearch = ApiTypeHelper.requireNonNull(builder.enterpriseSearch, this, "enterpriseSearch"); this.eql = ApiTypeHelper.requireNonNull(builder.eql, this, "eql"); - this.flattened = builder.flattened; + this.esql = ApiTypeHelper.requireNonNull(builder.esql, this, "esql"); this.frozenIndices = ApiTypeHelper.requireNonNull(builder.frozenIndices, this, "frozenIndices"); this.graph = ApiTypeHelper.requireNonNull(builder.graph, this, "graph"); this.ilm = ApiTypeHelper.requireNonNull(builder.ilm, this, "ilm"); @@ -148,7 +141,7 @@ private Features(Builder builder) { this.spatial = ApiTypeHelper.requireNonNull(builder.spatial, this, "spatial"); this.sql = ApiTypeHelper.requireNonNull(builder.sql, this, "sql"); this.transform = ApiTypeHelper.requireNonNull(builder.transform, this, "transform"); - this.vectors = builder.vectors; + this.universalProfiling = ApiTypeHelper.requireNonNull(builder.universalProfiling, this, "universalProfiling"); this.votingOnly = ApiTypeHelper.requireNonNull(builder.votingOnly, this, "votingOnly"); this.watcher = ApiTypeHelper.requireNonNull(builder.watcher, this, "watcher"); this.archive = ApiTypeHelper.requireNonNull(builder.archive, this, "archive"); @@ -180,22 +173,6 @@ public final Feature ccr() { return this.ccr; } - /** - * API name: {@code data_frame} - */ - @Nullable - public final Feature dataFrame() { - return this.dataFrame; - } - - /** - * API name: {@code data_science} - */ - @Nullable - public final Feature dataScience() { - return this.dataScience; - } - /** * Required - API name: {@code data_streams} */ @@ -217,6 +194,13 @@ public final Feature enrich() { return this.enrich; } + /** + * Required - API name: {@code enterprise_search} + */ + public final Feature enterpriseSearch() { + return this.enterpriseSearch; + } + /** * Required - API name: {@code eql} */ @@ -225,11 +209,10 @@ public final Feature eql() { } /** - * API name: {@code flattened} + * Required - API name: {@code esql} */ - @Nullable - public final Feature flattened() { - return this.flattened; + public final Feature esql() { + return this.esql; } /** @@ -332,11 +315,10 @@ public final Feature transform() { } /** - * API name: {@code vectors} + * Required - API name: {@code universal_profiling} */ - @Nullable - public final Feature vectors() { - return this.vectors; + public final Feature universalProfiling() { + return this.universalProfiling; } /** @@ -380,16 +362,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("ccr"); this.ccr.serialize(generator, mapper); - if (this.dataFrame != null) { - generator.writeKey("data_frame"); - this.dataFrame.serialize(generator, mapper); - - } - if (this.dataScience != null) { - generator.writeKey("data_science"); - this.dataScience.serialize(generator, mapper); - - } generator.writeKey("data_streams"); this.dataStreams.serialize(generator, mapper); @@ -399,14 +371,15 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("enrich"); this.enrich.serialize(generator, mapper); + generator.writeKey("enterprise_search"); + this.enterpriseSearch.serialize(generator, mapper); + generator.writeKey("eql"); this.eql.serialize(generator, mapper); - if (this.flattened != null) { - generator.writeKey("flattened"); - this.flattened.serialize(generator, mapper); + generator.writeKey("esql"); + this.esql.serialize(generator, mapper); - } generator.writeKey("frozen_indices"); this.frozenIndices.serialize(generator, mapper); @@ -451,11 +424,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("transform"); this.transform.serialize(generator, mapper); - if (this.vectors != null) { - generator.writeKey("vectors"); - this.vectors.serialize(generator, mapper); + generator.writeKey("universal_profiling"); + this.universalProfiling.serialize(generator, mapper); - } generator.writeKey("voting_only"); this.votingOnly.serialize(generator, mapper); @@ -485,22 +456,17 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Feature ccr; - @Nullable - private Feature dataFrame; - - @Nullable - private Feature dataScience; - private Feature dataStreams; private Feature dataTiers; private Feature enrich; + private Feature enterpriseSearch; + private Feature eql; - @Nullable - private Feature flattened; + private Feature esql; private Feature frozenIndices; @@ -531,8 +497,7 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Feature transform; - @Nullable - private Feature vectors; + private Feature universalProfiling; private Feature votingOnly; @@ -585,36 +550,6 @@ public final Builder ccr(Function> fn) { return this.ccr(fn.apply(new Feature.Builder()).build()); } - /** - * API name: {@code data_frame} - */ - public final Builder dataFrame(@Nullable Feature value) { - this.dataFrame = value; - return this; - } - - /** - * API name: {@code data_frame} - */ - public final Builder dataFrame(Function> fn) { - return this.dataFrame(fn.apply(new Feature.Builder()).build()); - } - - /** - * API name: {@code data_science} - */ - public final Builder dataScience(@Nullable Feature value) { - this.dataScience = value; - return this; - } - - /** - * API name: {@code data_science} - */ - public final Builder dataScience(Function> fn) { - return this.dataScience(fn.apply(new Feature.Builder()).build()); - } - /** * Required - API name: {@code data_streams} */ @@ -660,6 +595,21 @@ public final Builder enrich(Function> fn return this.enrich(fn.apply(new Feature.Builder()).build()); } + /** + * Required - API name: {@code enterprise_search} + */ + public final Builder enterpriseSearch(Feature value) { + this.enterpriseSearch = value; + return this; + } + + /** + * Required - API name: {@code enterprise_search} + */ + public final Builder enterpriseSearch(Function> fn) { + return this.enterpriseSearch(fn.apply(new Feature.Builder()).build()); + } + /** * Required - API name: {@code eql} */ @@ -676,18 +626,18 @@ public final Builder eql(Function> fn) { } /** - * API name: {@code flattened} + * Required - API name: {@code esql} */ - public final Builder flattened(@Nullable Feature value) { - this.flattened = value; + public final Builder esql(Feature value) { + this.esql = value; return this; } /** - * API name: {@code flattened} + * Required - API name: {@code esql} */ - public final Builder flattened(Function> fn) { - return this.flattened(fn.apply(new Feature.Builder()).build()); + public final Builder esql(Function> fn) { + return this.esql(fn.apply(new Feature.Builder()).build()); } /** @@ -901,18 +851,18 @@ public final Builder transform(Function> } /** - * API name: {@code vectors} + * Required - API name: {@code universal_profiling} */ - public final Builder vectors(@Nullable Feature value) { - this.vectors = value; + public final Builder universalProfiling(Feature value) { + this.universalProfiling = value; return this; } /** - * API name: {@code vectors} + * Required - API name: {@code universal_profiling} */ - public final Builder vectors(Function> fn) { - return this.vectors(fn.apply(new Feature.Builder()).build()); + public final Builder universalProfiling(Function> fn) { + return this.universalProfiling(fn.apply(new Feature.Builder()).build()); } /** @@ -991,13 +941,12 @@ protected static void setupFeaturesDeserializer(ObjectDeserializer Date: Fri, 4 Oct 2024 15:21:36 +0200 Subject: [PATCH 009/106] commons-io update (#888) --- java-client-serverless/build.gradle.kts | 2 +- java-client/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java-client-serverless/build.gradle.kts b/java-client-serverless/build.gradle.kts index 25ee24d90..9b6c1f5e1 100644 --- a/java-client-serverless/build.gradle.kts +++ b/java-client-serverless/build.gradle.kts @@ -257,7 +257,7 @@ dependencies { } // Apache-2.0 - testImplementation("commons-io:commons-io:2.11.0") + testImplementation("commons-io:commons-io:2.17.0") // EPL-2.0 // https://junit.org/junit5/ diff --git a/java-client/build.gradle.kts b/java-client/build.gradle.kts index ce5cf8403..aeef67fe1 100644 --- a/java-client/build.gradle.kts +++ b/java-client/build.gradle.kts @@ -239,7 +239,7 @@ dependencies { } // Apache-2.0 - testImplementation("commons-io:commons-io:2.11.0") + testImplementation("commons-io:commons-io:2.17.0") // EPL-2.0 // https://junit.org/junit5/ From abfbcdbb92827c9ea5cad603cb3a5e9bc6fd7ac6 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Mon, 14 Oct 2024 11:56:33 +0200 Subject: [PATCH 010/106] [codegen] update to latest spec --- .../mapping/DenseVectorElementType.java | 82 ++++ .../mapping/DenseVectorIndexOptions.java | 156 +++++-- .../mapping/DenseVectorIndexOptionsType.java | 107 +++++ .../_types/mapping/DenseVectorProperty.java | 157 +++++-- .../_types/mapping/DenseVectorSimilarity.java | 128 ++++++ .../cluster/ClusterStatsRequest.java | 26 +- .../elasticsearch/doc-files/api-spec.html | 421 +++++++++--------- .../inference/InferenceEndpoint.java | 18 +- .../elasticsearch/ingest/Processor.java | 31 ++ .../ingest/ProcessorBuilders.java | 18 + .../ingest/TerminateProcessor.java | 115 +++++ .../nodes/info/NodeInfoXpack.java | 36 ++ .../nodes/info/NodeInfoXpackMl.java | 159 +++++++ .../nodes/info/NodeInfoXpackSecurity.java | 19 +- .../info/NodeInfoXpackSecurityAuthc.java | 40 +- .../security/PutRoleRequest.java | 12 +- .../snapshot/RestoreResponse.java | 51 ++- 17 files changed, 1225 insertions(+), 351 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorElementType.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptionsType.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorSimilarity.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/TerminateProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackMl.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorElementType.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorElementType.java new file mode 100644 index 000000000..15678bbd4 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorElementType.java @@ -0,0 +1,82 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.mapping; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum DenseVectorElementType implements JsonEnum { + /** + * Indexes a single bit per dimension. Useful for very high-dimensional vectors + * or models that specifically support bit vectors. + *

+ * NOTE: when using bit, the number of dimensions must be a + * multiple of 8 and must represent the number of bits. + */ + Bit("bit"), + + /** + * Indexes a 1-byte integer value per dimension. + */ + Byte("byte"), + + /** + * Indexes a 4-byte floating-point value per dimension. + */ + Float("float"), + + ; + + private final String jsonValue; + + DenseVectorElementType(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + DenseVectorElementType.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptions.java index c655332e0..08b539636 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptions.java @@ -32,7 +32,6 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Float; import java.lang.Integer; -import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -62,25 +61,25 @@ */ @JsonpDeserializable public class DenseVectorIndexOptions implements JsonpSerializable { - private final String type; - @Nullable - private final Integer m; + private final Float confidenceInterval; @Nullable private final Integer efConstruction; @Nullable - private final Float confidenceInterval; + private final Integer m; + + private final DenseVectorIndexOptionsType type; // --------------------------------------------------------------------------------------------- private DenseVectorIndexOptions(Builder builder) { - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - this.m = builder.m; - this.efConstruction = builder.efConstruction; this.confidenceInterval = builder.confidenceInterval; + this.efConstruction = builder.efConstruction; + this.m = builder.m; + this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); } @@ -89,21 +88,37 @@ public static DenseVectorIndexOptions of(Function0.90 and 1.0 or exactly + * 0. When the value is 0, this indicates that dynamic + * quantiles should be calculated for optimized quantization. When between + * 0.90 and 1.0, this value restricts the values used + * when calculating the quantization thresholds. + *

+ * For example, a value of 0.95 will only use the middle + * 95% of the values when calculating the quantization thresholds + * (e.g. the highest and lowest 2.5% of values will be ignored). + *

+ * Defaults to 1/(dims + 1) for int8 quantized vectors + * and 0 for int4 for dynamic quantile calculation. + *

+ * Only applicable to int8_hnsw, int4_hnsw, + * int8_flat, and int4_flat index types. + *

+ * API name: {@code confidence_interval} */ @Nullable - public final Integer m() { - return this.m; + public final Float confidenceInterval() { + return this.confidenceInterval; } /** + * The number of candidates to track while assembling the list of nearest + * neighbors for each new node. + *

+ * Only applicable to hnsw, int8_hnsw, and + * int4_hnsw index types. + *

* API name: {@code ef_construction} */ @Nullable @@ -112,11 +127,25 @@ public final Integer efConstruction() { } /** - * API name: {@code confidence_interval} + * The number of neighbors each node will be connected to in the HNSW graph. + *

+ * Only applicable to hnsw, int8_hnsw, and + * int4_hnsw index types. + *

+ * API name: {@code m} */ @Nullable - public final Float confidenceInterval() { - return this.confidenceInterval; + public final Integer m() { + return this.m; + } + + /** + * Required - The type of kNN algorithm to use. + *

+ * API name: {@code type} + */ + public final DenseVectorIndexOptionsType type() { + return this.type; } /** @@ -130,12 +159,9 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("type"); - generator.write(this.type); - - if (this.m != null) { - generator.writeKey("m"); - generator.write(this.m); + if (this.confidenceInterval != null) { + generator.writeKey("confidence_interval"); + generator.write(this.confidenceInterval); } if (this.efConstruction != null) { @@ -143,11 +169,13 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.efConstruction); } - if (this.confidenceInterval != null) { - generator.writeKey("confidence_interval"); - generator.write(this.confidenceInterval); + if (this.m != null) { + generator.writeKey("m"); + generator.write(this.m); } + generator.writeKey("type"); + this.type.serialize(generator, mapper); } @@ -165,46 +193,76 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String type; - @Nullable - private Integer m; + private Float confidenceInterval; @Nullable private Integer efConstruction; @Nullable - private Float confidenceInterval; + private Integer m; + + private DenseVectorIndexOptionsType type; /** - * Required - API name: {@code type} + * The confidence interval to use when quantizing the vectors. Can be any value + * between and including 0.90 and 1.0 or exactly + * 0. When the value is 0, this indicates that dynamic + * quantiles should be calculated for optimized quantization. When between + * 0.90 and 1.0, this value restricts the values used + * when calculating the quantization thresholds. + *

+ * For example, a value of 0.95 will only use the middle + * 95% of the values when calculating the quantization thresholds + * (e.g. the highest and lowest 2.5% of values will be ignored). + *

+ * Defaults to 1/(dims + 1) for int8 quantized vectors + * and 0 for int4 for dynamic quantile calculation. + *

+ * Only applicable to int8_hnsw, int4_hnsw, + * int8_flat, and int4_flat index types. + *

+ * API name: {@code confidence_interval} */ - public final Builder type(String value) { - this.type = value; + public final Builder confidenceInterval(@Nullable Float value) { + this.confidenceInterval = value; return this; } /** - * API name: {@code m} + * The number of candidates to track while assembling the list of nearest + * neighbors for each new node. + *

+ * Only applicable to hnsw, int8_hnsw, and + * int4_hnsw index types. + *

+ * API name: {@code ef_construction} */ - public final Builder m(@Nullable Integer value) { - this.m = value; + public final Builder efConstruction(@Nullable Integer value) { + this.efConstruction = value; return this; } /** - * API name: {@code ef_construction} + * The number of neighbors each node will be connected to in the HNSW graph. + *

+ * Only applicable to hnsw, int8_hnsw, and + * int4_hnsw index types. + *

+ * API name: {@code m} */ - public final Builder efConstruction(@Nullable Integer value) { - this.efConstruction = value; + public final Builder m(@Nullable Integer value) { + this.m = value; return this; } /** - * API name: {@code confidence_interval} + * Required - The type of kNN algorithm to use. + *

+ * API name: {@code type} */ - public final Builder confidenceInterval(@Nullable Float value) { - this.confidenceInterval = value; + public final Builder type(DenseVectorIndexOptionsType value) { + this.type = value; return this; } @@ -237,10 +295,10 @@ public DenseVectorIndexOptions build() { protected static void setupDenseVectorIndexOptionsDeserializer( ObjectDeserializer op) { - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - op.add(Builder::m, JsonpDeserializer.integerDeserializer(), "m"); - op.add(Builder::efConstruction, JsonpDeserializer.integerDeserializer(), "ef_construction"); op.add(Builder::confidenceInterval, JsonpDeserializer.floatDeserializer(), "confidence_interval"); + op.add(Builder::efConstruction, JsonpDeserializer.integerDeserializer(), "ef_construction"); + op.add(Builder::m, JsonpDeserializer.integerDeserializer(), "m"); + op.add(Builder::type, DenseVectorIndexOptionsType._DESERIALIZER, "type"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptionsType.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptionsType.java new file mode 100644 index 000000000..5d0cd38f3 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptionsType.java @@ -0,0 +1,107 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.mapping; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum DenseVectorIndexOptionsType implements JsonEnum { + /** + * This utilizes a brute-force search algorithm for exact kNN search. This + * supports all element_type values. + */ + Flat("flat"), + + /** + * This utilizes the HNSW algorithm for scalable approximate kNN search. This + * supports all element_type values. + */ + Hnsw("hnsw"), + + /** + * This utilizes a brute-force search algorithm in addition to automatically + * half-byte scalar quantization. Only supports element_type of + * float. + */ + Int4Flat("int4_flat"), + + /** + * This utilizes the HNSW algorithm in addition to automatically scalar + * quantization for scalable approximate kNN search with + * element_type of float. + *

+ * This can reduce the memory footprint by 8x at the cost of some accuracy. + */ + Int4Hnsw("int4_hnsw"), + + /** + * This utilizes a brute-force search algorithm in addition to automatically + * scalar quantization. Only supports element_type of + * float. + */ + Int8Flat("int8_flat"), + + /** + * The default index type for float vectors. This utilizes the HNSW + * algorithm in addition to automatically scalar quantization for scalable + * approximate kNN search with element_type of float. + *

+ * This can reduce the memory footprint by 4x at the cost of some accuracy. + */ + Int8Hnsw("int8_hnsw"), + + ; + + private final String jsonValue; + + DenseVectorIndexOptionsType(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + DenseVectorIndexOptionsType.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorProperty.java index 200d4fc98..0fa3c2d3b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorProperty.java @@ -28,7 +28,6 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; import java.lang.Integer; -import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -58,14 +57,11 @@ */ @JsonpDeserializable public class DenseVectorProperty extends PropertyBase implements PropertyVariant { - @Nullable - private final String elementType; - @Nullable private final Integer dims; @Nullable - private final String similarity; + private final DenseVectorElementType elementType; @Nullable private final Boolean index; @@ -73,16 +69,19 @@ public class DenseVectorProperty extends PropertyBase implements PropertyVariant @Nullable private final DenseVectorIndexOptions indexOptions; + @Nullable + private final DenseVectorSimilarity similarity; + // --------------------------------------------------------------------------------------------- private DenseVectorProperty(Builder builder) { super(builder); - this.elementType = builder.elementType; this.dims = builder.dims; - this.similarity = builder.similarity; + this.elementType = builder.elementType; this.index = builder.index; this.indexOptions = builder.indexOptions; + this.similarity = builder.similarity; } @@ -99,14 +98,10 @@ public Property.Kind _propertyKind() { } /** - * API name: {@code element_type} - */ - @Nullable - public final String elementType() { - return this.elementType; - } - - /** + * Number of vector dimensions. Can't exceed 4096. If + * dims is not specified, it will be set to the length of the first + * vector added to the field. + *

* API name: {@code dims} */ @Nullable @@ -115,14 +110,19 @@ public final Integer dims() { } /** - * API name: {@code similarity} + * The data type used to encode vectors. The supported data types are + * float (default), byte, and bit. + *

+ * API name: {@code element_type} */ @Nullable - public final String similarity() { - return this.similarity; + public final DenseVectorElementType elementType() { + return this.elementType; } /** + * If true, you can search this field using the kNN search API. + *

* API name: {@code index} */ @Nullable @@ -131,6 +131,14 @@ public final Boolean index() { } /** + * An optional section that configures the kNN indexing algorithm. The HNSW + * algorithm has two internal parameters that influence how the data structure + * is built. These can be adjusted to improve the accuracy of results, at the + * expense of slower indexing speed. + *

+ * This parameter can only be specified when index is + * true. + *

* API name: {@code index_options} */ @Nullable @@ -138,24 +146,42 @@ public final DenseVectorIndexOptions indexOptions() { return this.indexOptions; } + /** + * The vector similarity metric to use in kNN search. + *

+ * Documents are ranked by their vector field's similarity to the query vector. + * The _score of each document will be derived from the similarity, + * in a way that ensures scores are positive and that a larger score corresponds + * to a higher ranking. + *

+ * Defaults to l2_norm when element_type is + * bit otherwise defaults to cosine. + *

+ * bit vectors only support l2_norm as their + * similarity metric. + *

+ * This parameter can only be specified when index is + * true. + *

+ * API name: {@code similarity} + */ + @Nullable + public final DenseVectorSimilarity similarity() { + return this.similarity; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write("type", "dense_vector"); super.serializeInternal(generator, mapper); - if (this.elementType != null) { - generator.writeKey("element_type"); - generator.write(this.elementType); - - } if (this.dims != null) { generator.writeKey("dims"); generator.write(this.dims); } - if (this.similarity != null) { - generator.writeKey("similarity"); - generator.write(this.similarity); - + if (this.elementType != null) { + generator.writeKey("element_type"); + this.elementType.serialize(generator, mapper); } if (this.index != null) { generator.writeKey("index"); @@ -167,6 +193,10 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.indexOptions.serialize(generator, mapper); } + if (this.similarity != null) { + generator.writeKey("similarity"); + this.similarity.serialize(generator, mapper); + } } @@ -179,14 +209,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends PropertyBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private String elementType; - @Nullable private Integer dims; @Nullable - private String similarity; + private DenseVectorElementType elementType; @Nullable private Boolean index; @@ -194,15 +221,14 @@ public static class Builder extends PropertyBase.AbstractBuilder @Nullable private DenseVectorIndexOptions indexOptions; - /** - * API name: {@code element_type} - */ - public final Builder elementType(@Nullable String value) { - this.elementType = value; - return this; - } + @Nullable + private DenseVectorSimilarity similarity; /** + * Number of vector dimensions. Can't exceed 4096. If + * dims is not specified, it will be set to the length of the first + * vector added to the field. + *

* API name: {@code dims} */ public final Builder dims(@Nullable Integer value) { @@ -211,14 +237,19 @@ public final Builder dims(@Nullable Integer value) { } /** - * API name: {@code similarity} + * The data type used to encode vectors. The supported data types are + * float (default), byte, and bit. + *

+ * API name: {@code element_type} */ - public final Builder similarity(@Nullable String value) { - this.similarity = value; + public final Builder elementType(@Nullable DenseVectorElementType value) { + this.elementType = value; return this; } /** + * If true, you can search this field using the kNN search API. + *

* API name: {@code index} */ public final Builder index(@Nullable Boolean value) { @@ -227,6 +258,14 @@ public final Builder index(@Nullable Boolean value) { } /** + * An optional section that configures the kNN indexing algorithm. The HNSW + * algorithm has two internal parameters that influence how the data structure + * is built. These can be adjusted to improve the accuracy of results, at the + * expense of slower indexing speed. + *

+ * This parameter can only be specified when index is + * true. + *

* API name: {@code index_options} */ public final Builder indexOptions(@Nullable DenseVectorIndexOptions value) { @@ -235,6 +274,14 @@ public final Builder indexOptions(@Nullable DenseVectorIndexOptions value) { } /** + * An optional section that configures the kNN indexing algorithm. The HNSW + * algorithm has two internal parameters that influence how the data structure + * is built. These can be adjusted to improve the accuracy of results, at the + * expense of slower indexing speed. + *

+ * This parameter can only be specified when index is + * true. + *

* API name: {@code index_options} */ public final Builder indexOptions( @@ -242,6 +289,30 @@ public final Builder indexOptions( return this.indexOptions(fn.apply(new DenseVectorIndexOptions.Builder()).build()); } + /** + * The vector similarity metric to use in kNN search. + *

+ * Documents are ranked by their vector field's similarity to the query vector. + * The _score of each document will be derived from the similarity, + * in a way that ensures scores are positive and that a larger score corresponds + * to a higher ranking. + *

+ * Defaults to l2_norm when element_type is + * bit otherwise defaults to cosine. + *

+ * bit vectors only support l2_norm as their + * similarity metric. + *

+ * This parameter can only be specified when index is + * true. + *

+ * API name: {@code similarity} + */ + public final Builder similarity(@Nullable DenseVectorSimilarity value) { + this.similarity = value; + return this; + } + @Override protected Builder self() { return this; @@ -270,11 +341,11 @@ public DenseVectorProperty build() { protected static void setupDenseVectorPropertyDeserializer(ObjectDeserializer op) { PropertyBase.setupPropertyBaseDeserializer(op); - op.add(Builder::elementType, JsonpDeserializer.stringDeserializer(), "element_type"); op.add(Builder::dims, JsonpDeserializer.integerDeserializer(), "dims"); - op.add(Builder::similarity, JsonpDeserializer.stringDeserializer(), "similarity"); + op.add(Builder::elementType, DenseVectorElementType._DESERIALIZER, "element_type"); op.add(Builder::index, JsonpDeserializer.booleanDeserializer(), "index"); op.add(Builder::indexOptions, DenseVectorIndexOptions._DESERIALIZER, "index_options"); + op.add(Builder::similarity, DenseVectorSimilarity._DESERIALIZER, "similarity"); op.ignore("type"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorSimilarity.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorSimilarity.java new file mode 100644 index 000000000..e1d7f162d --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorSimilarity.java @@ -0,0 +1,128 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types.mapping; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum DenseVectorSimilarity implements JsonEnum { + /** + * Computes the cosine similarity. During indexing Elasticsearch automatically + * normalizes vectors with cosine similarity to unit length. This + * allows to internally use dot_product for computing similarity, + * which is more efficient. Original un-normalized vectors can be still accessed + * through scripts. + *

+ * The document _score is computed as + * (1 + cosine(query, vector)) / 2. + *

+ * The cosine similarity does not allow vectors with zero + * magnitude, since cosine is not defined in this case. + */ + Cosine("cosine"), + + /** + * Computes the dot product of two unit vectors. This option provides an + * optimized way to perform cosine similarity. The constraints and computed + * score are defined by element_type. + *

+ * When element_type is float, all vectors must be + * unit length, including both document and query vectors. + *

+ * The document _score is computed as + * (1 + dot_product(query, vector)) / 2. + *

+ * When element_type is byte, all vectors must have + * the same length including both document and query vectors or results will be + * inaccurate. + *

+ * The document _score is computed as + * 0.5 + (dot_product(query, vector) / (32768 * dims)) where + * dims is the number of dimensions per vector. + */ + DotProduct("dot_product"), + + /** + * Computes similarity based on the L2 distance (also known as + * Euclidean distance) between the vectors. + *

+ * The document _score is computed as + * 1 / (1 + l2_norm(query, vector)^2). + *

+ * For bit vectors, instead of using l2_norm, the + * hamming distance between the vectors is used. + *

+ * The _score transformation is + * (numBits - hamming(a, b)) / numBits. + */ + L2Norm("l2_norm"), + + /** + * Computes the maximum inner product of two vectors. This is similar to + * dot_product, but doesn't require vectors to be normalized. This + * means that each vector’s magnitude can significantly effect the score. + *

+ * The document _score is adjusted to prevent negative values. For + * max_inner_product values < 0, the + * _score is + * 1 / (1 + -1 * max_inner_product(query, vector)). For + * non-negative max_inner_product results the _score + * is calculated max_inner_product(query, vector) + 1. + */ + MaxInnerProduct("max_inner_product"), + + ; + + private final String jsonValue; + + DenseVectorSimilarity(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + DenseVectorSimilarity.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java index 060712617..9f47b9971 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java @@ -70,7 +70,7 @@ public class ClusterStatsRequest extends RequestBase { @Nullable - private final Boolean flatSettings; + private final Boolean includeRemotes; private final List nodeId; @@ -81,7 +81,7 @@ public class ClusterStatsRequest extends RequestBase { private ClusterStatsRequest(Builder builder) { - this.flatSettings = builder.flatSettings; + this.includeRemotes = builder.includeRemotes; this.nodeId = ApiTypeHelper.unmodifiable(builder.nodeId); this.timeout = builder.timeout; @@ -92,13 +92,13 @@ public static ClusterStatsRequest of(Functiontrue, returns settings in flat format. + * Include remote cluster data into the response *

- * API name: {@code flat_settings} + * API name: {@code include_remotes} */ @Nullable - public final Boolean flatSettings() { - return this.flatSettings; + public final Boolean includeRemotes() { + return this.includeRemotes; } /** @@ -134,7 +134,7 @@ public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { @Nullable - private Boolean flatSettings; + private Boolean includeRemotes; @Nullable private List nodeId; @@ -143,12 +143,12 @@ public static class Builder extends RequestBase.AbstractBuilder private Time timeout; /** - * If true, returns settings in flat format. + * Include remote cluster data into the response *

- * API name: {@code flat_settings} + * API name: {@code include_remotes} */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; + public final Builder includeRemotes(@Nullable Boolean value) { + this.includeRemotes = value; return this; } @@ -285,8 +285,8 @@ public ClusterStatsRequest build() { // Request parameters request -> { Map params = new HashMap<>(); - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); + if (request.includeRemotes != null) { + params.put("include_remotes", String.valueOf(request.includeRemotes)); } if (request.timeout != null) { params.put("timeout", request.timeout._toJsonString()); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index f9cec7c88..3555d883d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -10,41 +10,41 @@ '_global.bulk.OperationBase': '_global/bulk/types.ts#L90-L107', '_global.bulk.OperationContainer': '_global/bulk/types.ts#L145-L167', '_global.bulk.OperationType': '_global/bulk/types.ts#L83-L88', -'_global.bulk.Request': '_global/bulk/BulkRequest.ts#L32-L104', +'_global.bulk.Request': '_global/bulk/BulkRequest.ts#L32-L105', '_global.bulk.Response': '_global/bulk/BulkResponse.ts#L24-L31', '_global.bulk.ResponseItem': '_global/bulk/types.ts#L37-L81', '_global.bulk.UpdateAction': '_global/bulk/types.ts#L169-L205', '_global.bulk.UpdateOperation': '_global/bulk/types.ts#L136-L143', '_global.bulk.WriteOperation': '_global/bulk/types.ts#L109-L128', -'_global.clear_scroll.Request': '_global/clear_scroll/ClearScrollRequest.ts#L23-L45', +'_global.clear_scroll.Request': '_global/clear_scroll/ClearScrollRequest.ts#L23-L46', '_global.clear_scroll.Response': '_global/clear_scroll/ClearScrollResponse.ts#L22-L36', -'_global.close_point_in_time.Request': '_global/close_point_in_time/ClosePointInTimeRequest.ts#L23-L37', +'_global.close_point_in_time.Request': '_global/close_point_in_time/ClosePointInTimeRequest.ts#L23-L38', '_global.close_point_in_time.Response': '_global/close_point_in_time/ClosePointInTimeResponse.ts#L22-L36', -'_global.count.Request': '_global/count/CountRequest.ts#L26-L120', +'_global.count.Request': '_global/count/CountRequest.ts#L26-L121', '_global.count.Response': '_global/count/CountResponse.ts#L23-L25', '_global.create.Request': '_global/create/CreateRequest.ts#L32-L96', '_global.create.Response': '_global/create/CreateResponse.ts#L22-L24', -'_global.delete.Request': '_global/delete/DeleteRequest.ts#L34-L92', +'_global.delete.Request': '_global/delete/DeleteRequest.ts#L34-L93', '_global.delete.Response': '_global/delete/DeleteResponse.ts#L22-L34', -'_global.delete_by_query.Request': '_global/delete_by_query/DeleteByQueryRequest.ts#L36-L210', +'_global.delete_by_query.Request': '_global/delete_by_query/DeleteByQueryRequest.ts#L36-L211', '_global.delete_by_query.Response': '_global/delete_by_query/DeleteByQueryResponse.ts#L26-L45', '_global.delete_by_query_rethrottle.Request': '_global/delete_by_query_rethrottle/DeleteByQueryRethrottleRequest.ts#L24-L42', '_global.delete_by_query_rethrottle.Response': '_global/delete_by_query_rethrottle/DeleteByQueryRethrottleResponse.ts#L22-L24', -'_global.delete_script.Request': '_global/delete_script/DeleteScriptRequest.ts#L24-L52', +'_global.delete_script.Request': '_global/delete_script/DeleteScriptRequest.ts#L24-L53', '_global.delete_script.Response': '_global/delete_script/DeleteScriptResponse.ts#L22-L24', -'_global.exists.Request': '_global/exists/DocumentExistsRequest.ts#L31-L100', -'_global.exists_source.Request': '_global/exists_source/SourceExistsRequest.ts#L31-L94', +'_global.exists.Request': '_global/exists/DocumentExistsRequest.ts#L31-L101', +'_global.exists_source.Request': '_global/exists_source/SourceExistsRequest.ts#L31-L95', '_global.explain.Explanation': '_global/explain/types.ts#L22-L26', '_global.explain.ExplanationDetail': '_global/explain/types.ts#L28-L32', -'_global.explain.Request': '_global/explain/ExplainRequest.ts#L26-L106', +'_global.explain.Request': '_global/explain/ExplainRequest.ts#L26-L107', '_global.explain.Response': '_global/explain/ExplainResponse.ts#L23-L31', '_global.field_caps.FieldCapability': '_global/field_caps/types.ts#L23-L81', -'_global.field_caps.Request': '_global/field_caps/FieldCapabilitiesRequest.ts#L25-L106', +'_global.field_caps.Request': '_global/field_caps/FieldCapabilitiesRequest.ts#L25-L107', '_global.field_caps.Response': '_global/field_caps/FieldCapabilitiesResponse.ts#L24-L35', '_global.get.GetResult': '_global/get/types.ts#L25-L36', -'_global.get.Request': '_global/get/GetRequest.ts#L31-L100', +'_global.get.Request': '_global/get/GetRequest.ts#L31-L101', '_global.get.Response': '_global/get/GetResponse.ts#L23-L34', -'_global.get_script.Request': '_global/get_script/GetScriptRequest.ts#L24-L42', +'_global.get_script.Request': '_global/get_script/GetScriptRequest.ts#L24-L43', '_global.get_script.Response': '_global/get_script/GetScriptResponse.ts#L23-L29', '_global.get_script_context.Context': '_global/get_script_context/types.ts#L22-L25', '_global.get_script_context.ContextMethod': '_global/get_script_context/types.ts#L27-L31', @@ -54,7 +54,7 @@ '_global.get_script_languages.LanguageContext': '_global/get_script_languages/types.ts#L22-L25', '_global.get_script_languages.Request': '_global/get_script_languages/GetScriptLanguagesRequest.ts#L22-L26', '_global.get_script_languages.Response': '_global/get_script_languages/GetScriptLanguagesResponse.ts#L22-L27', -'_global.get_source.Request': '_global/get_source/SourceRequest.ts#L31-L88', +'_global.get_source.Request': '_global/get_source/SourceRequest.ts#L31-L89', '_global.get_source.Response': '_global/get_source/SourceResponse.ts#L20-L23', '_global.health_report.BaseIndicator': '_global/health_report/types.ts#L43-L48', '_global.health_report.DataStreamLifecycleDetails': '_global/health_report/types.ts#L152-L156', @@ -87,11 +87,11 @@ '_global.health_report.SlmIndicatorDetails': '_global/health_report/types.ts#L179-L183', '_global.health_report.SlmIndicatorUnhealthyPolicies': '_global/health_report/types.ts#L185-L188', '_global.health_report.StagnatingBackingIndices': '_global/health_report/types.ts#L157-L161', -'_global.index.Request': '_global/index/IndexRequest.ts#L35-L118', +'_global.index.Request': '_global/index/IndexRequest.ts#L35-L119', '_global.index.Response': '_global/index/IndexResponse.ts#L22-L24', '_global.info.Request': '_global/info/RootNodeInfoRequest.ts#L22-L29', '_global.info.Response': '_global/info/RootNodeInfoResponse.ts#L23-L31', -'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L79', +'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L80', '_global.knn_search.Response': '_global/knn_search/KnnSearchResponse.ts#L26-L54', '_global.knn_search._types.Query': '_global/knn_search/_types/Knn.ts#L24-L33', '_global.mget.MultiGetError': '_global/mget/types.ts#L62-L66', @@ -106,17 +106,17 @@ '_global.msearch.Request': '_global/msearch/MultiSearchRequest.ts#L25-L106', '_global.msearch.Response': '_global/msearch/MultiSearchResponse.ts#L25-L27', '_global.msearch.ResponseItem': '_global/msearch/types.ts#L208-L211', -'_global.msearch_template.Request': '_global/msearch_template/MultiSearchTemplateRequest.ts#L25-L70', +'_global.msearch_template.Request': '_global/msearch_template/MultiSearchTemplateRequest.ts#L25-L71', '_global.msearch_template.Response': '_global/msearch_template/MultiSearchTemplateResponse.ts#L22-L24', '_global.msearch_template.TemplateConfig': '_global/msearch_template/types.ts#L28-L54', '_global.mtermvectors.Operation': '_global/mtermvectors/types.ts#L35-L94', '_global.mtermvectors.Request': '_global/mtermvectors/MultiTermVectorsRequest.ts#L31-L109', '_global.mtermvectors.Response': '_global/mtermvectors/MultiTermVectorsResponse.ts#L22-L24', '_global.mtermvectors.TermVectorsResult': '_global/mtermvectors/types.ts#L96-L104', -'_global.open_point_in_time.Request': '_global/open_point_in_time/OpenPointInTimeRequest.ts#L25-L75', +'_global.open_point_in_time.Request': '_global/open_point_in_time/OpenPointInTimeRequest.ts#L25-L76', '_global.open_point_in_time.Response': '_global/open_point_in_time/OpenPointInTimeResponse.ts#L23-L29', -'_global.ping.Request': '_global/ping/PingRequest.ts#L22-L29', -'_global.put_script.Request': '_global/put_script/PutScriptRequest.ts#L25-L65', +'_global.ping.Request': '_global/ping/PingRequest.ts#L22-L30', +'_global.put_script.Request': '_global/put_script/PutScriptRequest.ts#L25-L66', '_global.put_script.Response': '_global/put_script/PutScriptResponse.ts#L22-L24', '_global.rank_eval.DocumentRating': '_global/rank_eval/types.ts#L119-L126', '_global.rank_eval.RankEvalHit': '_global/rank_eval/types.ts#L144-L148', @@ -132,23 +132,23 @@ '_global.rank_eval.RankEvalMetricRecall': '_global/rank_eval/types.ts#L54-L58', '_global.rank_eval.RankEvalQuery': '_global/rank_eval/types.ts#L111-L117', '_global.rank_eval.RankEvalRequestItem': '_global/rank_eval/types.ts#L98-L109', -'_global.rank_eval.Request': '_global/rank_eval/RankEvalRequest.ts#L24-L61', +'_global.rank_eval.Request': '_global/rank_eval/RankEvalRequest.ts#L24-L62', '_global.rank_eval.Response': '_global/rank_eval/RankEvalResponse.ts#L26-L34', '_global.rank_eval.UnratedDocument': '_global/rank_eval/types.ts#L150-L153', '_global.reindex.Destination': '_global/reindex/types.ts#L39-L64', '_global.reindex.RemoteSource': '_global/reindex/types.ts#L99-L125', -'_global.reindex.Request': '_global/reindex/ReindexRequest.ts#L27-L103', +'_global.reindex.Request': '_global/reindex/ReindexRequest.ts#L27-L104', '_global.reindex.Response': '_global/reindex/ReindexResponse.ts#L26-L45', '_global.reindex.Source': '_global/reindex/types.ts#L66-L97', '_global.reindex_rethrottle.ReindexNode': '_global/reindex_rethrottle/types.ts#L33-L35', '_global.reindex_rethrottle.ReindexStatus': '_global/reindex_rethrottle/types.ts#L37-L85', '_global.reindex_rethrottle.ReindexTask': '_global/reindex_rethrottle/types.ts#L87-L98', -'_global.reindex_rethrottle.Request': '_global/reindex_rethrottle/ReindexRethrottleRequest.ts#L24-L43', +'_global.reindex_rethrottle.Request': '_global/reindex_rethrottle/ReindexRethrottleRequest.ts#L24-L44', '_global.reindex_rethrottle.Response': '_global/reindex_rethrottle/ReindexRethrottleResponse.ts#L23-L25', -'_global.render_search_template.Request': '_global/render_search_template/RenderSearchTemplateRequest.ts#L25-L55', +'_global.render_search_template.Request': '_global/render_search_template/RenderSearchTemplateRequest.ts#L25-L56', '_global.render_search_template.Response': '_global/render_search_template/RenderSearchTemplateResponse.ts#L23-L25', '_global.scripts_painless_execute.PainlessContextSetup': '_global/scripts_painless_execute/types.ts#L25-L39', -'_global.scripts_painless_execute.Request': '_global/scripts_painless_execute/ExecutePainlessScriptRequest.ts#L24-L47', +'_global.scripts_painless_execute.Request': '_global/scripts_painless_execute/ExecutePainlessScriptRequest.ts#L24-L48', '_global.scripts_painless_execute.Response': '_global/scripts_painless_execute/ExecutePainlessScriptResponse.ts#L20-L24', '_global.scroll.Request': '_global/scroll/ScrollRequest.ts#L24-L59', '_global.scroll.Response': '_global/scroll/ScrollResponse.ts#L22-L24', @@ -229,29 +229,29 @@ '_global.search._types.TotalHits': '_global/search/_types/hits.ts#L96-L99', '_global.search._types.TotalHitsRelation': '_global/search/_types/hits.ts#L101-L106', '_global.search._types.TrackHits': '_global/search/_types/hits.ts#L144-L152', -'_global.search_mvt.Request': '_global/search_mvt/SearchMvtRequest.ts#L33-L190', +'_global.search_mvt.Request': '_global/search_mvt/SearchMvtRequest.ts#L33-L192', '_global.search_mvt.Response': '_global/search_mvt/SearchMvtResponse.ts#L22-L25', '_global.search_mvt._types.GridAggregationType': '_global/search_mvt/_types/GridType.ts#L30-L33', '_global.search_mvt._types.GridType': '_global/search_mvt/_types/GridType.ts#L20-L28', -'_global.search_shards.Request': '_global/search_shards/SearchShardsRequest.ts#L23-L70', +'_global.search_shards.Request': '_global/search_shards/SearchShardsRequest.ts#L23-L71', '_global.search_shards.Response': '_global/search_shards/SearchShardsResponse.ts#L34-L40', '_global.search_shards.SearchShardsNodeAttributes': '_global/search_shards/SearchShardsResponse.ts#L42-L60', '_global.search_shards.ShardStoreIndex': '_global/search_shards/SearchShardsResponse.ts#L62-L65', -'_global.search_template.Request': '_global/search_template/SearchTemplateRequest.ts#L32-L134', +'_global.search_template.Request': '_global/search_template/SearchTemplateRequest.ts#L32-L135', '_global.search_template.Response': '_global/search_template/SearchTemplateResponse.ts#L30-L48', '_global.terms_enum.Request': '_global/terms_enum/TermsEnumRequest.ts#L26-L65', '_global.terms_enum.Response': '_global/terms_enum/TermsEnumResponse.ts#L22-L28', '_global.termvectors.FieldStatistics': '_global/termvectors/types.ts#L28-L32', '_global.termvectors.Filter': '_global/termvectors/types.ts#L49-L86', -'_global.termvectors.Request': '_global/termvectors/TermVectorsRequest.ts#L33-L120', +'_global.termvectors.Request': '_global/termvectors/TermVectorsRequest.ts#L33-L121', '_global.termvectors.Response': '_global/termvectors/TermVectorsResponse.ts#L25-L34', '_global.termvectors.Term': '_global/termvectors/types.ts#L34-L40', '_global.termvectors.TermVector': '_global/termvectors/types.ts#L23-L26', '_global.termvectors.Token': '_global/termvectors/types.ts#L42-L47', -'_global.update.Request': '_global/update/UpdateRequest.ts#L38-L153', +'_global.update.Request': '_global/update/UpdateRequest.ts#L38-L154', '_global.update.Response': '_global/update/UpdateResponse.ts#L27-L29', '_global.update.UpdateWriteResponseBase': '_global/update/UpdateResponse.ts#L23-L25', -'_global.update_by_query.Request': '_global/update_by_query/UpdateByQueryRequest.ts#L37-L226', +'_global.update_by_query.Request': '_global/update_by_query/UpdateByQueryRequest.ts#L37-L227', '_global.update_by_query.Response': '_global/update_by_query/UpdateByQueryResponse.ts#L26-L45', '_global.update_by_query_rethrottle.Request': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleRequest.ts#L24-L43', '_global.update_by_query_rethrottle.Response': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleResponse.ts#L23-L25', @@ -780,7 +780,7 @@ '_types.analysis.WhitespaceTokenizer': '_types/analysis/tokenizers.ts#L135-L138', '_types.analysis.WordDelimiterGraphTokenFilter': '_types/analysis/token_filters.ts#L150-L167', '_types.analysis.WordDelimiterTokenFilter': '_types/analysis/token_filters.ts#L133-L148', -'_types.mapping.AggregateMetricDoubleProperty': '_types/mapping/complex.ts#L61-L66', +'_types.mapping.AggregateMetricDoubleProperty': '_types/mapping/complex.ts#L51-L56', '_types.mapping.AllField': '_types/mapping/meta-fields.ts#L29-L40', '_types.mapping.BinaryProperty': '_types/mapping/core.ts#L54-L56', '_types.mapping.BooleanProperty': '_types/mapping/core.ts#L58-L64', @@ -793,8 +793,11 @@ '_types.mapping.DateNanosProperty': '_types/mapping/core.ts#L78-L86', '_types.mapping.DateProperty': '_types/mapping/core.ts#L66-L76', '_types.mapping.DateRangeProperty': '_types/mapping/range.ts#L29-L32', -'_types.mapping.DenseVectorIndexOptions': '_types/mapping/DenseVectorIndexOptions.ts#L22-L27', -'_types.mapping.DenseVectorProperty': '_types/mapping/complex.ts#L52-L59', +'_types.mapping.DenseVectorElementType': '_types/mapping/DenseVectorProperty.ts#L64-L80', +'_types.mapping.DenseVectorIndexOptions': '_types/mapping/DenseVectorProperty.ts#L129-L162', +'_types.mapping.DenseVectorIndexOptionsType': '_types/mapping/DenseVectorProperty.ts#L164-L197', +'_types.mapping.DenseVectorProperty': '_types/mapping/DenseVectorProperty.ts#L23-L62', +'_types.mapping.DenseVectorSimilarity': '_types/mapping/DenseVectorProperty.ts#L82-L127', '_types.mapping.DocValuesPropertyBase': '_types/mapping/core.ts#L50-L52', '_types.mapping.DoubleNumberProperty': '_types/mapping/core.ts#L152-L155', '_types.mapping.DoubleRangeProperty': '_types/mapping/range.ts#L34-L36', @@ -805,7 +808,7 @@ '_types.mapping.FieldMapping': '_types/mapping/meta-fields.ts#L24-L27', '_types.mapping.FieldNamesField': '_types/mapping/meta-fields.ts#L42-L44', '_types.mapping.FieldType': '_types/mapping/Property.ts#L166-L213', -'_types.mapping.FlattenedProperty': '_types/mapping/complex.ts#L26-L37', +'_types.mapping.FlattenedProperty': '_types/mapping/complex.ts#L25-L36', '_types.mapping.FloatNumberProperty': '_types/mapping/core.ts#L142-L145', '_types.mapping.FloatRangeProperty': '_types/mapping/range.ts#L38-L40', '_types.mapping.GeoOrientation': '_types/mapping/geo.ts#L34-L39', @@ -828,9 +831,9 @@ '_types.mapping.MatchOnlyTextProperty': '_types/mapping/core.ts#L231-L256', '_types.mapping.MatchType': '_types/mapping/dynamic-template.ts#L44-L47', '_types.mapping.Murmur3HashProperty': '_types/mapping/specialized.ts#L81-L83', -'_types.mapping.NestedProperty': '_types/mapping/complex.ts#L39-L44', +'_types.mapping.NestedProperty': '_types/mapping/complex.ts#L38-L43', '_types.mapping.NumberPropertyBase': '_types/mapping/core.ts#L115-L135', -'_types.mapping.ObjectProperty': '_types/mapping/complex.ts#L46-L50', +'_types.mapping.ObjectProperty': '_types/mapping/complex.ts#L45-L49', '_types.mapping.OnScriptError': '_types/mapping/core.ts#L137-L140', '_types.mapping.PercolatorProperty': '_types/mapping/core.ts#L188-L190', '_types.mapping.PointProperty': '_types/mapping/geo.ts#L66-L71', @@ -985,14 +988,14 @@ 'async_search._types.AsyncSearch': 'async_search/_types/AsyncSearch.ts#L30-L56', 'async_search._types.AsyncSearchDocumentResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L50-L54', 'async_search._types.AsyncSearchResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L24-L49', -'async_search.delete.Request': 'async_search/delete/AsyncSearchDeleteRequest.ts#L23-L38', +'async_search.delete.Request': 'async_search/delete/AsyncSearchDeleteRequest.ts#L23-L39', 'async_search.delete.Response': 'async_search/delete/AsyncSearchDeleteResponse.ts#L22-L24', -'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L54', +'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L55', 'async_search.get.Response': 'async_search/get/AsyncSearchGetResponse.ts#L22-L24', -'async_search.status.Request': 'async_search/status/AsyncSearchStatusRequest.ts#L23-L37', +'async_search.status.Request': 'async_search/status/AsyncSearchStatusRequest.ts#L23-L38', 'async_search.status.Response': 'async_search/status/AsyncSearchStatusResponse.ts#L39-L41', 'async_search.status.StatusResponseBase': 'async_search/status/AsyncSearchStatusResponse.ts#L24-L38', -'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L55-L286', +'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L55-L287', 'async_search.submit.Response': 'async_search/submit/AsyncSearchSubmitResponse.ts#L22-L24', 'autoscaling._types.AutoscalingPolicy': 'autoscaling/_types/AutoscalingPolicy.ts#L23-L27', 'autoscaling.delete_autoscaling_policy.Request': 'autoscaling/delete_autoscaling_policy/DeleteAutoscalingPolicyRequest.ts#L23-L32', @@ -1146,17 +1149,17 @@ 'cluster.allocation_explain.Response': 'cluster/allocation_explain/ClusterAllocationExplainResponse.ts#L32-L64', 'cluster.allocation_explain.UnassignedInformation': 'cluster/allocation_explain/types.ts#L128-L136', 'cluster.allocation_explain.UnassignedInformationReason': 'cluster/allocation_explain/types.ts#L138-L157', -'cluster.delete_component_template.Request': 'cluster/delete_component_template/ClusterDeleteComponentTemplateRequest.ts#L24-L55', +'cluster.delete_component_template.Request': 'cluster/delete_component_template/ClusterDeleteComponentTemplateRequest.ts#L24-L56', 'cluster.delete_component_template.Response': 'cluster/delete_component_template/ClusterDeleteComponentTemplateResponse.ts#L22-L24', 'cluster.delete_voting_config_exclusions.Request': 'cluster/delete_voting_config_exclusions/ClusterDeleteVotingConfigExclusionsRequest.ts#L22-L40', -'cluster.exists_component_template.Request': 'cluster/exists_component_template/ClusterComponentTemplateExistsRequest.ts#L24-L55', -'cluster.get_component_template.Request': 'cluster/get_component_template/ClusterGetComponentTemplateRequest.ts#L24-L66', +'cluster.exists_component_template.Request': 'cluster/exists_component_template/ClusterComponentTemplateExistsRequest.ts#L24-L56', +'cluster.get_component_template.Request': 'cluster/get_component_template/ClusterGetComponentTemplateRequest.ts#L24-L67', 'cluster.get_component_template.Response': 'cluster/get_component_template/ClusterGetComponentTemplateResponse.ts#L22-L24', 'cluster.get_settings.Request': 'cluster/get_settings/ClusterGetSettingsRequest.ts#L23-L57', 'cluster.get_settings.Response': 'cluster/get_settings/ClusterGetSettingsResponse.ts#L23-L29', 'cluster.health.HealthResponseBody': 'cluster/health/ClusterHealthResponse.ts#L39-L74', 'cluster.health.IndexHealthStats': 'cluster/health/types.ts#L24-L35', -'cluster.health.Request': 'cluster/health/ClusterHealthRequest.ts#L32-L98', +'cluster.health.Request': 'cluster/health/ClusterHealthRequest.ts#L32-L99', 'cluster.health.Response': 'cluster/health/ClusterHealthResponse.ts#L26-L37', 'cluster.health.ShardHealthStats': 'cluster/health/types.ts#L37-L45', 'cluster.info.Request': 'cluster/info/ClusterInfoRequest.ts#L23-L36', @@ -1165,7 +1168,7 @@ 'cluster.pending_tasks.Request': 'cluster/pending_tasks/ClusterPendingTasksRequest.ts#L23-L48', 'cluster.pending_tasks.Response': 'cluster/pending_tasks/ClusterPendingTasksResponse.ts#L22-L24', 'cluster.post_voting_config_exclusions.Request': 'cluster/post_voting_config_exclusions/ClusterPostVotingConfigExclusionsRequest.ts#L24-L50', -'cluster.put_component_template.Request': 'cluster/put_component_template/ClusterPutComponentTemplateRequest.ts#L25-L94', +'cluster.put_component_template.Request': 'cluster/put_component_template/ClusterPutComponentTemplateRequest.ts#L25-L95', 'cluster.put_component_template.Response': 'cluster/put_component_template/ClusterPutComponentTemplateResponse.ts#L22-L24', 'cluster.put_settings.Request': 'cluster/put_settings/ClusterPutSettingsRequest.ts#L25-L43', 'cluster.put_settings.Response': 'cluster/put_settings/ClusterPutSettingsResponse.ts#L23-L29', @@ -1505,10 +1508,10 @@ 'indices.close.Response': 'indices/close/CloseIndexResponse.ts#L24-L30', 'indices.create.Request': 'indices/create/IndicesCreateRequest.ts#L28-L82', 'indices.create.Response': 'indices/create/IndicesCreateResponse.ts#L22-L28', -'indices.create_data_stream.Request': 'indices/create_data_stream/IndicesCreateDataStreamRequest.ts#L24-L57', +'indices.create_data_stream.Request': 'indices/create_data_stream/IndicesCreateDataStreamRequest.ts#L24-L58', 'indices.create_data_stream.Response': 'indices/create_data_stream/IndicesCreateDataStreamResponse.ts#L22-L24', 'indices.data_streams_stats.DataStreamsStatsItem': 'indices/data_streams_stats/IndicesDataStreamsStatsResponse.ts#L45-L65', -'indices.data_streams_stats.Request': 'indices/data_streams_stats/IndicesDataStreamsStatsRequest.ts#L23-L48', +'indices.data_streams_stats.Request': 'indices/data_streams_stats/IndicesDataStreamsStatsRequest.ts#L23-L49', 'indices.data_streams_stats.Response': 'indices/data_streams_stats/IndicesDataStreamsStatsResponse.ts#L25-L43', 'indices.delete.Request': 'indices/delete/IndicesDeleteRequest.ts#L24-L74', 'indices.delete.Response': 'indices/delete/IndicesDeleteResponse.ts#L22-L24', @@ -1553,9 +1556,9 @@ 'indices.get_alias.Request': 'indices/get_alias/IndicesGetAliasRequest.ts#L23-L71', 'indices.get_alias.Response': 'indices/get_alias/IndicesGetAliasResponse.ts#L26-L35', 'indices.get_data_lifecycle.DataStreamWithLifecycle': 'indices/get_data_lifecycle/IndicesGetDataLifecycleResponse.ts#L27-L30', -'indices.get_data_lifecycle.Request': 'indices/get_data_lifecycle/IndicesGetDataLifecycleRequest.ts#L24-L59', +'indices.get_data_lifecycle.Request': 'indices/get_data_lifecycle/IndicesGetDataLifecycleRequest.ts#L24-L60', 'indices.get_data_lifecycle.Response': 'indices/get_data_lifecycle/IndicesGetDataLifecycleResponse.ts#L23-L25', -'indices.get_data_stream.Request': 'indices/get_data_stream/IndicesGetDataStreamRequest.ts#L24-L65', +'indices.get_data_stream.Request': 'indices/get_data_stream/IndicesGetDataStreamRequest.ts#L24-L66', 'indices.get_data_stream.Response': 'indices/get_data_stream/IndicesGetDataStreamResponse.ts#L22-L24', 'indices.get_field_mapping.Request': 'indices/get_field_mapping/IndicesGetFieldMappingRequest.ts#L23-L74', 'indices.get_field_mapping.Response': 'indices/get_field_mapping/IndicesGetFieldMappingResponse.ts#L24-L27', @@ -1570,11 +1573,11 @@ 'indices.get_settings.Response': 'indices/get_settings/IndicesGetSettingsResponse.ts#L24-L27', 'indices.get_template.Request': 'indices/get_template/IndicesGetTemplateRequest.ts#L24-L57', 'indices.get_template.Response': 'indices/get_template/IndicesGetTemplateResponse.ts#L23-L26', -'indices.migrate_to_data_stream.Request': 'indices/migrate_to_data_stream/IndicesMigrateToDataStreamRequest.ts#L24-L58', +'indices.migrate_to_data_stream.Request': 'indices/migrate_to_data_stream/IndicesMigrateToDataStreamRequest.ts#L24-L59', 'indices.migrate_to_data_stream.Response': 'indices/migrate_to_data_stream/IndicesMigrateToDataStreamResponse.ts#L22-L24', 'indices.modify_data_stream.Action': 'indices/modify_data_stream/types.ts#L22-L37', 'indices.modify_data_stream.IndexAndDataStreamAction': 'indices/modify_data_stream/types.ts#L39-L44', -'indices.modify_data_stream.Request': 'indices/modify_data_stream/IndicesModifyDataStreamRequest.ts#L23-L37', +'indices.modify_data_stream.Request': 'indices/modify_data_stream/IndicesModifyDataStreamRequest.ts#L23-L38', 'indices.modify_data_stream.Response': 'indices/modify_data_stream/IndicesModifyDataStreamResponse.ts#L22-L24', 'indices.open.Request': 'indices/open/IndicesOpenRequest.ts#L24-L82', 'indices.open.Response': 'indices/open/IndicesOpenResponse.ts#L20-L25', @@ -1591,7 +1594,7 @@ 'indices.put_mapping.Response': 'indices/put_mapping/IndicesPutMappingResponse.ts#L22-L24', 'indices.put_settings.Request': 'indices/put_settings/IndicesPutSettingsRequest.ts#L25-L93', 'indices.put_settings.Response': 'indices/put_settings/IndicesPutSettingsResponse.ts#L22-L24', -'indices.put_template.Request': 'indices/put_template/IndicesPutTemplateRequest.ts#L29-L95', +'indices.put_template.Request': 'indices/put_template/IndicesPutTemplateRequest.ts#L29-L94', 'indices.put_template.Response': 'indices/put_template/IndicesPutTemplateResponse.ts#L22-L24', 'indices.recovery.FileDetails': 'indices/recovery/types.ts#L50-L54', 'indices.recovery.RecoveryBytes': 'indices/recovery/types.ts#L38-L48', @@ -1693,59 +1696,60 @@ 'inference.inference.Response': 'inference/inference/InferenceResponse.ts#L22-L24', 'inference.put.Request': 'inference/put/PutRequest.ts#L25-L44', 'inference.put.Response': 'inference/put/PutResponse.ts#L22-L24', -'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L291-L306', -'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L308-L349', -'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L482-L498', -'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L500-L523', -'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L535-L555', -'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L525-L533', -'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L557-L590', +'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L297-L312', +'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L314-L355', +'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L488-L504', +'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L506-L529', +'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L541-L561', +'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L531-L539', +'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L563-L596', 'ingest._types.DatabaseConfiguration': 'ingest/_types/Database.ts#L22-L29', -'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L592-L630', -'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L632-L659', -'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L661-L680', -'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L682-L700', -'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L702-L702', -'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L704-L743', -'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L745-L751', -'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L753-L767', -'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L351-L392', -'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L400-L403', -'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L394-L398', -'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L405-L439', -'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L769-L794', -'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L796-L820', -'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L822-L838', -'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L861-L873', -'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L888-L914', -'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L875-L886', -'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L840-L859', -'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L916-L931', -'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L933-L962', -'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L964-L969', -'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L971-L1023', -'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1025-L1041', +'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L598-L636', +'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L638-L665', +'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L667-L686', +'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L688-L706', +'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L708-L708', +'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L710-L749', +'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L751-L757', +'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L759-L773', +'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L357-L398', +'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L406-L409', +'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L400-L404', +'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L411-L445', +'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L775-L800', +'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L802-L826', +'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L828-L844', +'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L867-L879', +'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L894-L920', +'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L881-L892', +'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L846-L865', +'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L922-L937', +'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L939-L968', +'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L970-L975', +'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L977-L1029', +'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1031-L1047', 'ingest._types.Maxmind': 'ingest/_types/Database.ts#L31-L33', 'ingest._types.Pipeline': 'ingest/_types/Pipeline.ts#L23-L51', -'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1043-L1054', -'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L266-L289', -'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L264', -'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1056-L1097', -'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1099-L1113', -'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1115-L1131', -'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1133-L1161', -'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1163-L1183', -'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1185-L1219', -'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1221-L1230', -'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1232-L1235', -'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1237-L1253', -'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1255-L1280', -'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1282-L1298', -'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1300-L1316', -'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1336-L1362', -'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1318-L1334', -'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L441-L472', -'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L474-L480', +'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1049-L1060', +'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L272-L295', +'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L270', +'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1062-L1103', +'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1105-L1119', +'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1121-L1137', +'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1139-L1167', +'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1169-L1189', +'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1191-L1225', +'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1227-L1236', +'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1238-L1241', +'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1243-L1259', +'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1261-L1286', +'ingest._types.TerminateProcessor': 'ingest/_types/Processors.ts#L1288-L1288', +'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1290-L1306', +'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1308-L1324', +'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1344-L1370', +'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1326-L1342', +'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L447-L478', +'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L480-L486', 'ingest.delete_geoip_database.Request': 'ingest/delete_geoip_database/DeleteGeoipDatabaseRequest.ts#L24-L48', 'ingest.delete_geoip_database.Response': 'ingest/delete_geoip_database/DeleteGeoipDatabaseResponse.ts#L22-L24', 'ingest.delete_pipeline.Request': 'ingest/delete_pipeline/DeletePipelineRequest.ts#L24-L52', @@ -1972,35 +1976,35 @@ 'ml._types.Vocabulary': 'ml/_types/inference.ts#L233-L235', 'ml._types.ZeroShotClassificationInferenceOptions': 'ml/_types/inference.ts#L201-L222', 'ml._types.ZeroShotClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L374-L383', -'ml.clear_trained_model_deployment_cache.Request': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheRequest.ts#L23-L41', +'ml.clear_trained_model_deployment_cache.Request': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheRequest.ts#L23-L42', 'ml.clear_trained_model_deployment_cache.Response': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheResponse.ts#L20-L24', -'ml.close_job.Request': 'ml/close_job/MlCloseJobRequest.ts#L24-L77', +'ml.close_job.Request': 'ml/close_job/MlCloseJobRequest.ts#L24-L78', 'ml.close_job.Response': 'ml/close_job/MlCloseJobResponse.ts#L20-L22', -'ml.delete_calendar.Request': 'ml/delete_calendar/MlDeleteCalendarRequest.ts#L23-L37', +'ml.delete_calendar.Request': 'ml/delete_calendar/MlDeleteCalendarRequest.ts#L23-L38', 'ml.delete_calendar.Response': 'ml/delete_calendar/MlDeleteCalendarResponse.ts#L22-L24', -'ml.delete_calendar_event.Request': 'ml/delete_calendar_event/MlDeleteCalendarEventRequest.ts#L23-L42', +'ml.delete_calendar_event.Request': 'ml/delete_calendar_event/MlDeleteCalendarEventRequest.ts#L23-L43', 'ml.delete_calendar_event.Response': 'ml/delete_calendar_event/MlDeleteCalendarEventResponse.ts#L22-L24', -'ml.delete_calendar_job.Request': 'ml/delete_calendar_job/MlDeleteCalendarJobRequest.ts#L23-L43', +'ml.delete_calendar_job.Request': 'ml/delete_calendar_job/MlDeleteCalendarJobRequest.ts#L23-L44', 'ml.delete_calendar_job.Response': 'ml/delete_calendar_job/MlDeleteCalendarJobResponse.ts#L22-L31', -'ml.delete_data_frame_analytics.Request': 'ml/delete_data_frame_analytics/MlDeleteDataFrameAnalyticsRequest.ts#L24-L51', +'ml.delete_data_frame_analytics.Request': 'ml/delete_data_frame_analytics/MlDeleteDataFrameAnalyticsRequest.ts#L24-L52', 'ml.delete_data_frame_analytics.Response': 'ml/delete_data_frame_analytics/MlDeleteDataFrameAnalyticsResponse.ts#L22-L24', -'ml.delete_datafeed.Request': 'ml/delete_datafeed/MlDeleteDatafeedRequest.ts#L23-L48', +'ml.delete_datafeed.Request': 'ml/delete_datafeed/MlDeleteDatafeedRequest.ts#L23-L49', 'ml.delete_datafeed.Response': 'ml/delete_datafeed/MlDeleteDatafeedResponse.ts#L22-L24', -'ml.delete_expired_data.Request': 'ml/delete_expired_data/MlDeleteExpiredDataRequest.ts#L25-L72', +'ml.delete_expired_data.Request': 'ml/delete_expired_data/MlDeleteExpiredDataRequest.ts#L25-L73', 'ml.delete_expired_data.Response': 'ml/delete_expired_data/MlDeleteExpiredDataResponse.ts#L20-L22', -'ml.delete_filter.Request': 'ml/delete_filter/MlDeleteFilterRequest.ts#L23-L39', +'ml.delete_filter.Request': 'ml/delete_filter/MlDeleteFilterRequest.ts#L23-L40', 'ml.delete_filter.Response': 'ml/delete_filter/MlDeleteFilterResponse.ts#L22-L24', -'ml.delete_forecast.Request': 'ml/delete_forecast/MlDeleteForecastRequest.ts#L24-L65', +'ml.delete_forecast.Request': 'ml/delete_forecast/MlDeleteForecastRequest.ts#L24-L66', 'ml.delete_forecast.Response': 'ml/delete_forecast/MlDeleteForecastResponse.ts#L22-L24', -'ml.delete_job.Request': 'ml/delete_job/MlDeleteJobRequest.ts#L23-L63', +'ml.delete_job.Request': 'ml/delete_job/MlDeleteJobRequest.ts#L23-L64', 'ml.delete_job.Response': 'ml/delete_job/MlDeleteJobResponse.ts#L22-L24', -'ml.delete_model_snapshot.Request': 'ml/delete_model_snapshot/MlDeleteModelSnapshotRequest.ts#L23-L44', +'ml.delete_model_snapshot.Request': 'ml/delete_model_snapshot/MlDeleteModelSnapshotRequest.ts#L23-L45', 'ml.delete_model_snapshot.Response': 'ml/delete_model_snapshot/MlDeleteModelSnapshotResponse.ts#L22-L24', -'ml.delete_trained_model.Request': 'ml/delete_trained_model/MlDeleteTrainedModelRequest.ts#L23-L42', +'ml.delete_trained_model.Request': 'ml/delete_trained_model/MlDeleteTrainedModelRequest.ts#L23-L43', 'ml.delete_trained_model.Response': 'ml/delete_trained_model/MlDeleteTrainedModelResponse.ts#L22-L24', -'ml.delete_trained_model_alias.Request': 'ml/delete_trained_model_alias/MlDeleteTrainedModelAliasRequest.ts#L23-L44', +'ml.delete_trained_model_alias.Request': 'ml/delete_trained_model_alias/MlDeleteTrainedModelAliasRequest.ts#L23-L45', 'ml.delete_trained_model_alias.Response': 'ml/delete_trained_model_alias/MlDeleteTrainedModelAliasResponse.ts#L22-L24', -'ml.estimate_model_memory.Request': 'ml/estimate_model_memory/MlEstimateModelMemoryRequest.ts#L26-L62', +'ml.estimate_model_memory.Request': 'ml/estimate_model_memory/MlEstimateModelMemoryRequest.ts#L26-L63', 'ml.estimate_model_memory.Response': 'ml/estimate_model_memory/MlEstimateModelMemoryResponse.ts#L20-L24', 'ml.evaluate_data_frame.ConfusionMatrixItem': 'ml/evaluate_data_frame/types.ts#L125-L130', 'ml.evaluate_data_frame.ConfusionMatrixPrediction': 'ml/evaluate_data_frame/types.ts#L132-L135', @@ -2016,38 +2020,38 @@ 'ml.evaluate_data_frame.DataframeEvaluationValue': 'ml/evaluate_data_frame/types.ts#L87-L89', 'ml.evaluate_data_frame.DataframeOutlierDetectionSummary': 'ml/evaluate_data_frame/types.ts#L24-L42', 'ml.evaluate_data_frame.DataframeRegressionSummary': 'ml/evaluate_data_frame/types.ts#L68-L85', -'ml.evaluate_data_frame.Request': 'ml/evaluate_data_frame/MlEvaluateDataFrameRequest.ts#L25-L52', +'ml.evaluate_data_frame.Request': 'ml/evaluate_data_frame/MlEvaluateDataFrameRequest.ts#L25-L53', 'ml.evaluate_data_frame.Response': 'ml/evaluate_data_frame/MlEvaluateDataFrameResponse.ts#L26-L33', -'ml.explain_data_frame_analytics.Request': 'ml/explain_data_frame_analytics/MlExplainDataFrameAnalyticsRequest.ts#L30-L107', +'ml.explain_data_frame_analytics.Request': 'ml/explain_data_frame_analytics/MlExplainDataFrameAnalyticsRequest.ts#L30-L108', 'ml.explain_data_frame_analytics.Response': 'ml/explain_data_frame_analytics/MlExplainDataFrameAnalyticsResponse.ts#L25-L32', -'ml.flush_job.Request': 'ml/flush_job/MlFlushJobRequest.ts#L24-L99', +'ml.flush_job.Request': 'ml/flush_job/MlFlushJobRequest.ts#L24-L100', 'ml.flush_job.Response': 'ml/flush_job/MlFlushJobResponse.ts#L22-L31', -'ml.forecast.Request': 'ml/forecast/MlForecastJobRequest.ts#L24-L87', +'ml.forecast.Request': 'ml/forecast/MlForecastJobRequest.ts#L24-L88', 'ml.forecast.Response': 'ml/forecast/MlForecastJobResponse.ts#L22-L27', -'ml.get_buckets.Request': 'ml/get_buckets/MlGetBucketsRequest.ts#L26-L133', +'ml.get_buckets.Request': 'ml/get_buckets/MlGetBucketsRequest.ts#L26-L134', 'ml.get_buckets.Response': 'ml/get_buckets/MlGetBucketsResponse.ts#L23-L28', -'ml.get_calendar_events.Request': 'ml/get_calendar_events/MlGetCalendarEventsRequest.ts#L25-L53', +'ml.get_calendar_events.Request': 'ml/get_calendar_events/MlGetCalendarEventsRequest.ts#L25-L54', 'ml.get_calendar_events.Response': 'ml/get_calendar_events/MlGetCalendarEventsResponse.ts#L23-L28', 'ml.get_calendars.Calendar': 'ml/get_calendars/types.ts#L22-L29', -'ml.get_calendars.Request': 'ml/get_calendars/MlGetCalendarsRequest.ts#L25-L51', +'ml.get_calendars.Request': 'ml/get_calendars/MlGetCalendarsRequest.ts#L25-L52', 'ml.get_calendars.Response': 'ml/get_calendars/MlGetCalendarsResponse.ts#L23-L25', -'ml.get_categories.Request': 'ml/get_categories/MlGetCategoriesRequest.ts#L25-L70', +'ml.get_categories.Request': 'ml/get_categories/MlGetCategoriesRequest.ts#L25-L71', 'ml.get_categories.Response': 'ml/get_categories/MlGetCategoriesResponse.ts#L23-L28', -'ml.get_data_frame_analytics.Request': 'ml/get_data_frame_analytics/MlGetDataFrameAnalyticsRequest.ts#L24-L77', +'ml.get_data_frame_analytics.Request': 'ml/get_data_frame_analytics/MlGetDataFrameAnalyticsRequest.ts#L24-L78', 'ml.get_data_frame_analytics.Response': 'ml/get_data_frame_analytics/MlGetDataFrameAnalyticsResponse.ts#L23-L29', -'ml.get_data_frame_analytics_stats.Request': 'ml/get_data_frame_analytics_stats/MlGetDataFrameAnalyticsStatsRequest.ts#L24-L72', +'ml.get_data_frame_analytics_stats.Request': 'ml/get_data_frame_analytics_stats/MlGetDataFrameAnalyticsStatsRequest.ts#L24-L73', 'ml.get_data_frame_analytics_stats.Response': 'ml/get_data_frame_analytics_stats/MlGetDataFrameAnalyticsStatsResponse.ts#L23-L29', -'ml.get_datafeed_stats.Request': 'ml/get_datafeed_stats/MlGetDatafeedStatsRequest.ts#L23-L60', +'ml.get_datafeed_stats.Request': 'ml/get_datafeed_stats/MlGetDatafeedStatsRequest.ts#L23-L61', 'ml.get_datafeed_stats.Response': 'ml/get_datafeed_stats/MlGetDatafeedStatsResponse.ts#L23-L28', -'ml.get_datafeeds.Request': 'ml/get_datafeeds/MlGetDatafeedsRequest.ts#L23-L66', +'ml.get_datafeeds.Request': 'ml/get_datafeeds/MlGetDatafeedsRequest.ts#L23-L67', 'ml.get_datafeeds.Response': 'ml/get_datafeeds/MlGetDatafeedsResponse.ts#L23-L28', -'ml.get_filters.Request': 'ml/get_filters/MlGetFiltersRequest.ts#L24-L51', +'ml.get_filters.Request': 'ml/get_filters/MlGetFiltersRequest.ts#L24-L52', 'ml.get_filters.Response': 'ml/get_filters/MlGetFiltersResponse.ts#L23-L28', -'ml.get_influencers.Request': 'ml/get_influencers/MlGetInfluencersRequest.ts#L26-L97', +'ml.get_influencers.Request': 'ml/get_influencers/MlGetInfluencersRequest.ts#L26-L98', 'ml.get_influencers.Response': 'ml/get_influencers/MlGetInfluencersResponse.ts#L23-L29', -'ml.get_job_stats.Request': 'ml/get_job_stats/MlGetJobStatsRequest.ts#L23-L56', +'ml.get_job_stats.Request': 'ml/get_job_stats/MlGetJobStatsRequest.ts#L23-L57', 'ml.get_job_stats.Response': 'ml/get_job_stats/MlGetJobStatsResponse.ts#L23-L28', -'ml.get_jobs.Request': 'ml/get_jobs/MlGetJobsRequest.ts#L23-L66', +'ml.get_jobs.Request': 'ml/get_jobs/MlGetJobsRequest.ts#L23-L67', 'ml.get_jobs.Response': 'ml/get_jobs/MlGetJobsResponse.ts#L23-L28', 'ml.get_memory_stats.JvmStats': 'ml/get_memory_stats/types.ts#L50-L63', 'ml.get_memory_stats.MemMlStats': 'ml/get_memory_stats/types.ts#L90-L111', @@ -2055,19 +2059,19 @@ 'ml.get_memory_stats.Memory': 'ml/get_memory_stats/types.ts#L25-L48', 'ml.get_memory_stats.Request': 'ml/get_memory_stats/MlGetMemoryStatsRequest.ts#L24-L60', 'ml.get_memory_stats.Response': 'ml/get_memory_stats/MlGetMemoryStatsResponse.ts#L25-L31', -'ml.get_model_snapshot_upgrade_stats.Request': 'ml/get_model_snapshot_upgrade_stats/MlGetModelSnapshotUpgradeStatsRequest.ts#L23-L57', +'ml.get_model_snapshot_upgrade_stats.Request': 'ml/get_model_snapshot_upgrade_stats/MlGetModelSnapshotUpgradeStatsRequest.ts#L23-L58', 'ml.get_model_snapshot_upgrade_stats.Response': 'ml/get_model_snapshot_upgrade_stats/MlGetModelSnapshotUpgradeStatsResponse.ts#L23-L28', -'ml.get_model_snapshots.Request': 'ml/get_model_snapshots/MlGetModelSnapshotsRequest.ts#L26-L96', +'ml.get_model_snapshots.Request': 'ml/get_model_snapshots/MlGetModelSnapshotsRequest.ts#L26-L97', 'ml.get_model_snapshots.Response': 'ml/get_model_snapshots/MlGetModelSnapshotsResponse.ts#L23-L28', -'ml.get_overall_buckets.Request': 'ml/get_overall_buckets/MlGetOverallBucketsRequest.ts#L25-L145', +'ml.get_overall_buckets.Request': 'ml/get_overall_buckets/MlGetOverallBucketsRequest.ts#L25-L146', 'ml.get_overall_buckets.Response': 'ml/get_overall_buckets/MlGetOverallBucketsResponse.ts#L23-L29', -'ml.get_records.Request': 'ml/get_records/MlGetAnomalyRecordsRequest.ts#L26-L127', +'ml.get_records.Request': 'ml/get_records/MlGetAnomalyRecordsRequest.ts#L26-L128', 'ml.get_records.Response': 'ml/get_records/MlGetAnomalyRecordsResponse.ts#L23-L28', -'ml.get_trained_models.Request': 'ml/get_trained_models/MlGetTrainedModelRequest.ts#L25-L91', +'ml.get_trained_models.Request': 'ml/get_trained_models/MlGetTrainedModelRequest.ts#L25-L92', 'ml.get_trained_models.Response': 'ml/get_trained_models/MlGetTrainedModelResponse.ts#L23-L34', -'ml.get_trained_models_stats.Request': 'ml/get_trained_models_stats/MlGetTrainedModelStatsRequest.ts#L24-L65', +'ml.get_trained_models_stats.Request': 'ml/get_trained_models_stats/MlGetTrainedModelStatsRequest.ts#L24-L66', 'ml.get_trained_models_stats.Response': 'ml/get_trained_models_stats/MlGetTrainedModelStatsResponse.ts#L23-L33', -'ml.infer_trained_model.Request': 'ml/infer_trained_model/MlInferTrainedModelRequest.ts#L27-L59', +'ml.infer_trained_model.Request': 'ml/infer_trained_model/MlInferTrainedModelRequest.ts#L27-L60', 'ml.infer_trained_model.Response': 'ml/infer_trained_model/MlInferTrainedModelResponse.ts#L22-L26', 'ml.info.AnomalyDetectors': 'ml/info/types.ts#L44-L50', 'ml.info.Datafeeds': 'ml/info/types.ts#L40-L42', @@ -2076,28 +2080,28 @@ 'ml.info.NativeCode': 'ml/info/types.ts#L29-L32', 'ml.info.Request': 'ml/info/MlInfoRequest.ts#L22-L36', 'ml.info.Response': 'ml/info/MlInfoResponse.ts#L22-L29', -'ml.open_job.Request': 'ml/open_job/MlOpenJobRequest.ts#L24-L58', +'ml.open_job.Request': 'ml/open_job/MlOpenJobRequest.ts#L24-L59', 'ml.open_job.Response': 'ml/open_job/MlOpenJobResponse.ts#L22-L31', -'ml.post_calendar_events.Request': 'ml/post_calendar_events/MlPostCalendarEventsRequest.ts#L24-L40', +'ml.post_calendar_events.Request': 'ml/post_calendar_events/MlPostCalendarEventsRequest.ts#L24-L41', 'ml.post_calendar_events.Response': 'ml/post_calendar_events/MlPostCalendarEventsResponse.ts#L22-L24', -'ml.post_data.Request': 'ml/post_data/MlPostJobDataRequest.ts#L24-L68', +'ml.post_data.Request': 'ml/post_data/MlPostJobDataRequest.ts#L24-L69', 'ml.post_data.Response': 'ml/post_data/MlPostJobDataResponse.ts#L23-L41', 'ml.preview_data_frame_analytics.DataframePreviewConfig': 'ml/preview_data_frame_analytics/types.ts#L27-L33', -'ml.preview_data_frame_analytics.Request': 'ml/preview_data_frame_analytics/MlPreviewDataFrameAnalyticsRequest.ts#L24-L48', +'ml.preview_data_frame_analytics.Request': 'ml/preview_data_frame_analytics/MlPreviewDataFrameAnalyticsRequest.ts#L24-L49', 'ml.preview_data_frame_analytics.Response': 'ml/preview_data_frame_analytics/MlPreviewDataFrameAnalyticsResponse.ts#L23-L28', -'ml.preview_datafeed.Request': 'ml/preview_datafeed/MlPreviewDatafeedRequest.ts#L26-L69', +'ml.preview_datafeed.Request': 'ml/preview_datafeed/MlPreviewDatafeedRequest.ts#L26-L70', 'ml.preview_datafeed.Response': 'ml/preview_datafeed/MlPreviewDatafeedResponse.ts#L20-L23', -'ml.put_calendar.Request': 'ml/put_calendar/MlPutCalendarRequest.ts#L23-L43', +'ml.put_calendar.Request': 'ml/put_calendar/MlPutCalendarRequest.ts#L23-L44', 'ml.put_calendar.Response': 'ml/put_calendar/MlPutCalendarResponse.ts#L22-L31', -'ml.put_calendar_job.Request': 'ml/put_calendar_job/MlPutCalendarJobRequest.ts#L23-L37', +'ml.put_calendar_job.Request': 'ml/put_calendar_job/MlPutCalendarJobRequest.ts#L23-L38', 'ml.put_calendar_job.Response': 'ml/put_calendar_job/MlPutCalendarJobResponse.ts#L22-L31', -'ml.put_data_frame_analytics.Request': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsRequest.ts#L30-L141', +'ml.put_data_frame_analytics.Request': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsRequest.ts#L30-L142', 'ml.put_data_frame_analytics.Response': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsResponse.ts#L31-L46', -'ml.put_datafeed.Request': 'ml/put_datafeed/MlPutDatafeedRequest.ts#L37-L172', +'ml.put_datafeed.Request': 'ml/put_datafeed/MlPutDatafeedRequest.ts#L37-L173', 'ml.put_datafeed.Response': 'ml/put_datafeed/MlPutDatafeedResponse.ts#L31-L49', -'ml.put_filter.Request': 'ml/put_filter/MlPutFilterRequest.ts#L23-L50', +'ml.put_filter.Request': 'ml/put_filter/MlPutFilterRequest.ts#L23-L51', 'ml.put_filter.Response': 'ml/put_filter/MlPutFilterResponse.ts#L22-L28', -'ml.put_job.Request': 'ml/put_job/MlPutJobRequest.ts#L30-L112', +'ml.put_job.Request': 'ml/put_job/MlPutJobRequest.ts#L30-L113', 'ml.put_job.Response': 'ml/put_job/MlPutJobResponse.ts#L29-L52', 'ml.put_trained_model.AggregateOutput': 'ml/put_trained_model/types.ts#L101-L106', 'ml.put_trained_model.Definition': 'ml/put_trained_model/types.ts#L24-L29', @@ -2106,50 +2110,50 @@ 'ml.put_trained_model.Input': 'ml/put_trained_model/types.ts#L56-L58', 'ml.put_trained_model.OneHotEncodingPreprocessor': 'ml/put_trained_model/types.ts#L44-L47', 'ml.put_trained_model.Preprocessor': 'ml/put_trained_model/types.ts#L31-L36', -'ml.put_trained_model.Request': 'ml/put_trained_model/MlPutTrainedModelRequest.ts#L31-L127', +'ml.put_trained_model.Request': 'ml/put_trained_model/MlPutTrainedModelRequest.ts#L31-L128', 'ml.put_trained_model.Response': 'ml/put_trained_model/MlPutTrainedModelResponse.ts#L22-L24', 'ml.put_trained_model.TargetMeanEncodingPreprocessor': 'ml/put_trained_model/types.ts#L49-L54', 'ml.put_trained_model.TrainedModel': 'ml/put_trained_model/types.ts#L60-L72', 'ml.put_trained_model.TrainedModelTree': 'ml/put_trained_model/types.ts#L74-L79', 'ml.put_trained_model.TrainedModelTreeNode': 'ml/put_trained_model/types.ts#L81-L91', 'ml.put_trained_model.Weights': 'ml/put_trained_model/types.ts#L108-L110', -'ml.put_trained_model_alias.Request': 'ml/put_trained_model_alias/MlPutTrainedModelAliasRequest.ts#L23-L66', +'ml.put_trained_model_alias.Request': 'ml/put_trained_model_alias/MlPutTrainedModelAliasRequest.ts#L23-L67', 'ml.put_trained_model_alias.Response': 'ml/put_trained_model_alias/MlPutTrainedModelAliasResponse.ts#L22-L24', -'ml.put_trained_model_definition_part.Request': 'ml/put_trained_model_definition_part/MlPutTrainedModelDefinitionPartRequest.ts#L24-L57', +'ml.put_trained_model_definition_part.Request': 'ml/put_trained_model_definition_part/MlPutTrainedModelDefinitionPartRequest.ts#L24-L58', 'ml.put_trained_model_definition_part.Response': 'ml/put_trained_model_definition_part/MlPutTrainedModelDefinitionPartResponse.ts#L22-L24', -'ml.put_trained_model_vocabulary.Request': 'ml/put_trained_model_vocabulary/MlPutTrainedModelVocabularyRequest.ts#L24-L60', +'ml.put_trained_model_vocabulary.Request': 'ml/put_trained_model_vocabulary/MlPutTrainedModelVocabularyRequest.ts#L24-L61', 'ml.put_trained_model_vocabulary.Response': 'ml/put_trained_model_vocabulary/MlPutTrainedModelVocabularyResponse.ts#L22-L24', -'ml.reset_job.Request': 'ml/reset_job/MlResetJobRequest.ts#L23-L57', +'ml.reset_job.Request': 'ml/reset_job/MlResetJobRequest.ts#L23-L58', 'ml.reset_job.Response': 'ml/reset_job/MlResetJobResponse.ts#L22-L24', -'ml.revert_model_snapshot.Request': 'ml/revert_model_snapshot/MlRevertModelSnapshotRequest.ts#L23-L69', +'ml.revert_model_snapshot.Request': 'ml/revert_model_snapshot/MlRevertModelSnapshotRequest.ts#L23-L70', 'ml.revert_model_snapshot.Response': 'ml/revert_model_snapshot/MlRevertModelSnapshotResponse.ts#L22-L24', 'ml.set_upgrade_mode.Request': 'ml/set_upgrade_mode/MlSetUpgradeModeRequest.ts#L23-L57', 'ml.set_upgrade_mode.Response': 'ml/set_upgrade_mode/MlSetUpgradeModeResponse.ts#L22-L24', -'ml.start_data_frame_analytics.Request': 'ml/start_data_frame_analytics/MlStartDataFrameAnalyticsRequest.ts#L24-L60', +'ml.start_data_frame_analytics.Request': 'ml/start_data_frame_analytics/MlStartDataFrameAnalyticsRequest.ts#L24-L61', 'ml.start_data_frame_analytics.Response': 'ml/start_data_frame_analytics/MlStartDataFrameAnalyticsResponse.ts#L22-L34', -'ml.start_datafeed.Request': 'ml/start_datafeed/MlStartDatafeedRequest.ts#L24-L91', +'ml.start_datafeed.Request': 'ml/start_datafeed/MlStartDatafeedRequest.ts#L24-L92', 'ml.start_datafeed.Response': 'ml/start_datafeed/MlStartDatafeedResponse.ts#L22-L34', -'ml.start_trained_model_deployment.Request': 'ml/start_trained_model_deployment/MlStartTrainedModelDeploymentRequest.ts#L29-L93', +'ml.start_trained_model_deployment.Request': 'ml/start_trained_model_deployment/MlStartTrainedModelDeploymentRequest.ts#L29-L94', 'ml.start_trained_model_deployment.Response': 'ml/start_trained_model_deployment/MlStartTrainedModelDeploymentResponse.ts#L22-L26', -'ml.stop_data_frame_analytics.Request': 'ml/stop_data_frame_analytics/MlStopDataFrameAnalyticsRequest.ts#L24-L70', +'ml.stop_data_frame_analytics.Request': 'ml/stop_data_frame_analytics/MlStopDataFrameAnalyticsRequest.ts#L24-L71', 'ml.stop_data_frame_analytics.Response': 'ml/stop_data_frame_analytics/MlStopDataFrameAnalyticsResponse.ts#L20-L22', -'ml.stop_datafeed.Request': 'ml/stop_datafeed/MlStopDatafeedRequest.ts#L24-L78', +'ml.stop_datafeed.Request': 'ml/stop_datafeed/MlStopDatafeedRequest.ts#L24-L79', 'ml.stop_datafeed.Response': 'ml/stop_datafeed/MlStopDatafeedResponse.ts#L20-L22', -'ml.stop_trained_model_deployment.Request': 'ml/stop_trained_model_deployment/MlStopTrainedModelDeploymentRequest.ts#L23-L53', +'ml.stop_trained_model_deployment.Request': 'ml/stop_trained_model_deployment/MlStopTrainedModelDeploymentRequest.ts#L23-L54', 'ml.stop_trained_model_deployment.Response': 'ml/stop_trained_model_deployment/MlStopTrainedModelDeploymentResponse.ts#L20-L22', -'ml.update_data_frame_analytics.Request': 'ml/update_data_frame_analytics/MlUpdateDataFrameAnalyticsRequest.ts#L24-L72', +'ml.update_data_frame_analytics.Request': 'ml/update_data_frame_analytics/MlUpdateDataFrameAnalyticsRequest.ts#L24-L73', 'ml.update_data_frame_analytics.Response': 'ml/update_data_frame_analytics/MlUpdateDataFrameAnalyticsResponse.ts#L30-L45', -'ml.update_datafeed.Request': 'ml/update_datafeed/MlUpdateDatafeedRequest.ts#L31-L162', +'ml.update_datafeed.Request': 'ml/update_datafeed/MlUpdateDatafeedRequest.ts#L31-L163', 'ml.update_datafeed.Response': 'ml/update_datafeed/MlUpdateDatafeedResponse.ts#L31-L49', -'ml.update_filter.Request': 'ml/update_filter/MlUpdateFilterRequest.ts#L23-L52', +'ml.update_filter.Request': 'ml/update_filter/MlUpdateFilterRequest.ts#L23-L53', 'ml.update_filter.Response': 'ml/update_filter/MlUpdateFilterResponse.ts#L22-L28', -'ml.update_job.Request': 'ml/update_job/MlUpdateJobRequest.ts#L33-L139', +'ml.update_job.Request': 'ml/update_job/MlUpdateJobRequest.ts#L33-L140', 'ml.update_job.Response': 'ml/update_job/MlUpdateJobResponse.ts#L29-L53', -'ml.update_model_snapshot.Request': 'ml/update_model_snapshot/MlUpdateModelSnapshotRequest.ts#L23-L55', +'ml.update_model_snapshot.Request': 'ml/update_model_snapshot/MlUpdateModelSnapshotRequest.ts#L23-L56', 'ml.update_model_snapshot.Response': 'ml/update_model_snapshot/MlUpdateModelSnapshotResponse.ts#L22-L27', -'ml.update_trained_model_deployment.Request': 'ml/update_trained_model_deployment/MlUpdateTrainedModelDeploymentRequest.ts#L24-L62', +'ml.update_trained_model_deployment.Request': 'ml/update_trained_model_deployment/MlUpdateTrainedModelDeploymentRequest.ts#L24-L63', 'ml.update_trained_model_deployment.Response': 'ml/update_trained_model_deployment/MlUpdateTrainedModelDeploymentResponse.ts#L22-L26', -'ml.upgrade_job_snapshot.Request': 'ml/upgrade_job_snapshot/MlUpgradeJobSnapshotRequest.ts#L24-L64', +'ml.upgrade_job_snapshot.Request': 'ml/upgrade_job_snapshot/MlUpgradeJobSnapshotRequest.ts#L24-L65', 'ml.upgrade_job_snapshot.Response': 'ml/upgrade_job_snapshot/MlUpgradeJobSnapshotResponse.ts#L22-L31', 'ml.validate.Request': 'ml/validate/MlValidateJobRequest.ts#L27-L44', 'ml.validate.Response': 'ml/validate/MlValidateJobResponse.ts#L22-L24', @@ -2218,13 +2222,13 @@ 'nodes._types.TimeHttpHistogram': 'nodes/_types/Stats.ts#L708-L712', 'nodes._types.Transport': 'nodes/_types/Stats.ts#L1118-L1161', 'nodes._types.TransportHistogram': 'nodes/_types/Stats.ts#L1163-L1177', -'nodes.clear_repositories_metering_archive.Request': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveRequest.ts#L24-L43', +'nodes.clear_repositories_metering_archive.Request': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveRequest.ts#L24-L44', 'nodes.clear_repositories_metering_archive.Response': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L36-L38', 'nodes.clear_repositories_metering_archive.ResponseBase': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L25-L34', -'nodes.get_repositories_metering_info.Request': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoRequest.ts#L23-L41', +'nodes.get_repositories_metering_info.Request': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoRequest.ts#L23-L42', 'nodes.get_repositories_metering_info.Response': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoResponse.ts#L36-L38', 'nodes.get_repositories_metering_info.ResponseBase': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoResponse.ts#L25-L34', -'nodes.hot_threads.Request': 'nodes/hot_threads/NodesHotThreadsRequest.ts#L25-L83', +'nodes.hot_threads.Request': 'nodes/hot_threads/NodesHotThreadsRequest.ts#L25-L84', 'nodes.hot_threads.Response': 'nodes/hot_threads/NodesHotThreadsResponse.ts#L20-L22', 'nodes.info.DeprecationIndexing': 'nodes/info/types.ts#L144-L146', 'nodes.info.NodeInfo': 'nodes/info/types.ts#L31-L67', @@ -2233,22 +2237,22 @@ 'nodes.info.NodeInfoBootstrap': 'nodes/info/types.ts#L204-L206', 'nodes.info.NodeInfoClient': 'nodes/info/types.ts#L188-L190', 'nodes.info.NodeInfoDiscover': 'nodes/info/types.ts#L173-L182', -'nodes.info.NodeInfoHttp': 'nodes/info/types.ts#L306-L311', +'nodes.info.NodeInfoHttp': 'nodes/info/types.ts#L311-L316', 'nodes.info.NodeInfoIngest': 'nodes/info/types.ts#L227-L229', 'nodes.info.NodeInfoIngestDownloader': 'nodes/info/types.ts#L128-L130', 'nodes.info.NodeInfoIngestInfo': 'nodes/info/types.ts#L124-L126', 'nodes.info.NodeInfoIngestProcessor': 'nodes/info/types.ts#L231-L233', -'nodes.info.NodeInfoJvmMemory': 'nodes/info/types.ts#L313-L324', -'nodes.info.NodeInfoMemory': 'nodes/info/types.ts#L326-L329', -'nodes.info.NodeInfoNetwork': 'nodes/info/types.ts#L331-L334', -'nodes.info.NodeInfoNetworkInterface': 'nodes/info/types.ts#L336-L340', -'nodes.info.NodeInfoOSCPU': 'nodes/info/types.ts#L342-L351', +'nodes.info.NodeInfoJvmMemory': 'nodes/info/types.ts#L318-L329', +'nodes.info.NodeInfoMemory': 'nodes/info/types.ts#L331-L334', +'nodes.info.NodeInfoNetwork': 'nodes/info/types.ts#L336-L339', +'nodes.info.NodeInfoNetworkInterface': 'nodes/info/types.ts#L341-L345', +'nodes.info.NodeInfoOSCPU': 'nodes/info/types.ts#L347-L356', 'nodes.info.NodeInfoPath': 'nodes/info/types.ts#L158-L163', 'nodes.info.NodeInfoRepositories': 'nodes/info/types.ts#L165-L167', 'nodes.info.NodeInfoRepositoriesUrl': 'nodes/info/types.ts#L169-L171', -'nodes.info.NodeInfoScript': 'nodes/info/types.ts#L284-L287', -'nodes.info.NodeInfoSearch': 'nodes/info/types.ts#L289-L291', -'nodes.info.NodeInfoSearchRemote': 'nodes/info/types.ts#L293-L295', +'nodes.info.NodeInfoScript': 'nodes/info/types.ts#L289-L292', +'nodes.info.NodeInfoSearch': 'nodes/info/types.ts#L294-L296', +'nodes.info.NodeInfoSearchRemote': 'nodes/info/types.ts#L298-L300', 'nodes.info.NodeInfoSettings': 'nodes/info/types.ts#L69-L85', 'nodes.info.NodeInfoSettingsCluster': 'nodes/info/types.ts#L132-L142', 'nodes.info.NodeInfoSettingsClusterElection': 'nodes/info/types.ts#L148-L150', @@ -2260,31 +2264,32 @@ 'nodes.info.NodeInfoSettingsTransport': 'nodes/info/types.ts#L208-L212', 'nodes.info.NodeInfoSettingsTransportFeatures': 'nodes/info/types.ts#L219-L221', 'nodes.info.NodeInfoSettingsTransportType': 'nodes/info/types.ts#L214-L217', -'nodes.info.NodeInfoTransport': 'nodes/info/types.ts#L353-L357', -'nodes.info.NodeInfoXpack': 'nodes/info/types.ts#L239-L243', -'nodes.info.NodeInfoXpackLicense': 'nodes/info/types.ts#L276-L278', -'nodes.info.NodeInfoXpackLicenseType': 'nodes/info/types.ts#L280-L282', -'nodes.info.NodeInfoXpackSecurity': 'nodes/info/types.ts#L245-L250', -'nodes.info.NodeInfoXpackSecurityAuthc': 'nodes/info/types.ts#L256-L259', -'nodes.info.NodeInfoXpackSecurityAuthcRealms': 'nodes/info/types.ts#L261-L265', -'nodes.info.NodeInfoXpackSecurityAuthcRealmsStatus': 'nodes/info/types.ts#L271-L274', -'nodes.info.NodeInfoXpackSecurityAuthcToken': 'nodes/info/types.ts#L267-L269', -'nodes.info.NodeInfoXpackSecuritySsl': 'nodes/info/types.ts#L252-L254', -'nodes.info.NodeJvmInfo': 'nodes/info/types.ts#L359-L373', -'nodes.info.NodeOperatingSystemInfo': 'nodes/info/types.ts#L375-L392', -'nodes.info.NodeProcessInfo': 'nodes/info/types.ts#L394-L401', -'nodes.info.NodeThreadPoolInfo': 'nodes/info/types.ts#L297-L304', -'nodes.info.Request': 'nodes/info/NodesInfoRequest.ts#L24-L55', +'nodes.info.NodeInfoTransport': 'nodes/info/types.ts#L358-L362', +'nodes.info.NodeInfoXpack': 'nodes/info/types.ts#L239-L244', +'nodes.info.NodeInfoXpackLicense': 'nodes/info/types.ts#L281-L283', +'nodes.info.NodeInfoXpackLicenseType': 'nodes/info/types.ts#L285-L287', +'nodes.info.NodeInfoXpackMl': 'nodes/info/types.ts#L253-L255', +'nodes.info.NodeInfoXpackSecurity': 'nodes/info/types.ts#L246-L251', +'nodes.info.NodeInfoXpackSecurityAuthc': 'nodes/info/types.ts#L261-L264', +'nodes.info.NodeInfoXpackSecurityAuthcRealms': 'nodes/info/types.ts#L266-L270', +'nodes.info.NodeInfoXpackSecurityAuthcRealmsStatus': 'nodes/info/types.ts#L276-L279', +'nodes.info.NodeInfoXpackSecurityAuthcToken': 'nodes/info/types.ts#L272-L274', +'nodes.info.NodeInfoXpackSecuritySsl': 'nodes/info/types.ts#L257-L259', +'nodes.info.NodeJvmInfo': 'nodes/info/types.ts#L364-L378', +'nodes.info.NodeOperatingSystemInfo': 'nodes/info/types.ts#L380-L397', +'nodes.info.NodeProcessInfo': 'nodes/info/types.ts#L399-L406', +'nodes.info.NodeThreadPoolInfo': 'nodes/info/types.ts#L302-L309', +'nodes.info.Request': 'nodes/info/NodesInfoRequest.ts#L24-L56', 'nodes.info.Response': 'nodes/info/NodesInfoResponse.ts#L30-L32', 'nodes.info.ResponseBase': 'nodes/info/NodesInfoResponse.ts#L25-L28', -'nodes.reload_secure_settings.Request': 'nodes/reload_secure_settings/ReloadSecureSettingsRequest.ts#L24-L50', +'nodes.reload_secure_settings.Request': 'nodes/reload_secure_settings/ReloadSecureSettingsRequest.ts#L24-L51', 'nodes.reload_secure_settings.Response': 'nodes/reload_secure_settings/ReloadSecureSettingsResponse.ts#L30-L32', 'nodes.reload_secure_settings.ResponseBase': 'nodes/reload_secure_settings/ReloadSecureSettingsResponse.ts#L25-L28', -'nodes.stats.Request': 'nodes/stats/NodesStatsRequest.ts#L24-L75', +'nodes.stats.Request': 'nodes/stats/NodesStatsRequest.ts#L24-L76', 'nodes.stats.Response': 'nodes/stats/NodesStatsResponse.ts#L30-L32', 'nodes.stats.ResponseBase': 'nodes/stats/NodesStatsResponse.ts#L25-L28', 'nodes.usage.NodeUsage': 'nodes/usage/types.ts#L25-L30', -'nodes.usage.Request': 'nodes/usage/NodesUsageRequest.ts#L24-L49', +'nodes.usage.Request': 'nodes/usage/NodesUsageRequest.ts#L24-L50', 'nodes.usage.Response': 'nodes/usage/NodesUsageResponse.ts#L30-L32', 'nodes.usage.ResponseBase': 'nodes/usage/NodesUsageResponse.ts#L25-L28', 'query_rules._types.QueryRule': 'query_rules/_types/QueryRuleset.ts#L36-L42', @@ -2347,11 +2352,11 @@ 'search_application._types.SearchApplicationTemplate': 'search_application/_types/SearchApplication.ts#L47-L52', 'search_application.delete.Request': 'search_application/delete/SearchApplicationsDeleteRequest.ts#L22-L36', 'search_application.delete.Response': 'search_application/delete/SearchApplicationsDeleteResponse.ts#L22-L24', -'search_application.delete_behavioral_analytics.Request': 'search_application/delete_behavioral_analytics/BehavioralAnalyticsDeleteRequest.ts#L22-L36', +'search_application.delete_behavioral_analytics.Request': 'search_application/delete_behavioral_analytics/BehavioralAnalyticsDeleteRequest.ts#L22-L37', 'search_application.delete_behavioral_analytics.Response': 'search_application/delete_behavioral_analytics/BehavioralAnalyticsDeleteResponse.ts#L22-L24', 'search_application.get.Request': 'search_application/get/SearchApplicationsGetRequest.ts#L22-L35', 'search_application.get.Response': 'search_application/get/SearchApplicationsGetResponse.ts#L22-L24', -'search_application.get_behavioral_analytics.Request': 'search_application/get_behavioral_analytics/BehavioralAnalyticsGetRequest.ts#L22-L35', +'search_application.get_behavioral_analytics.Request': 'search_application/get_behavioral_analytics/BehavioralAnalyticsGetRequest.ts#L22-L36', 'search_application.get_behavioral_analytics.Response': 'search_application/get_behavioral_analytics/BehavioralAnalyticsGetResponse.ts#L24-L27', 'search_application.list.Request': 'search_application/list/SearchApplicationsListRequest.ts#L22-L44', 'search_application.list.Response': 'search_application/list/SearchApplicationsListResponse.ts#L24-L29', @@ -2359,7 +2364,7 @@ 'search_application.put.Request': 'search_application/put/SearchApplicationsPutRequest.ts#L23-L48', 'search_application.put.Response': 'search_application/put/SearchApplicationsPutResponse.ts#L22-L26', 'search_application.put_behavioral_analytics.AnalyticsAcknowledgeResponseBase': 'search_application/put_behavioral_analytics/BehavioralAnalyticsPutResponse.ts#L27-L32', -'search_application.put_behavioral_analytics.Request': 'search_application/put_behavioral_analytics/BehavioralAnalyticsPutRequest.ts#L22-L35', +'search_application.put_behavioral_analytics.Request': 'search_application/put_behavioral_analytics/BehavioralAnalyticsPutRequest.ts#L22-L36', 'search_application.put_behavioral_analytics.Response': 'search_application/put_behavioral_analytics/BehavioralAnalyticsPutResponse.ts#L23-L25', 'search_application.search.Request': 'search_application/search/SearchApplicationsSearchRequest.ts#L24-L54', 'search_application.search.Response': 'search_application/search/SearchApplicationsSearchResponse.ts#L22-L24', @@ -2634,8 +2639,8 @@ 'snapshot.repository_verify_integrity.Request': 'snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts#L24-L43', 'snapshot.repository_verify_integrity.Response': 'snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityResponse.ts#L22-L24', 'snapshot.restore.Request': 'snapshot/restore/SnapshotRestoreRequest.ts#L25-L51', -'snapshot.restore.Response': 'snapshot/restore/SnapshotRestoreResponse.ts#L23-L25', -'snapshot.restore.SnapshotRestore': 'snapshot/restore/SnapshotRestoreResponse.ts#L27-L31', +'snapshot.restore.Response': 'snapshot/restore/SnapshotRestoreResponse.ts#L23-L28', +'snapshot.restore.SnapshotRestore': 'snapshot/restore/SnapshotRestoreResponse.ts#L30-L34', 'snapshot.status.Request': 'snapshot/status/SnapshotStatusRequest.ts#L24-L38', 'snapshot.status.Response': 'snapshot/status/SnapshotStatusResponse.ts#L22-L24', 'snapshot.verify_repository.CompactNodeInfo': 'snapshot/verify_repository/SnapshotVerifyRepositoryResponse.ts#L27-L29', @@ -2930,10 +2935,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/3b1143a5a96fc7596af96485bccca492798d6f0e/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/0259789f2ae6b18140b3cdef034e9d331def278d/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpoint.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpoint.java index 89d4b95a9..4d134db1f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpoint.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpoint.java @@ -66,6 +66,7 @@ public class InferenceEndpoint implements JsonpSerializable { private final JsonData serviceSettings; + @Nullable private final JsonData taskSettings; // --------------------------------------------------------------------------------------------- @@ -74,7 +75,7 @@ protected InferenceEndpoint(AbstractBuilder builder) { this.service = ApiTypeHelper.requireNonNull(builder.service, this, "service"); this.serviceSettings = ApiTypeHelper.requireNonNull(builder.serviceSettings, this, "serviceSettings"); - this.taskSettings = ApiTypeHelper.requireNonNull(builder.taskSettings, this, "taskSettings"); + this.taskSettings = builder.taskSettings; } @@ -101,10 +102,11 @@ public final JsonData serviceSettings() { } /** - * Required - Task settings specific to the service and task type + * Task settings specific to the service and task type *

* API name: {@code task_settings} */ + @Nullable public final JsonData taskSettings() { return this.taskSettings; } @@ -126,8 +128,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("service_settings"); this.serviceSettings.serialize(generator, mapper); - generator.writeKey("task_settings"); - this.taskSettings.serialize(generator, mapper); + if (this.taskSettings != null) { + generator.writeKey("task_settings"); + this.taskSettings.serialize(generator, mapper); + + } } @@ -170,6 +175,7 @@ public abstract static class AbstractBuilder * API name: {@code task_settings} */ - public final BuilderT taskSettings(JsonData value) { + public final BuilderT taskSettings(@Nullable JsonData value) { this.taskSettings = value; return self(); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java index 2aae85a87..75ac6415e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java @@ -142,6 +142,8 @@ public enum Kind implements JsonEnum { Split("split"), + Terminate("terminate"), + Trim("trim"), Uppercase("uppercase"), @@ -782,6 +784,23 @@ public SplitProcessor split() { return TaggedUnionUtils.get(this, Kind.Split); } + /** + * Is this variant instance of kind {@code terminate}? + */ + public boolean isTerminate() { + return _kind == Kind.Terminate; + } + + /** + * Get the {@code terminate} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code terminate} kind. + */ + public TerminateProcessor terminate() { + return TaggedUnionUtils.get(this, Kind.Terminate); + } + /** * Is this variant instance of kind {@code trim}? */ @@ -1278,6 +1297,17 @@ public ObjectBuilder split(Function terminate(TerminateProcessor v) { + this._kind = Kind.Terminate; + this._value = v; + return this; + } + + public ObjectBuilder terminate( + Function> fn) { + return this.terminate(fn.apply(new TerminateProcessor.Builder()).build()); + } + public ObjectBuilder trim(TrimProcessor v) { this._kind = Kind.Trim; this._value = v; @@ -1391,6 +1421,7 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::setSecurityUser, SetSecurityUserProcessor._DESERIALIZER, "set_security_user"); op.add(Builder::sort, SortProcessor._DESERIALIZER, "sort"); op.add(Builder::split, SplitProcessor._DESERIALIZER, "split"); + op.add(Builder::terminate, TerminateProcessor._DESERIALIZER, "terminate"); op.add(Builder::trim, TrimProcessor._DESERIALIZER, "trim"); op.add(Builder::uppercase, UppercaseProcessor._DESERIALIZER, "uppercase"); op.add(Builder::urldecode, UrlDecodeProcessor._DESERIALIZER, "urldecode"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java index efcb19263..52356f7b5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java @@ -657,6 +657,24 @@ public static Processor split(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.terminate(fn.apply(new TerminateProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link TrimProcessor trim} {@code Processor} * variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/TerminateProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/TerminateProcessor.java new file mode 100644 index 000000000..d516beea9 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/TerminateProcessor.java @@ -0,0 +1,115 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.TerminateProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class TerminateProcessor extends ProcessorBase implements ProcessorVariant { + // --------------------------------------------------------------------------------------------- + + private TerminateProcessor(Builder builder) { + super(builder); + + } + + public static TerminateProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.Terminate; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TerminateProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TerminateProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TerminateProcessor build() { + _checkSingleUse(); + + return new TerminateProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TerminateProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, TerminateProcessor::setupTerminateProcessorDeserializer); + + protected static void setupTerminateProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpack.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpack.java index 0f1b6a7a2..1c25d2a2a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpack.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpack.java @@ -68,6 +68,9 @@ public class NodeInfoXpack implements JsonpSerializable { private final Map notification; + @Nullable + private final NodeInfoXpackMl ml; + // --------------------------------------------------------------------------------------------- private NodeInfoXpack(Builder builder) { @@ -75,6 +78,7 @@ private NodeInfoXpack(Builder builder) { this.license = builder.license; this.security = ApiTypeHelper.requireNonNull(builder.security, this, "security"); this.notification = ApiTypeHelper.unmodifiable(builder.notification); + this.ml = builder.ml; } @@ -104,6 +108,14 @@ public final Map notification() { return this.notification; } + /** + * API name: {@code ml} + */ + @Nullable + public final NodeInfoXpackMl ml() { + return this.ml; + } + /** * Serialize this object to JSON. */ @@ -134,6 +146,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (this.ml != null) { + generator.writeKey("ml"); + this.ml.serialize(generator, mapper); + + } } @@ -157,6 +174,9 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private Map notification; + @Nullable + private NodeInfoXpackMl ml; + /** * API name: {@code license} */ @@ -208,6 +228,21 @@ public final Builder notification(String key, JsonData value) { return this; } + /** + * API name: {@code ml} + */ + public final Builder ml(@Nullable NodeInfoXpackMl value) { + this.ml = value; + return this; + } + + /** + * API name: {@code ml} + */ + public final Builder ml(Function> fn) { + return this.ml(fn.apply(new NodeInfoXpackMl.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -239,6 +274,7 @@ protected static void setupNodeInfoXpackDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class NodeInfoXpackMl implements JsonpSerializable { + @Nullable + private final Boolean useAutoMachineMemoryPercent; + + // --------------------------------------------------------------------------------------------- + + private NodeInfoXpackMl(Builder builder) { + + this.useAutoMachineMemoryPercent = builder.useAutoMachineMemoryPercent; + + } + + public static NodeInfoXpackMl of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code use_auto_machine_memory_percent} + */ + @Nullable + public final Boolean useAutoMachineMemoryPercent() { + return this.useAutoMachineMemoryPercent; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.useAutoMachineMemoryPercent != null) { + generator.writeKey("use_auto_machine_memory_percent"); + generator.write(this.useAutoMachineMemoryPercent); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link NodeInfoXpackMl}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private Boolean useAutoMachineMemoryPercent; + + /** + * API name: {@code use_auto_machine_memory_percent} + */ + public final Builder useAutoMachineMemoryPercent(@Nullable Boolean value) { + this.useAutoMachineMemoryPercent = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link NodeInfoXpackMl}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public NodeInfoXpackMl build() { + _checkSingleUse(); + + return new NodeInfoXpackMl(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link NodeInfoXpackMl} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + NodeInfoXpackMl::setupNodeInfoXpackMlDeserializer); + + protected static void setupNodeInfoXpackMlDeserializer(ObjectDeserializer op) { + + op.add(Builder::useAutoMachineMemoryPercent, JsonpDeserializer.booleanDeserializer(), + "use_auto_machine_memory_percent"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurity.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurity.java index d8fc7be1b..f02026874 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurity.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurity.java @@ -60,6 +60,7 @@ */ @JsonpDeserializable public class NodeInfoXpackSecurity implements JsonpSerializable { + @Nullable private final NodeInfoXpackSecuritySsl http; private final String enabled; @@ -74,7 +75,7 @@ public class NodeInfoXpackSecurity implements JsonpSerializable { private NodeInfoXpackSecurity(Builder builder) { - this.http = ApiTypeHelper.requireNonNull(builder.http, this, "http"); + this.http = builder.http; this.enabled = ApiTypeHelper.requireNonNull(builder.enabled, this, "enabled"); this.transport = builder.transport; this.authc = builder.authc; @@ -86,8 +87,9 @@ public static NodeInfoXpackSecurity of(Function implements ObjectBuilder { + @Nullable private NodeInfoXpackSecuritySsl http; private String enabled; @@ -170,15 +175,15 @@ public static class Builder extends WithJsonObjectBuilderBase private NodeInfoXpackSecurityAuthc authc; /** - * Required - API name: {@code http} + * API name: {@code http} */ - public final Builder http(NodeInfoXpackSecuritySsl value) { + public final Builder http(@Nullable NodeInfoXpackSecuritySsl value) { this.http = value; return this; } /** - * Required - API name: {@code http} + * API name: {@code http} */ public final Builder http( Function> fn) { diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurityAuthc.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurityAuthc.java index cc6c76557..7a1e0fb73 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurityAuthc.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoXpackSecurityAuthc.java @@ -26,7 +26,6 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; @@ -59,16 +58,18 @@ */ @JsonpDeserializable public class NodeInfoXpackSecurityAuthc implements JsonpSerializable { + @Nullable private final NodeInfoXpackSecurityAuthcRealms realms; + @Nullable private final NodeInfoXpackSecurityAuthcToken token; // --------------------------------------------------------------------------------------------- private NodeInfoXpackSecurityAuthc(Builder builder) { - this.realms = ApiTypeHelper.requireNonNull(builder.realms, this, "realms"); - this.token = ApiTypeHelper.requireNonNull(builder.token, this, "token"); + this.realms = builder.realms; + this.token = builder.token; } @@ -77,15 +78,17 @@ public static NodeInfoXpackSecurityAuthc of(Function implements ObjectBuilder { + @Nullable private NodeInfoXpackSecurityAuthcRealms realms; + @Nullable private NodeInfoXpackSecurityAuthcToken token; /** - * Required - API name: {@code realms} + * API name: {@code realms} */ - public final Builder realms(NodeInfoXpackSecurityAuthcRealms value) { + public final Builder realms(@Nullable NodeInfoXpackSecurityAuthcRealms value) { this.realms = value; return this; } /** - * Required - API name: {@code realms} + * API name: {@code realms} */ public final Builder realms( Function> fn) { @@ -144,15 +154,15 @@ public final Builder realms( } /** - * Required - API name: {@code token} + * API name: {@code token} */ - public final Builder token(NodeInfoXpackSecurityAuthcToken value) { + public final Builder token(@Nullable NodeInfoXpackSecurityAuthcToken value) { this.token = value; return this; } /** - * Required - API name: {@code token} + * API name: {@code token} */ public final Builder token( Function> fn) { diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java index 30d6fa7b9..dd56ea6f4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java @@ -175,7 +175,11 @@ public final Map metadata() { } /** - * Required - The name of the role. + * Required - The name of the role that is being created or updated. On + * Elasticsearch Serverless, the role name must begin with a letter or digit and + * can only contain letters, digits and the characters '_', '-', and '.'. Each + * role must have a unique name, as this will serve as the identifier for that + * role. *

* API name: {@code name} */ @@ -534,7 +538,11 @@ public final Builder metadata(String key, JsonData value) { } /** - * Required - The name of the role. + * Required - The name of the role that is being created or updated. On + * Elasticsearch Serverless, the role name must begin with a letter or digit and + * can only contain letters, digits and the characters '_', '-', and '.'. Each + * role must have a unique name, as this will serve as the identifier for that + * role. *

* API name: {@code name} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreResponse.java index 7c0388ec7..55962db88 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreResponse.java @@ -27,10 +27,10 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -59,13 +59,18 @@ */ @JsonpDeserializable public class RestoreResponse implements JsonpSerializable { + @Nullable + private final Boolean accepted; + + @Nullable private final SnapshotRestore snapshot; // --------------------------------------------------------------------------------------------- private RestoreResponse(Builder builder) { - this.snapshot = ApiTypeHelper.requireNonNull(builder.snapshot, this, "snapshot"); + this.accepted = builder.accepted; + this.snapshot = builder.snapshot; } @@ -74,8 +79,17 @@ public static RestoreResponse of(Function implements ObjectBuilder { + @Nullable + private Boolean accepted; + + @Nullable private SnapshotRestore snapshot; /** - * Required - API name: {@code snapshot} + * API name: {@code accepted} + */ + public final Builder accepted(@Nullable Boolean value) { + this.accepted = value; + return this; + } + + /** + * API name: {@code snapshot} */ - public final Builder snapshot(SnapshotRestore value) { + public final Builder snapshot(@Nullable SnapshotRestore value) { this.snapshot = value; return this; } /** - * Required - API name: {@code snapshot} + * API name: {@code snapshot} */ public final Builder snapshot(Function> fn) { return this.snapshot(fn.apply(new SnapshotRestore.Builder()).build()); @@ -153,6 +187,7 @@ public RestoreResponse build() { protected static void setupRestoreResponseDeserializer(ObjectDeserializer op) { + op.add(Builder::accepted, JsonpDeserializer.booleanDeserializer(), "accepted"); op.add(Builder::snapshot, SnapshotRestore._DESERIALIZER, "snapshot"); } From c757d18784c01eefb0811a864f6f399a1e18f73a Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Thu, 17 Oct 2024 15:21:13 +0200 Subject: [PATCH 011/106] revert changes to build --- build.gradle.kts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 70a44a710..0e6b4091d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,8 +19,9 @@ allprojects { group = "co.elastic.clients" - version = (File(project.rootDir, "config/version.txt").readText().trim() + "-SNAPSHOT") - + // Release manager provides a $VERSION. If not present, it's a local or CI snapshot build. + version = System.getenv("VERSION") ?: + (File(project.rootDir, "config/version.txt").readText().trim() + "-SNAPSHOT") repositories { maven { name = "Elastic-Snapshots" From d9cb8c51f1f4fb58806197b806078a1cd68f6774 Mon Sep 17 00:00:00 2001 From: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:46:49 +0200 Subject: [PATCH 012/106] Feature: option to retrieve original json body if parse exception occurred (#886) * base working impl * twr, remove unused constructor * unit test * license * complete refactor * reverting old changes * codestyle * leave ElasticsearchTransportBase untouched * Update java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java Co-authored-by: Sylvain Wallez * Update java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java Co-authored-by: Sylvain Wallez * custom generic response, checking in transport base * license header * asciidocs --------- Co-authored-by: Sylvain Wallez --- .../release-notes/release-highlights.asciidoc | 20 +++++ .../transport/DefaultTransportOptions.java | 27 +++++- .../transport/ElasticsearchTransportBase.java | 7 +- .../clients/transport/TransportOptions.java | 14 +++ .../http/RepeatableBodyResponse.java | 84 ++++++++++++++++++ .../rest_client/RestClientHttpClient.java | 7 +- .../rest_client/RestClientOptions.java | 22 ++++- .../documentation/DocTestsTransport.java | 5 ++ .../clients/transport/TransportTest.java | 86 ++++++++++++++++++- .../rest_client/RestClientOptionsTest.java | 2 +- 10 files changed, 262 insertions(+), 12 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/transport/http/RepeatableBodyResponse.java diff --git a/docs/release-notes/release-highlights.asciidoc b/docs/release-notes/release-highlights.asciidoc index f76a6c1c8..49ee99ed8 100644 --- a/docs/release-notes/release-highlights.asciidoc +++ b/docs/release-notes/release-highlights.asciidoc @@ -8,6 +8,26 @@ For a list of detailed changes, including bug fixes, please see the https://gith [discrete] ==== Version 8.16 * `ElasticsearchClient` is now `Closeable`. Closing a client object also closes the underlying transport - https://github.com/elastic/elasticsearch-java/pull/851[#851] +* Added option to make the response body available in case of deserialization error- https://github.com/elastic/elasticsearch-java/pull/886[#886]. + +** While it has always been possible to set the log level to `trace` and have the client print both the json bodies of the requests and responses, it's often not the best solution because of the large amount of information printed. +** To enable the feature: + + RestClientOptions options = new RestClientOptions(RequestOptions.DEFAULT, true); + ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper(), options); + ElasticsearchClient esClientWithOptions = new ElasticsearchClient(transport); + +** To retrieve the original body from the TransportException that gets thrown in case of deserialization errors: + + try{ + // some code that returns faulty json + } + catch (TransportException ex){ + try (RepeatableBodyResponse repeatableResponse = (RepeatableBodyResponse) ex.response()) { + BinaryData body = repeatableResponse.body(); + } + } + [discrete] ==== Version 8.15 diff --git a/java-client/src/main/java/co/elastic/clients/transport/DefaultTransportOptions.java b/java-client/src/main/java/co/elastic/clients/transport/DefaultTransportOptions.java index f199705c1..cdc35639e 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/DefaultTransportOptions.java +++ b/java-client/src/main/java/co/elastic/clients/transport/DefaultTransportOptions.java @@ -37,6 +37,7 @@ public class DefaultTransportOptions implements TransportOptions { private final HeaderMap headers; private final Map parameters; private final Function, Boolean> onWarnings; + private boolean keepResponseBodyOnException; public static final DefaultTransportOptions EMPTY = new DefaultTransportOptions(); @@ -44,6 +45,16 @@ public DefaultTransportOptions() { this(new HeaderMap(), Collections.emptyMap(), null); } + public DefaultTransportOptions( + @Nullable HeaderMap headers, + @Nullable Map parameters, + @Nullable Function, Boolean> onWarnings, + boolean keepResponseBodyOnException + ) { + this(headers,parameters,onWarnings); + this.keepResponseBodyOnException = keepResponseBodyOnException; + } + public DefaultTransportOptions( @Nullable HeaderMap headers, @Nullable Map parameters, @@ -53,10 +64,11 @@ public DefaultTransportOptions( this.parameters = (parameters == null || parameters.isEmpty()) ? Collections.emptyMap() : Collections.unmodifiableMap(parameters); this.onWarnings = onWarnings; + this.keepResponseBodyOnException = false; } protected DefaultTransportOptions(AbstractBuilder builder) { - this(builder.headers, builder.parameters, builder.onWarnings); + this(builder.headers, builder.parameters, builder.onWarnings, builder.keepResponseBodyOnException); } public static DefaultTransportOptions of(@Nullable TransportOptions options) { @@ -88,6 +100,11 @@ public Function, Boolean> onWarnings() { return onWarnings; } + @Override + public boolean keepResponseBodyOnException() { + return keepResponseBodyOnException; + } + @Override public Builder toBuilder() { return new Builder(this); @@ -111,6 +128,7 @@ public abstract static class AbstractBuilder parameters; private Function, Boolean> onWarnings; + private boolean keepResponseBodyOnException; public AbstractBuilder() { } @@ -119,10 +137,17 @@ public AbstractBuilder(DefaultTransportOptions options) { this.headers = new HeaderMap(options.headers); this.parameters = copyOrNull(options.parameters); this.onWarnings = options.onWarnings; + this.keepResponseBodyOnException = options.keepResponseBodyOnException; } protected abstract BuilderT self(); + @Override + public BuilderT keepResponseBodyOnException(boolean value) { + this.keepResponseBodyOnException = value; + return self(); + } + @Override public BuilderT addHeader(String name, String value) { if (name.equalsIgnoreCase(HeaderMap.CLIENT_META)) { diff --git a/java-client/src/main/java/co/elastic/clients/transport/ElasticsearchTransportBase.java b/java-client/src/main/java/co/elastic/clients/transport/ElasticsearchTransportBase.java index 7d1e98608..1d422eb66 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/ElasticsearchTransportBase.java +++ b/java-client/src/main/java/co/elastic/clients/transport/ElasticsearchTransportBase.java @@ -29,14 +29,15 @@ import co.elastic.clients.transport.endpoints.BooleanEndpoint; import co.elastic.clients.transport.endpoints.BooleanResponse; import co.elastic.clients.transport.http.HeaderMap; +import co.elastic.clients.transport.http.RepeatableBodyResponse; import co.elastic.clients.transport.http.TransportHttpClient; import co.elastic.clients.transport.instrumentation.Instrumentation; import co.elastic.clients.transport.instrumentation.NoopInstrumentation; import co.elastic.clients.transport.instrumentation.OpenTelemetryForElasticsearch; +import co.elastic.clients.util.ByteArrayBinaryData; import co.elastic.clients.util.LanguageRuntimeVersions; import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.BinaryData; -import co.elastic.clients.util.ByteArrayBinaryData; import co.elastic.clients.util.ContentType; import co.elastic.clients.util.MissingRequiredPropertyException; import co.elastic.clients.util.NoCopyByteArrayOutputStream; @@ -306,6 +307,9 @@ private ResponseT getApiResponse( int statusCode = clientResp.statusCode(); + if(options().keepResponseBodyOnException()){ + clientResp = RepeatableBodyResponse.of(clientResp); + } try { if (statusCode == 200) { checkProductHeader(clientResp, endpoint); @@ -377,6 +381,7 @@ private ResponseT decodeTransportResponse( ) throws IOException { if (endpoint instanceof JsonEndpoint) { + @SuppressWarnings("unchecked") JsonEndpoint jsonEndpoint = (JsonEndpoint) endpoint; // Successful response diff --git a/java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java b/java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java index d6c41f490..9cbbdd40d 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java +++ b/java-client/src/main/java/co/elastic/clients/transport/TransportOptions.java @@ -38,6 +38,13 @@ public interface TransportOptions { Function, Boolean> onWarnings(); + /** + * If {@code true}, the response body in {@code TransportException.response().body()} is guaranteed to be + * replayable (i.e. buffered), even if the original response was streamed. This allows inspecting the + * response body in case of error. + */ + boolean keepResponseBodyOnException(); + Builder toBuilder(); default TransportOptions with(Consumer fn) { @@ -59,5 +66,12 @@ interface Builder extends ObjectBuilder { Builder removeParameter(String name); Builder onWarnings(Function, Boolean> listener); + + /** + * Should the response body be buffered and made available in {@code TransportException.response().body()}? + * This setting guarantees that the response body is buffered for inspection if parsing fails, even if originally + * streamed by the http library. + */ + Builder keepResponseBodyOnException(boolean value); } } diff --git a/java-client/src/main/java/co/elastic/clients/transport/http/RepeatableBodyResponse.java b/java-client/src/main/java/co/elastic/clients/transport/http/RepeatableBodyResponse.java new file mode 100644 index 000000000..d578cdcec --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/transport/http/RepeatableBodyResponse.java @@ -0,0 +1,84 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.transport.http; + +import co.elastic.clients.util.BinaryData; +import co.elastic.clients.util.ByteArrayBinaryData; + +import javax.annotation.Nullable; +import java.io.IOException; +import java.util.List; + +public class RepeatableBodyResponse implements TransportHttpClient.Response { + + private final TransportHttpClient.Response response; + private final BinaryData body; + + public static TransportHttpClient.Response of(TransportHttpClient.Response response) throws IOException { + BinaryData body = response.body(); + if (body == null || body.isRepeatable()) { + return response; + } + return new RepeatableBodyResponse(response); + } + + public RepeatableBodyResponse(TransportHttpClient.Response response) throws IOException { + this.response = response; + this.body = new ByteArrayBinaryData(response.body()); + } + + @Override + public TransportHttpClient.Node node() { + return response.node(); + } + + @Override + public int statusCode() { + return response.statusCode(); + } + + @Nullable + @Override + public String header(String name) { + return response.header(name); + } + + @Override + public List headers(String name) { + return response.headers(name); + } + + @Nullable + @Override + public BinaryData body() throws IOException { + return this.body; + } + + @Nullable + @Override + public Object originalResponse() { + return response.originalResponse(); + } + + @Override + public void close() throws IOException { + response.close(); + } +} diff --git a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientHttpClient.java b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientHttpClient.java index 64b5aa08a..1bcc06b05 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientHttpClient.java +++ b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientHttpClient.java @@ -85,7 +85,8 @@ public RestClientOptions createOptions(@Nullable TransportOptions options) { } @Override - public Response performRequest(String endpointId, @Nullable Node node, Request request, TransportOptions options) throws IOException { + public Response performRequest(String endpointId, @Nullable Node node, Request request, + TransportOptions options) throws IOException { RestClientOptions rcOptions = RestClientOptions.of(options); org.elasticsearch.client.Request restRequest = createRestRequest(request, rcOptions); org.elasticsearch.client.Response restResponse = restClient.performRequest(restRequest); @@ -103,7 +104,7 @@ public CompletableFuture performRequestAsync( try { RestClientOptions rcOptions = RestClientOptions.of(options); restRequest = createRestRequest(request, rcOptions); - } catch(Throwable thr) { + } catch (Throwable thr) { // Terminate early future.completeExceptionally(thr); return future; @@ -166,7 +167,7 @@ private org.elasticsearch.client.Request createRestRequest(Request request, Rest if (body != null) { ContentType ct = null; String ctStr; - if (( ctStr = requestHeaders.get(HeaderMap.CONTENT_TYPE)) != null) { + if ((ctStr = requestHeaders.get(HeaderMap.CONTENT_TYPE)) != null) { ct = ContentTypeCache.computeIfAbsent(ctStr, ContentType::parse); } clientReq.setEntity(new MultiBufferEntity(body, ct)); diff --git a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java index 9de6da07e..842a45c62 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java +++ b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java @@ -42,6 +42,8 @@ public class RestClientOptions implements TransportOptions { private final RequestOptions options; + boolean keepResponseBodyOnException; + @VisibleForTesting static final String CLIENT_META_VALUE = getClientMeta(); @VisibleForTesting @@ -63,7 +65,8 @@ static RestClientOptions of(@Nullable TransportOptions options) { return builder.build(); } - public RestClientOptions(RequestOptions options) { + public RestClientOptions(RequestOptions options, boolean keepResponseBodyOnException) { + this.keepResponseBodyOnException = keepResponseBodyOnException; this.options = addBuiltinHeaders(options.toBuilder()).build(); } @@ -99,6 +102,11 @@ public Function, Boolean> onWarnings() { return warnings -> options.getWarningsHandler().warningsShouldFailRequest(warnings); } + @Override + public boolean keepResponseBodyOnException() { + return this.keepResponseBodyOnException; + } + @Override public Builder toBuilder() { return new Builder(options.toBuilder()); @@ -108,6 +116,8 @@ public static class Builder implements TransportOptions.Builder { private RequestOptions.Builder builder; + private boolean keepResponseBodyOnException; + public Builder(RequestOptions.Builder builder) { this.builder = builder; } @@ -181,14 +191,20 @@ public TransportOptions.Builder onWarnings(Function, Boolean> liste return this; } + @Override + public TransportOptions.Builder keepResponseBodyOnException(boolean value) { + this.keepResponseBodyOnException = value; + return this; + } + @Override public RestClientOptions build() { - return new RestClientOptions(addBuiltinHeaders(builder).build()); + return new RestClientOptions(addBuiltinHeaders(builder).build(), keepResponseBodyOnException); } } static RestClientOptions initialOptions() { - return new RestClientOptions(SafeResponseConsumer.DEFAULT_REQUEST_OPTIONS); + return new RestClientOptions(SafeResponseConsumer.DEFAULT_REQUEST_OPTIONS, false); } private static RequestOptions.Builder addBuiltinHeaders(RequestOptions.Builder builder) { diff --git a/java-client/src/test/java/co/elastic/clients/documentation/DocTestsTransport.java b/java-client/src/test/java/co/elastic/clients/documentation/DocTestsTransport.java index 29ea6a629..6d1c41eb5 100644 --- a/java-client/src/test/java/co/elastic/clients/documentation/DocTestsTransport.java +++ b/java-client/src/test/java/co/elastic/clients/documentation/DocTestsTransport.java @@ -64,6 +64,11 @@ public Function, Boolean> onWarnings() { return null; } + @Override + public boolean keepResponseBodyOnException() { + return false; + } + @Override public Builder toBuilder() { return null; diff --git a/java-client/src/test/java/co/elastic/clients/transport/TransportTest.java b/java-client/src/test/java/co/elastic/clients/transport/TransportTest.java index b79b03893..d25466bbd 100644 --- a/java-client/src/test/java/co/elastic/clients/transport/TransportTest.java +++ b/java-client/src/test/java/co/elastic/clients/transport/TransportTest.java @@ -21,24 +21,34 @@ import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.json.jackson.JacksonJsonpMapper; +import co.elastic.clients.transport.http.RepeatableBodyResponse; +import co.elastic.clients.transport.rest_client.RestClientOptions; import co.elastic.clients.transport.rest_client.RestClientTransport; +import co.elastic.clients.util.BinaryData; import com.sun.net.httpserver.HttpServer; import org.apache.http.HttpHost; +import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.io.BufferedReader; +import java.io.InputStreamReader; import java.io.OutputStream; import java.net.InetAddress; import java.net.InetSocketAddress; import java.nio.charset.StandardCharsets; +import java.util.Collections; + +import static co.elastic.clients.util.ContentType.APPLICATION_JSON; public class TransportTest extends Assertions { @Test public void testXMLResponse() throws Exception { - HttpServer httpServer = HttpServer.create(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), 0); + HttpServer httpServer = HttpServer.create(new InetSocketAddress(InetAddress.getLoopbackAddress(), + 0), 0); httpServer.createContext("/_cat/indices", exchange -> { exchange.sendResponseHeaders(401, 0); @@ -56,7 +66,8 @@ public void testXMLResponse() throws Exception { .builder(new HttpHost(address.getHostString(), address.getPort(), "http")) .build(); - ElasticsearchClient esClient = new ElasticsearchClient(new RestClientTransport(restClient, new JacksonJsonpMapper())); + ElasticsearchClient esClient = new ElasticsearchClient(new RestClientTransport(restClient, + new JacksonJsonpMapper())); TransportException ex = Assertions.assertThrows( TransportException.class, @@ -69,7 +80,76 @@ public void testXMLResponse() throws Exception { assertEquals("es/cat.indices", ex.endpointId()); // Original response is transport-dependent - Response restClientResponse = (Response)ex.response().originalResponse(); + Response restClientResponse = (Response) ex.response().originalResponse(); assertEquals(401, restClientResponse.getStatusLine().getStatusCode()); } + + + @Test + public void testOriginalJsonBodyRetrievalException() throws Exception { + HttpServer httpServer = HttpServer.create(new InetSocketAddress(InetAddress.getLoopbackAddress(), + 0), 0); + + httpServer.createContext("/_cat/indices", exchange -> { + exchange.getResponseHeaders().put("Content-Type", Collections.singletonList(APPLICATION_JSON)); + exchange.getResponseHeaders().put("X-Elastic-Product", Collections.singletonList("Elasticsearch" + )); + exchange.sendResponseHeaders(200, 0); + OutputStream out = exchange.getResponseBody(); + out.write( + "definitely not json".getBytes(StandardCharsets.UTF_8) + ); + out.close(); + }); + + httpServer.start(); + InetSocketAddress address = httpServer.getAddress(); + + RestClient restClient = RestClient + .builder(new HttpHost(address.getHostString(), address.getPort(), "http")) + .build(); + + // no transport options, response is not RepeatableBodyResponse, original body cannot be retrieved + ElasticsearchClient esClient = new ElasticsearchClient(new RestClientTransport(restClient, + new JacksonJsonpMapper())); + + TransportException ex = Assertions.assertThrows( + TransportException.class, + () -> esClient.cat().indices() + ); + + assertEquals(200, ex.statusCode()); + assertNotEquals(RepeatableBodyResponse.class, ex.response().getClass()); + + // setting transport option + RestClientOptions options = new RestClientOptions(RequestOptions.DEFAULT, true); + + ElasticsearchTransport transport = new RestClientTransport( + restClient, new JacksonJsonpMapper(), options); + + ElasticsearchClient esClientOptions = new ElasticsearchClient(transport); + + ex = Assertions.assertThrows( + TransportException.class, + () -> esClientOptions.cat().indices() + ); + + httpServer.stop(0); + + assertEquals(200, ex.statusCode()); + assertEquals(RepeatableBodyResponse.class, ex.response().getClass()); + + try (RepeatableBodyResponse repeatableResponse = (RepeatableBodyResponse) ex.response()){ + BinaryData body = repeatableResponse.body(); + StringBuilder sb = new StringBuilder(); + BufferedReader br = new BufferedReader(new InputStreamReader(body.asInputStream())); + String read; + + while ((read = br.readLine()) != null) { + sb.append(read); + } + br.close(); + assertEquals("definitely not json",sb.toString()); + } + } } diff --git a/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java b/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java index cd6558a4f..cf8995944 100644 --- a/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java +++ b/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java @@ -192,7 +192,7 @@ void testRequestOptionsOverridingBuiltin() throws Exception { new HttpHost(httpServer.getAddress().getHostString(), httpServer.getAddress().getPort(), "http") ).build(); - ElasticsearchTransport transport = newRestClientTransport(llrc, new SimpleJsonpMapper(), new RestClientOptions(options)); + ElasticsearchTransport transport = newRestClientTransport(llrc, new SimpleJsonpMapper(), new RestClientOptions(options,false)); ElasticsearchClient esClient = new ElasticsearchClient(transport); // Should not override client meta String id = checkHeaders(esClient); From d451d9e502bc33de9927bd8d8d0635a0fcb1616f Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Thu, 24 Oct 2024 16:21:15 +0200 Subject: [PATCH 013/106] [codegen] update to latest spec --- .../ElasticsearchAsyncClient.java | 318 ++++- .../elasticsearch/ElasticsearchClient.java | 318 ++++- .../elasticsearch/_types/query_dsl/Query.java | 3 - .../AsyncSearchStatusRequest.java | 2 +- .../DeleteAsyncSearchRequest.java | 12 +- .../ElasticsearchAsyncSearchAsyncClient.java | 148 +-- .../ElasticsearchAsyncSearchClient.java | 148 +-- .../async_search/GetAsyncSearchRequest.java | 8 +- .../async_search/SubmitRequest.java | 22 +- .../elasticsearch/ccr/FollowRequest.java | 253 +++- .../follow_info/FollowerIndexParameters.java | 280 +++-- .../connector/CheckInRequest.java | 6 +- .../connector/DeleteConnectorRequest.java | 7 +- .../ElasticsearchConnectorAsyncClient.java | 231 +++- .../ElasticsearchConnectorClient.java | 231 +++- .../connector/FilteringAdvancedSnippet.java | 41 +- .../connector/GetConnectorRequest.java | 4 +- .../elasticsearch/connector/ListRequest.java | 4 +- .../elasticsearch/connector/PostRequest.java | 8 +- .../elasticsearch/connector/PutRequest.java | 2 +- .../connector/SyncJobCancelRequest.java | 7 +- .../connector/SyncJobDeleteRequest.java | 5 +- .../connector/SyncJobGetRequest.java | 2 +- .../connector/SyncJobListRequest.java | 5 +- .../connector/SyncJobPostRequest.java | 5 +- .../UpdateActiveFilteringRequest.java | 2 + .../connector/UpdateApiKeyIdRequest.java | 8 +- .../connector/UpdateConfigurationRequest.java | 4 +- .../connector/UpdateErrorRequest.java | 6 +- .../connector/UpdateFilteringRequest.java | 7 +- .../UpdateFilteringValidationRequest.java | 4 +- .../connector/UpdateIndexNameRequest.java | 5 +- .../connector/UpdateNameRequest.java | 2 +- .../connector/UpdateNativeRequest.java | 2 +- .../connector/UpdatePipelineRequest.java | 5 +- .../connector/UpdateSchedulingRequest.java | 2 +- .../connector/UpdateServiceTypeRequest.java | 2 +- .../connector/UpdateStatusRequest.java | 2 +- .../core/DeleteByQueryRethrottleRequest.java | 8 +- .../core/GetScriptContextRequest.java | 4 +- .../core/GetScriptLanguagesRequest.java | 4 +- .../elasticsearch/core/MgetRequest.java | 7 +- .../elasticsearch/core/MsearchRequest.java | 22 +- .../core/MtermvectorsRequest.java | 8 +- .../core/ReindexRethrottleRequest.java | 4 +- .../elasticsearch/core/ScrollRequest.java | 24 +- .../elasticsearch/core/TermsEnumRequest.java | 17 +- .../core/UpdateByQueryRethrottleRequest.java | 8 +- .../DeleteDanglingIndexRequest.java | 20 +- ...asticsearchDanglingIndicesAsyncClient.java | 42 +- .../ElasticsearchDanglingIndicesClient.java | 42 +- .../ImportDanglingIndexRequest.java | 26 +- .../ListDanglingIndicesRequest.java | 10 +- .../elasticsearch/doc-files/api-spec.html | 1046 +++++++++-------- .../elasticsearch/eql/EqlSearchRequest.java | 44 + .../elasticsearch/indices/AnalyzeRequest.java | 4 +- .../indices/DataStreamLifecycle.java | 122 +- .../DataStreamLifecycleWithRollover.java | 123 +- .../ElasticsearchIndicesAsyncClient.java | 12 +- .../indices/ElasticsearchIndicesClient.java | 12 +- .../indices/PutDataLifecycleRequest.java | 158 +-- .../DataStreamWithLifecycle.java | 17 +- .../ingest/CommunityIDProcessor.java | 502 ++++++++ .../elasticsearch/ingest/ConvertType.java | 8 +- .../elasticsearch/ingest/DateProcessor.java | 35 + .../ingest/FingerprintDigest.java | 72 ++ .../ingest/FingerprintProcessor.java | 318 +++++ .../elasticsearch/ingest/GrokProcessor.java | 35 + .../ingest/NetworkDirectionProcessor.java | 358 ++++++ .../elasticsearch/ingest/Processor.java | 126 ++ .../ingest/ProcessorBuilders.java | 76 ++ .../ingest/RegisteredDomainProcessor.java | 226 ++++ .../nodes/info/NodeInfoSettingsNetwork.java | 39 +- .../ElasticsearchQueryRulesAsyncClient.java | 32 + .../ElasticsearchQueryRulesClient.java | 33 + .../query_rules/TestRequest.java | 257 ++++ .../query_rules/TestResponse.java | 210 ++++ .../test/QueryRulesetMatchedRule.java | 189 +++ .../search_application/ListResponse.java | 21 +- .../search_application/PutRequest.java | 17 +- .../search_application/SearchApplication.java | 159 +-- ....java => SearchApplicationParameters.java} | 175 ++- .../security/ActivateUserProfileRequest.java | 4 +- .../security/AuthenticateRequest.java | 6 +- .../security/BulkDeleteRoleRequest.java | 2 + .../security/BulkPutRoleRequest.java | 2 + .../security/ChangePasswordRequest.java | 4 +- .../security/ClearApiKeyCacheRequest.java | 4 +- .../ClearCachedPrivilegesRequest.java | 6 +- .../security/ClearCachedRealmsRequest.java | 4 +- .../security/ClearCachedRolesRequest.java | 4 +- .../ClearCachedServiceTokensRequest.java | 4 +- .../security/CreateApiKeyRequest.java | 13 +- .../security/CreateServiceTokenRequest.java | 4 +- .../security/DeletePrivilegesRequest.java | 2 +- .../security/DeleteRoleMappingRequest.java | 2 +- .../security/DeleteRoleRequest.java | 4 +- .../security/DeleteServiceTokenRequest.java | 4 +- .../security/DeleteUserRequest.java | 4 +- .../security/DisableUserProfileRequest.java | 4 +- .../security/DisableUserRequest.java | 4 +- .../ElasticsearchSecurityAsyncClient.java | 736 ++++++++---- .../security/ElasticsearchSecurityClient.java | 736 ++++++++---- .../security/EnableUserProfileRequest.java | 4 +- .../security/EnableUserRequest.java | 4 +- .../security/EnrollKibanaRequest.java | 6 +- .../security/EnrollNodeRequest.java | 5 +- .../security/GetApiKeyRequest.java | 14 +- .../security/GetBuiltinPrivilegesRequest.java | 6 +- .../security/GetPrivilegesRequest.java | 2 +- .../security/GetRoleMappingRequest.java | 7 +- .../security/GetRoleRequest.java | 6 +- .../security/GetServiceAccountsRequest.java | 5 +- .../GetServiceCredentialsRequest.java | 2 +- .../security/GetTokenRequest.java | 4 +- .../security/GetUserPrivilegesRequest.java | 2 +- .../security/GetUserProfileRequest.java | 4 +- .../security/GetUserRequest.java | 4 +- .../security/GrantApiKeyRequest.java | 20 +- .../security/HasPrivilegesRequest.java | 5 +- .../HasPrivilegesUserProfileRequest.java | 6 +- .../security/InvalidateApiKeyRequest.java | 13 +- .../security/InvalidateTokenRequest.java | 11 +- .../security/PutPrivilegesRequest.java | 2 +- .../security/PutRoleMappingRequest.java | 12 +- .../security/PutRoleRequest.java | 9 +- .../security/PutUserRequest.java | 7 +- .../security/QueryApiKeysRequest.java | 6 +- .../security/QueryRoleRequest.java | 6 +- .../security/QueryUserRequest.java | 6 +- .../security/SamlAuthenticateRequest.java | 4 +- .../security/SamlCompleteLogoutRequest.java | 2 + .../security/SamlInvalidateRequest.java | 2 + .../security/SamlLogoutRequest.java | 2 + .../SamlPrepareAuthenticationRequest.java | 7 +- .../SamlServiceProviderMetadataRequest.java | 2 + .../security/SuggestUserProfilesRequest.java | 2 + .../security/UpdateApiKeyRequest.java | 34 +- .../UpdateUserProfileDataRequest.java | 6 +- .../ssl/CertificatesRequest.java | 32 +- .../ssl/ElasticsearchSslAsyncClient.java | 32 +- .../ssl/ElasticsearchSslClient.java | 32 +- 142 files changed, 6495 insertions(+), 2186 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/CommunityIDProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/FingerprintDigest.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/FingerprintProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/NetworkDirectionProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RegisteredDomainProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestResponse.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/test/QueryRulesetMatchedRule.java rename java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/{list/SearchApplicationListItem.java => SearchApplicationParameters.java} (58%) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index 47ac1b436..a4417f811 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -631,8 +631,12 @@ public final CompletableFuture deleteByQuery( // ----- Endpoint: delete_by_query_rethrottle /** - * Changes the number of requests per second for a particular Delete By Query - * operation. + * Throttle a delete by query operation. + *

+ * Change the number of requests per second for a particular delete by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see Documentation @@ -648,8 +652,12 @@ public CompletableFuture deleteByQueryRethrottl } /** - * Changes the number of requests per second for a particular Delete By Query - * operation. + * Throttle a delete by query operation. + *

+ * Change the number of requests per second for a particular delete by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @param fn * a function that initializes a builder to create the @@ -1010,7 +1018,9 @@ public final CompletableFuture getScript( // ----- Endpoint: get_script_context /** - * Returns all script contexts. + * Get script contexts. + *

+ * Get a list of supported script contexts and their methods. * * @see Documentation @@ -1024,7 +1034,9 @@ public CompletableFuture getScriptContext() { // ----- Endpoint: get_script_languages /** - * Returns available script types, languages and contexts + * Get script languages. + *

+ * Get a list of available script types, languages, and contexts. * * @see Documentation @@ -1278,7 +1290,12 @@ public final CompletableFuture> knnSear // ----- Endpoint: mget /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @see Documentation @@ -1296,7 +1313,12 @@ public CompletableFuture> mget(MgetRequest r } /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @param fn * a function that initializes a builder to create the @@ -1312,7 +1334,12 @@ public final CompletableFuture> mget( } /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @see Documentation @@ -1329,7 +1356,12 @@ public CompletableFuture> mget(MgetRequest r } /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @param fn * a function that initializes a builder to create the @@ -1347,7 +1379,27 @@ public final CompletableFuture> mget( // ----- Endpoint: msearch /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @see Documentation @@ -1365,7 +1417,27 @@ public CompletableFuture> msearch(Msearch } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @param fn * a function that initializes a builder to create the @@ -1381,7 +1453,27 @@ public final CompletableFuture> msearch( } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @see Documentation @@ -1399,7 +1491,27 @@ public CompletableFuture> msearch(Msearch } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @param fn * a function that initializes a builder to create the @@ -1490,7 +1602,13 @@ public final CompletableFuture> m // ----- Endpoint: mtermvectors /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @see Documentation @@ -1505,7 +1623,13 @@ public CompletableFuture mtermvectors(MtermvectorsRequest } /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @param fn * a function that initializes a builder to create the @@ -1521,7 +1645,13 @@ public final CompletableFuture mtermvectors( } /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @see Documentation @@ -1705,7 +1835,9 @@ public final CompletableFuture reindex( // ----- Endpoint: reindex_rethrottle /** - * Copies documents from a source to a destination. + * Throttle a reindex operation. + *

+ * Change the number of requests per second for a particular reindex operation. * * @see Documentation @@ -1720,7 +1852,9 @@ public CompletableFuture reindexRethrottle(ReindexRet } /** - * Copies documents from a source to a destination. + * Throttle a reindex operation. + *

+ * Change the number of requests per second for a particular reindex operation. * * @param fn * a function that initializes a builder to create the @@ -1858,7 +1992,29 @@ public final CompletableFuture // ----- Endpoint: scroll /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @see Documentation @@ -1876,7 +2032,29 @@ public CompletableFuture> scroll(ScrollReq } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @param fn * a function that initializes a builder to create the @@ -1892,7 +2070,29 @@ public final CompletableFuture> scroll( } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @see Documentation @@ -1909,7 +2109,29 @@ public CompletableFuture> scroll(ScrollReq } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @param fn * a function that initializes a builder to create the @@ -2159,9 +2381,20 @@ public final CompletableFuture> se // ----- Endpoint: terms_enum /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. + * Get terms in an index. + *

+ * Discover terms that match a partial string in an index. This "terms + * enum" API is designed for low-latency look-ups used in auto-complete + * scenarios. + *

+ * If the complete property in the response is false, the returned + * terms set may be incomplete and should be treated as approximate. This can + * occur due to a few reasons, such as a request timeout or a node error. + *

+ * NOTE: The terms enum API may return terms from deleted documents. Deleted + * documents are initially only marked as deleted. It is not until their + * segments are merged that documents are actually deleted. Until that happens, + * the terms enum API will return terms from these documents. * * @see Documentation @@ -2176,9 +2409,20 @@ public CompletableFuture termsEnum(TermsEnumRequest request) } /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. + * Get terms in an index. + *

+ * Discover terms that match a partial string in an index. This "terms + * enum" API is designed for low-latency look-ups used in auto-complete + * scenarios. + *

+ * If the complete property in the response is false, the returned + * terms set may be incomplete and should be treated as approximate. This can + * occur due to a few reasons, such as a request timeout or a node error. + *

+ * NOTE: The terms enum API may return terms from deleted documents. Deleted + * documents are initially only marked as deleted. It is not until their + * segments are merged that documents are actually deleted. Until that happens, + * the terms enum API will return terms from these documents. * * @param fn * a function that initializes a builder to create the @@ -2346,8 +2590,12 @@ public final CompletableFuture updateByQuery( // ----- Endpoint: update_by_query_rethrottle /** - * Changes the number of requests per second for a particular Update By Query - * operation. + * Throttle an update by query operation. + *

+ * Change the number of requests per second for a particular update by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see Documentation @@ -2363,8 +2611,12 @@ public CompletableFuture updateByQueryRethrottl } /** - * Changes the number of requests per second for a particular Update By Query - * operation. + * Throttle an update by query operation. + *

+ * Change the number of requests per second for a particular update by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index baa999b7a..c7d8262b8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -640,8 +640,12 @@ public final DeleteByQueryResponse deleteByQuery( // ----- Endpoint: delete_by_query_rethrottle /** - * Changes the number of requests per second for a particular Delete By Query - * operation. + * Throttle a delete by query operation. + *

+ * Change the number of requests per second for a particular delete by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see Documentation @@ -657,8 +661,12 @@ public DeleteByQueryRethrottleResponse deleteByQueryRethrottle(DeleteByQueryReth } /** - * Changes the number of requests per second for a particular Delete By Query - * operation. + * Throttle a delete by query operation. + *

+ * Change the number of requests per second for a particular delete by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @param fn * a function that initializes a builder to create the @@ -1025,7 +1033,9 @@ public final GetScriptResponse getScript(Function + * Get a list of supported script contexts and their methods. * * @see Documentation @@ -1039,7 +1049,9 @@ public GetScriptContextResponse getScriptContext() throws IOException, Elasticse // ----- Endpoint: get_script_languages /** - * Returns available script types, languages and contexts + * Get script languages. + *

+ * Get a list of available script types, languages, and contexts. * * @see Documentation @@ -1299,7 +1311,12 @@ public final KnnSearchResponse knnSearch( // ----- Endpoint: mget /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @see Documentation @@ -1317,7 +1334,12 @@ public MgetResponse mget(MgetRequest request, Class + * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @param fn * a function that initializes a builder to create the @@ -1333,7 +1355,12 @@ public final MgetResponse mget(Function + * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @see Documentation @@ -1351,7 +1378,12 @@ public MgetResponse mget(MgetRequest request, Type tDocum } /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @param fn * a function that initializes a builder to create the @@ -1369,7 +1401,27 @@ public final MgetResponse mget(Function + * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @see Documentation @@ -1387,7 +1439,27 @@ public MsearchResponse msearch(MsearchRequest request, Cl } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @param fn * a function that initializes a builder to create the @@ -1404,7 +1476,27 @@ public final MsearchResponse msearch( } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @see Documentation @@ -1422,7 +1514,27 @@ public MsearchResponse msearch(MsearchRequest request, Ty } /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+	 * header\n
+	 * body\n
+	 * header\n
+	 * body\n
+	 * 
+	 * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @param fn * a function that initializes a builder to create the @@ -1515,7 +1627,13 @@ public final MsearchTemplateResponse msearchTemplate( // ----- Endpoint: mtermvectors /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @see Documentation @@ -1530,7 +1648,13 @@ public MtermvectorsResponse mtermvectors(MtermvectorsRequest request) throws IOE } /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @param fn * a function that initializes a builder to create the @@ -1547,7 +1671,13 @@ public final MtermvectorsResponse mtermvectors( } /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @see Documentation @@ -1733,7 +1863,9 @@ public final ReindexResponse reindex(Function + * Change the number of requests per second for a particular reindex operation. * * @see Documentation @@ -1749,7 +1881,9 @@ public ReindexRethrottleResponse reindexRethrottle(ReindexRethrottleRequest requ } /** - * Copies documents from a source to a destination. + * Throttle a reindex operation. + *

+ * Change the number of requests per second for a particular reindex operation. * * @param fn * a function that initializes a builder to create the @@ -1891,7 +2025,29 @@ public final ScriptsPainlessExecuteResponse scriptsPainlessEx // ----- Endpoint: scroll /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @see Documentation @@ -1909,7 +2065,29 @@ public ScrollResponse scroll(ScrollRequest request, Class } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @param fn * a function that initializes a builder to create the @@ -1926,7 +2104,29 @@ public final ScrollResponse scroll( } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @see Documentation @@ -1944,7 +2144,29 @@ public ScrollResponse scroll(ScrollRequest request, Type } /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @param fn * a function that initializes a builder to create the @@ -2200,9 +2422,20 @@ public final SearchTemplateResponse searchTemplate( // ----- Endpoint: terms_enum /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. + * Get terms in an index. + *

+ * Discover terms that match a partial string in an index. This "terms + * enum" API is designed for low-latency look-ups used in auto-complete + * scenarios. + *

+ * If the complete property in the response is false, the returned + * terms set may be incomplete and should be treated as approximate. This can + * occur due to a few reasons, such as a request timeout or a node error. + *

+ * NOTE: The terms enum API may return terms from deleted documents. Deleted + * documents are initially only marked as deleted. It is not until their + * segments are merged that documents are actually deleted. Until that happens, + * the terms enum API will return terms from these documents. * * @see Documentation @@ -2217,9 +2450,20 @@ public TermsEnumResponse termsEnum(TermsEnumRequest request) throws IOException, } /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. + * Get terms in an index. + *

+ * Discover terms that match a partial string in an index. This "terms + * enum" API is designed for low-latency look-ups used in auto-complete + * scenarios. + *

+ * If the complete property in the response is false, the returned + * terms set may be incomplete and should be treated as approximate. This can + * occur due to a few reasons, such as a request timeout or a node error. + *

+ * NOTE: The terms enum API may return terms from deleted documents. Deleted + * documents are initially only marked as deleted. It is not until their + * segments are merged that documents are actually deleted. Until that happens, + * the terms enum API will return terms from these documents. * * @param fn * a function that initializes a builder to create the @@ -2393,8 +2637,12 @@ public final UpdateByQueryResponse updateByQuery( // ----- Endpoint: update_by_query_rethrottle /** - * Changes the number of requests per second for a particular Update By Query - * operation. + * Throttle an update by query operation. + *

+ * Change the number of requests per second for a particular update by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see Documentation @@ -2410,8 +2658,12 @@ public UpdateByQueryRethrottleResponse updateByQueryRethrottle(UpdateByQueryReth } /** - * Changes the number of requests per second for a particular Update By Query - * operation. + * Throttle an update by query operation. + *

+ * Change the number of requests per second for a particular update by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java index 71541ef8f..1103a2dd0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java @@ -62,9 +62,6 @@ /** * * @see Documentation - * on elastic.co - * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java index e66afa4fd..1ca202ca8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java @@ -56,7 +56,7 @@ // typedef: async_search.status.Request /** - * Get async search status Retrieves the status of a previously submitted async + * Get async search status. Retrieve the status of a previously submitted async * search request given its identifier, without retrieving search results. If * the Elasticsearch security features are enabled, use of this API is * restricted to the monitoring_user role. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java index a9f707561..b6ca9db8f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java @@ -56,12 +56,12 @@ // typedef: async_search.delete.Request /** - * Deletes an async search by identifier. If the search is still running, the - * search request will be cancelled. Otherwise, the saved search results are - * deleted. If the Elasticsearch security features are enabled, the deletion of - * a specific async search is restricted to: the authenticated user that - * submitted the original search request; users that have the - * cancel_task cluster privilege. + * Delete an async search. If the asynchronous search is still running, it is + * cancelled. Otherwise, the saved search results are deleted. If the + * Elasticsearch security features are enabled, the deletion of a specific async + * search is restricted to: the authenticated user that submitted the original + * search request; users that have the cancel_task cluster + * privilege. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java index 6e9bf96f9..cf2ce1e16 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java @@ -72,12 +72,12 @@ public ElasticsearchAsyncSearchAsyncClient withTransportOptions(@Nullable Transp // ----- Endpoint: async_search.delete /** - * Deletes an async search by identifier. If the search is still running, the - * search request will be cancelled. Otherwise, the saved search results are - * deleted. If the Elasticsearch security features are enabled, the deletion of - * a specific async search is restricted to: the authenticated user that - * submitted the original search request; users that have the - * cancel_task cluster privilege. + * Delete an async search. If the asynchronous search is still running, it is + * cancelled. Otherwise, the saved search results are deleted. If the + * Elasticsearch security features are enabled, the deletion of a specific async + * search is restricted to: the authenticated user that submitted the original + * search request; users that have the cancel_task cluster + * privilege. * * @see Documentation @@ -92,12 +92,12 @@ public CompletableFuture delete(DeleteAsyncSearchRequ } /** - * Deletes an async search by identifier. If the search is still running, the - * search request will be cancelled. Otherwise, the saved search results are - * deleted. If the Elasticsearch security features are enabled, the deletion of - * a specific async search is restricted to: the authenticated user that - * submitted the original search request; users that have the - * cancel_task cluster privilege. + * Delete an async search. If the asynchronous search is still running, it is + * cancelled. Otherwise, the saved search results are deleted. If the + * Elasticsearch security features are enabled, the deletion of a specific async + * search is restricted to: the authenticated user that submitted the original + * search request; users that have the cancel_task cluster + * privilege. * * @param fn * a function that initializes a builder to create the @@ -115,10 +115,10 @@ public final CompletableFuture delete( // ----- Endpoint: async_search.get /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @see Documentation @@ -136,10 +136,10 @@ public CompletableFuture> get(GetA } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @param fn * a function that initializes a builder to create the @@ -156,10 +156,10 @@ public final CompletableFuture> ge } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @see Documentation @@ -177,10 +177,10 @@ public CompletableFuture> get(GetA } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @param fn * a function that initializes a builder to create the @@ -198,7 +198,7 @@ public final CompletableFuture> ge // ----- Endpoint: async_search.status /** - * Get async search status Retrieves the status of a previously submitted async + * Get async search status. Retrieve the status of a previously submitted async * search request given its identifier, without retrieving search results. If * the Elasticsearch security features are enabled, use of this API is * restricted to the monitoring_user role. @@ -216,7 +216,7 @@ public CompletableFuture status(AsyncSearchStatusRequ } /** - * Get async search status Retrieves the status of a previously submitted async + * Get async search status. Retrieve the status of a previously submitted async * search request given its identifier, without retrieving search results. If * the Elasticsearch security features are enabled, use of this API is * restricted to the monitoring_user role. @@ -237,15 +237,19 @@ public final CompletableFuture status( // ----- Endpoint: async_search.submit /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @see Documentation @@ -264,15 +268,19 @@ public CompletableFuture> submit(SubmitReq } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @param fn * a function that initializes a builder to create the @@ -288,15 +296,19 @@ public final CompletableFuture> submit( } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @see Documentation @@ -314,15 +326,19 @@ public CompletableFuture> submit(SubmitReq } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java index d0227fd06..1dada7bd2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java @@ -71,12 +71,12 @@ public ElasticsearchAsyncSearchClient withTransportOptions(@Nullable TransportOp // ----- Endpoint: async_search.delete /** - * Deletes an async search by identifier. If the search is still running, the - * search request will be cancelled. Otherwise, the saved search results are - * deleted. If the Elasticsearch security features are enabled, the deletion of - * a specific async search is restricted to: the authenticated user that - * submitted the original search request; users that have the - * cancel_task cluster privilege. + * Delete an async search. If the asynchronous search is still running, it is + * cancelled. Otherwise, the saved search results are deleted. If the + * Elasticsearch security features are enabled, the deletion of a specific async + * search is restricted to: the authenticated user that submitted the original + * search request; users that have the cancel_task cluster + * privilege. * * @see Documentation @@ -92,12 +92,12 @@ public DeleteAsyncSearchResponse delete(DeleteAsyncSearchRequest request) } /** - * Deletes an async search by identifier. If the search is still running, the - * search request will be cancelled. Otherwise, the saved search results are - * deleted. If the Elasticsearch security features are enabled, the deletion of - * a specific async search is restricted to: the authenticated user that - * submitted the original search request; users that have the - * cancel_task cluster privilege. + * Delete an async search. If the asynchronous search is still running, it is + * cancelled. Otherwise, the saved search results are deleted. If the + * Elasticsearch security features are enabled, the deletion of a specific async + * search is restricted to: the authenticated user that submitted the original + * search request; users that have the cancel_task cluster + * privilege. * * @param fn * a function that initializes a builder to create the @@ -116,10 +116,10 @@ public final DeleteAsyncSearchResponse delete( // ----- Endpoint: async_search.get /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @see Documentation @@ -137,10 +137,10 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @param fn * a function that initializes a builder to create the @@ -157,10 +157,10 @@ public final GetAsyncSearchResponse get( } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @see Documentation @@ -178,10 +178,10 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r } /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @param fn * a function that initializes a builder to create the @@ -200,7 +200,7 @@ public final GetAsyncSearchResponse get( // ----- Endpoint: async_search.status /** - * Get async search status Retrieves the status of a previously submitted async + * Get async search status. Retrieve the status of a previously submitted async * search request given its identifier, without retrieving search results. If * the Elasticsearch security features are enabled, use of this API is * restricted to the monitoring_user role. @@ -219,7 +219,7 @@ public AsyncSearchStatusResponse status(AsyncSearchStatusRequest request) } /** - * Get async search status Retrieves the status of a previously submitted async + * Get async search status. Retrieve the status of a previously submitted async * search request given its identifier, without retrieving search results. If * the Elasticsearch security features are enabled, use of this API is * restricted to the monitoring_user role. @@ -241,15 +241,19 @@ public final AsyncSearchStatusResponse status( // ----- Endpoint: async_search.submit /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @see Documentation @@ -268,15 +272,19 @@ public SubmitResponse submit(SubmitRequest request, Class } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @param fn * a function that initializes a builder to create the @@ -293,15 +301,19 @@ public final SubmitResponse submit( } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @see Documentation @@ -320,15 +332,19 @@ public SubmitResponse submit(SubmitRequest request, Type } /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java index 552819ff4..fbd4cbbd5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java @@ -56,10 +56,10 @@ // typedef: async_search.get.Request /** - * Retrieves the results of a previously submitted async search request given - * its identifier. If the Elasticsearch security features are enabled, access to - * the results of a specific async search is restricted to the user or API key - * that submitted it. + * Get async search results. Retrieve the results of a previously submitted + * asynchronous search request. If the Elasticsearch security features are + * enabled, access to the results of a specific async search is restricted to + * the user or API key that submitted it. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java index ba8a2be17..a655d7413 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java @@ -85,15 +85,19 @@ // typedef: async_search.submit.Request /** - * Runs a search request asynchronously. When the primary sort of the results is - * an indexed field, shards get sorted based on minimum and maximum value that - * they hold for that field, hence partial results become available following - * the sort criteria that was requested. Warning: Async search does not support - * scroll nor search requests that only include the suggest section. By default, - * Elasticsearch doesn’t allow you to store an async search response larger than - * 10Mb and an attempt to do this results in an error. The maximum allowed size - * for a stored async search response can be set by changing the - * search.max_async_search_response_size cluster level setting. + * Run an async search. When the primary sort of the results is an indexed + * field, shards get sorted based on minimum and maximum value that they hold + * for that field. Partial results become available following the sort criteria + * that was requested. + *

+ * Warning: Asynchronous search does not support scroll or search requests that + * include only the suggest section. + *

+ * By default, Elasticsearch does not allow you to store an async search + * response larger than 10Mb and an attempt to do this results in an error. The + * maximum allowed size for a stored async search response can be set by + * changing the search.max_async_search_response_size cluster level + * setting. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java index 00c09ef9b..22b6c7788 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.WaitForActiveShards; +import co.elastic.clients.elasticsearch.indices.IndexSettings; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -34,6 +35,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; import java.lang.Long; import java.lang.String; import java.util.HashMap; @@ -68,19 +70,21 @@ */ @JsonpDeserializable public class FollowRequest extends RequestBase implements JsonpSerializable { + @Nullable + private final String dataStreamName; + private final String index; - @Nullable private final String leaderIndex; @Nullable private final Long maxOutstandingReadRequests; @Nullable - private final Long maxOutstandingWriteRequests; + private final Integer maxOutstandingWriteRequests; @Nullable - private final Long maxReadRequestOperationCount; + private final Integer maxReadRequestOperationCount; @Nullable private final String maxReadRequestSize; @@ -89,13 +93,13 @@ public class FollowRequest extends RequestBase implements JsonpSerializable { private final Time maxRetryDelay; @Nullable - private final Long maxWriteBufferCount; + private final Integer maxWriteBufferCount; @Nullable private final String maxWriteBufferSize; @Nullable - private final Long maxWriteRequestOperationCount; + private final Integer maxWriteRequestOperationCount; @Nullable private final String maxWriteRequestSize; @@ -103,9 +107,11 @@ public class FollowRequest extends RequestBase implements JsonpSerializable { @Nullable private final Time readPollTimeout; - @Nullable private final String remoteCluster; + @Nullable + private final IndexSettings settings; + @Nullable private final WaitForActiveShards waitForActiveShards; @@ -113,8 +119,9 @@ public class FollowRequest extends RequestBase implements JsonpSerializable { private FollowRequest(Builder builder) { + this.dataStreamName = builder.dataStreamName; this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.leaderIndex = builder.leaderIndex; + this.leaderIndex = ApiTypeHelper.requireNonNull(builder.leaderIndex, this, "leaderIndex"); this.maxOutstandingReadRequests = builder.maxOutstandingReadRequests; this.maxOutstandingWriteRequests = builder.maxOutstandingWriteRequests; this.maxReadRequestOperationCount = builder.maxReadRequestOperationCount; @@ -125,7 +132,8 @@ private FollowRequest(Builder builder) { this.maxWriteRequestOperationCount = builder.maxWriteRequestOperationCount; this.maxWriteRequestSize = builder.maxWriteRequestSize; this.readPollTimeout = builder.readPollTimeout; - this.remoteCluster = builder.remoteCluster; + this.remoteCluster = ApiTypeHelper.requireNonNull(builder.remoteCluster, this, "remoteCluster"); + this.settings = builder.settings; this.waitForActiveShards = builder.waitForActiveShards; } @@ -135,7 +143,18 @@ public static FollowRequest of(Function> f } /** - * Required - The name of the follower index + * If the leader index is part of a data stream, the name to which the local + * data stream for the followed index should be renamed. + *

+ * API name: {@code data_stream_name} + */ + @Nullable + public final String dataStreamName() { + return this.dataStreamName; + } + + /** + * Required - The name of the follower index. *

* API name: {@code index} */ @@ -144,14 +163,17 @@ public final String index() { } /** + * Required - The name of the index in the leader cluster to follow. + *

* API name: {@code leader_index} */ - @Nullable public final String leaderIndex() { return this.leaderIndex; } /** + * The maximum number of outstanding reads requests from the remote cluster. + *

* API name: {@code max_outstanding_read_requests} */ @Nullable @@ -160,22 +182,29 @@ public final Long maxOutstandingReadRequests() { } /** + * The maximum number of outstanding write requests on the follower. + *

* API name: {@code max_outstanding_write_requests} */ @Nullable - public final Long maxOutstandingWriteRequests() { + public final Integer maxOutstandingWriteRequests() { return this.maxOutstandingWriteRequests; } /** + * The maximum number of operations to pull per read from the remote cluster. + *

* API name: {@code max_read_request_operation_count} */ @Nullable - public final Long maxReadRequestOperationCount() { + public final Integer maxReadRequestOperationCount() { return this.maxReadRequestOperationCount; } /** + * The maximum size in bytes of per read of a batch of operations pulled from + * the remote cluster. + *

* API name: {@code max_read_request_size} */ @Nullable @@ -184,6 +213,9 @@ public final String maxReadRequestSize() { } /** + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

* API name: {@code max_retry_delay} */ @Nullable @@ -192,14 +224,22 @@ public final Time maxRetryDelay() { } /** + * The maximum number of operations that can be queued for writing. When this + * limit is reached, reads from the remote cluster will be deferred until the + * number of queued operations goes below the limit. + *

* API name: {@code max_write_buffer_count} */ @Nullable - public final Long maxWriteBufferCount() { + public final Integer maxWriteBufferCount() { return this.maxWriteBufferCount; } /** + * The maximum total bytes of operations that can be queued for writing. When + * this limit is reached, reads from the remote cluster will be deferred until + * the total bytes of queued operations goes below the limit. + *

* API name: {@code max_write_buffer_size} */ @Nullable @@ -208,14 +248,20 @@ public final String maxWriteBufferSize() { } /** + * The maximum number of operations per bulk write request executed on the + * follower. + *

* API name: {@code max_write_request_operation_count} */ @Nullable - public final Long maxWriteRequestOperationCount() { + public final Integer maxWriteRequestOperationCount() { return this.maxWriteRequestOperationCount; } /** + * The maximum total bytes of operations per bulk write request executed on the + * follower. + *

* API name: {@code max_write_request_size} */ @Nullable @@ -224,6 +270,12 @@ public final String maxWriteRequestSize() { } /** + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

* API name: {@code read_poll_timeout} */ @Nullable @@ -232,18 +284,30 @@ public final Time readPollTimeout() { } /** + * Required - The remote cluster containing the leader index. + *

* API name: {@code remote_cluster} */ - @Nullable public final String remoteCluster() { return this.remoteCluster; } /** - * Sets the number of shard copies that must be active before returning. - * Defaults to 0. Set to all for all shard copies, otherwise set to - * any non-negative value less than or equal to the total number of copies for - * the shard (number of replicas + 1) + * Settings to override from the leader index. + *

+ * API name: {@code settings} + */ + @Nullable + public final IndexSettings settings() { + return this.settings; + } + + /** + * Specifies the number of shards to wait on being active before responding. + * This defaults to waiting on none of the shards to be active. A shard must be + * restored from the leader index before being active. Restoring a follower + * shard requires transferring all the remote Lucene segment files to the + * follower index. *

* API name: {@code wait_for_active_shards} */ @@ -263,11 +327,14 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.leaderIndex != null) { - generator.writeKey("leader_index"); - generator.write(this.leaderIndex); + if (this.dataStreamName != null) { + generator.writeKey("data_stream_name"); + generator.write(this.dataStreamName); } + generator.writeKey("leader_index"); + generator.write(this.leaderIndex); + if (this.maxOutstandingReadRequests != null) { generator.writeKey("max_outstanding_read_requests"); generator.write(this.maxOutstandingReadRequests); @@ -318,9 +385,12 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.readPollTimeout.serialize(generator, mapper); } - if (this.remoteCluster != null) { - generator.writeKey("remote_cluster"); - generator.write(this.remoteCluster); + generator.writeKey("remote_cluster"); + generator.write(this.remoteCluster); + + if (this.settings != null) { + generator.writeKey("settings"); + this.settings.serialize(generator, mapper); } @@ -333,19 +403,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { */ public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private String dataStreamName; + private String index; - @Nullable private String leaderIndex; @Nullable private Long maxOutstandingReadRequests; @Nullable - private Long maxOutstandingWriteRequests; + private Integer maxOutstandingWriteRequests; @Nullable - private Long maxReadRequestOperationCount; + private Integer maxReadRequestOperationCount; @Nullable private String maxReadRequestSize; @@ -354,13 +426,13 @@ public static class Builder extends RequestBase.AbstractBuilder impleme private Time maxRetryDelay; @Nullable - private Long maxWriteBufferCount; + private Integer maxWriteBufferCount; @Nullable private String maxWriteBufferSize; @Nullable - private Long maxWriteRequestOperationCount; + private Integer maxWriteRequestOperationCount; @Nullable private String maxWriteRequestSize; @@ -368,14 +440,27 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Time readPollTimeout; - @Nullable private String remoteCluster; + @Nullable + private IndexSettings settings; + @Nullable private WaitForActiveShards waitForActiveShards; /** - * Required - The name of the follower index + * If the leader index is part of a data stream, the name to which the local + * data stream for the followed index should be renamed. + *

+ * API name: {@code data_stream_name} + */ + public final Builder dataStreamName(@Nullable String value) { + this.dataStreamName = value; + return this; + } + + /** + * Required - The name of the follower index. *

* API name: {@code index} */ @@ -385,14 +470,18 @@ public final Builder index(String value) { } /** + * Required - The name of the index in the leader cluster to follow. + *

* API name: {@code leader_index} */ - public final Builder leaderIndex(@Nullable String value) { + public final Builder leaderIndex(String value) { this.leaderIndex = value; return this; } /** + * The maximum number of outstanding reads requests from the remote cluster. + *

* API name: {@code max_outstanding_read_requests} */ public final Builder maxOutstandingReadRequests(@Nullable Long value) { @@ -401,22 +490,29 @@ public final Builder maxOutstandingReadRequests(@Nullable Long value) { } /** + * The maximum number of outstanding write requests on the follower. + *

* API name: {@code max_outstanding_write_requests} */ - public final Builder maxOutstandingWriteRequests(@Nullable Long value) { + public final Builder maxOutstandingWriteRequests(@Nullable Integer value) { this.maxOutstandingWriteRequests = value; return this; } /** + * The maximum number of operations to pull per read from the remote cluster. + *

* API name: {@code max_read_request_operation_count} */ - public final Builder maxReadRequestOperationCount(@Nullable Long value) { + public final Builder maxReadRequestOperationCount(@Nullable Integer value) { this.maxReadRequestOperationCount = value; return this; } /** + * The maximum size in bytes of per read of a batch of operations pulled from + * the remote cluster. + *

* API name: {@code max_read_request_size} */ public final Builder maxReadRequestSize(@Nullable String value) { @@ -425,6 +521,9 @@ public final Builder maxReadRequestSize(@Nullable String value) { } /** + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

* API name: {@code max_retry_delay} */ public final Builder maxRetryDelay(@Nullable Time value) { @@ -433,6 +532,9 @@ public final Builder maxRetryDelay(@Nullable Time value) { } /** + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

* API name: {@code max_retry_delay} */ public final Builder maxRetryDelay(Function> fn) { @@ -440,14 +542,22 @@ public final Builder maxRetryDelay(Function> f } /** + * The maximum number of operations that can be queued for writing. When this + * limit is reached, reads from the remote cluster will be deferred until the + * number of queued operations goes below the limit. + *

* API name: {@code max_write_buffer_count} */ - public final Builder maxWriteBufferCount(@Nullable Long value) { + public final Builder maxWriteBufferCount(@Nullable Integer value) { this.maxWriteBufferCount = value; return this; } /** + * The maximum total bytes of operations that can be queued for writing. When + * this limit is reached, reads from the remote cluster will be deferred until + * the total bytes of queued operations goes below the limit. + *

* API name: {@code max_write_buffer_size} */ public final Builder maxWriteBufferSize(@Nullable String value) { @@ -456,14 +566,20 @@ public final Builder maxWriteBufferSize(@Nullable String value) { } /** + * The maximum number of operations per bulk write request executed on the + * follower. + *

* API name: {@code max_write_request_operation_count} */ - public final Builder maxWriteRequestOperationCount(@Nullable Long value) { + public final Builder maxWriteRequestOperationCount(@Nullable Integer value) { this.maxWriteRequestOperationCount = value; return this; } /** + * The maximum total bytes of operations per bulk write request executed on the + * follower. + *

* API name: {@code max_write_request_size} */ public final Builder maxWriteRequestSize(@Nullable String value) { @@ -472,6 +588,12 @@ public final Builder maxWriteRequestSize(@Nullable String value) { } /** + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

* API name: {@code read_poll_timeout} */ public final Builder readPollTimeout(@Nullable Time value) { @@ -480,6 +602,12 @@ public final Builder readPollTimeout(@Nullable Time value) { } /** + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

* API name: {@code read_poll_timeout} */ public final Builder readPollTimeout(Function> fn) { @@ -487,18 +615,40 @@ public final Builder readPollTimeout(Function> } /** + * Required - The remote cluster containing the leader index. + *

* API name: {@code remote_cluster} */ - public final Builder remoteCluster(@Nullable String value) { + public final Builder remoteCluster(String value) { this.remoteCluster = value; return this; } /** - * Sets the number of shard copies that must be active before returning. - * Defaults to 0. Set to all for all shard copies, otherwise set to - * any non-negative value less than or equal to the total number of copies for - * the shard (number of replicas + 1) + * Settings to override from the leader index. + *

+ * API name: {@code settings} + */ + public final Builder settings(@Nullable IndexSettings value) { + this.settings = value; + return this; + } + + /** + * Settings to override from the leader index. + *

+ * API name: {@code settings} + */ + public final Builder settings(Function> fn) { + return this.settings(fn.apply(new IndexSettings.Builder()).build()); + } + + /** + * Specifies the number of shards to wait on being active before responding. + * This defaults to waiting on none of the shards to be active. A shard must be + * restored from the leader index before being active. Restoring a follower + * shard requires transferring all the remote Lucene segment files to the + * follower index. *

* API name: {@code wait_for_active_shards} */ @@ -508,10 +658,11 @@ public final Builder waitForActiveShards(@Nullable WaitForActiveShards value) { } /** - * Sets the number of shard copies that must be active before returning. - * Defaults to 0. Set to all for all shard copies, otherwise set to - * any non-negative value less than or equal to the total number of copies for - * the shard (number of replicas + 1) + * Specifies the number of shards to wait on being active before responding. + * This defaults to waiting on none of the shards to be active. A shard must be + * restored from the leader index before being active. Restoring a follower + * shard requires transferring all the remote Lucene segment files to the + * follower index. *

* API name: {@code wait_for_active_shards} */ @@ -548,22 +699,24 @@ public FollowRequest build() { protected static void setupFollowRequestDeserializer(ObjectDeserializer op) { + op.add(Builder::dataStreamName, JsonpDeserializer.stringDeserializer(), "data_stream_name"); op.add(Builder::leaderIndex, JsonpDeserializer.stringDeserializer(), "leader_index"); op.add(Builder::maxOutstandingReadRequests, JsonpDeserializer.longDeserializer(), "max_outstanding_read_requests"); - op.add(Builder::maxOutstandingWriteRequests, JsonpDeserializer.longDeserializer(), + op.add(Builder::maxOutstandingWriteRequests, JsonpDeserializer.integerDeserializer(), "max_outstanding_write_requests"); - op.add(Builder::maxReadRequestOperationCount, JsonpDeserializer.longDeserializer(), + op.add(Builder::maxReadRequestOperationCount, JsonpDeserializer.integerDeserializer(), "max_read_request_operation_count"); op.add(Builder::maxReadRequestSize, JsonpDeserializer.stringDeserializer(), "max_read_request_size"); op.add(Builder::maxRetryDelay, Time._DESERIALIZER, "max_retry_delay"); - op.add(Builder::maxWriteBufferCount, JsonpDeserializer.longDeserializer(), "max_write_buffer_count"); + op.add(Builder::maxWriteBufferCount, JsonpDeserializer.integerDeserializer(), "max_write_buffer_count"); op.add(Builder::maxWriteBufferSize, JsonpDeserializer.stringDeserializer(), "max_write_buffer_size"); - op.add(Builder::maxWriteRequestOperationCount, JsonpDeserializer.longDeserializer(), + op.add(Builder::maxWriteRequestOperationCount, JsonpDeserializer.integerDeserializer(), "max_write_request_operation_count"); op.add(Builder::maxWriteRequestSize, JsonpDeserializer.stringDeserializer(), "max_write_request_size"); op.add(Builder::readPollTimeout, Time._DESERIALIZER, "read_poll_timeout"); op.add(Builder::remoteCluster, JsonpDeserializer.stringDeserializer(), "remote_cluster"); + op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/follow_info/FollowerIndexParameters.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/follow_info/FollowerIndexParameters.java index cd9fc3ed2..ed314baf5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/follow_info/FollowerIndexParameters.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/follow_info/FollowerIndexParameters.java @@ -27,11 +27,11 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; +import java.lang.Long; import java.lang.String; import java.util.Objects; import java.util.function.Function; @@ -62,46 +62,50 @@ */ @JsonpDeserializable public class FollowerIndexParameters implements JsonpSerializable { - private final int maxOutstandingReadRequests; + @Nullable + private final Long maxOutstandingReadRequests; - private final int maxOutstandingWriteRequests; + @Nullable + private final Integer maxOutstandingWriteRequests; - private final int maxReadRequestOperationCount; + @Nullable + private final Integer maxReadRequestOperationCount; + @Nullable private final String maxReadRequestSize; + @Nullable private final Time maxRetryDelay; - private final int maxWriteBufferCount; + @Nullable + private final Integer maxWriteBufferCount; + @Nullable private final String maxWriteBufferSize; - private final int maxWriteRequestOperationCount; + @Nullable + private final Integer maxWriteRequestOperationCount; + @Nullable private final String maxWriteRequestSize; + @Nullable private final Time readPollTimeout; // --------------------------------------------------------------------------------------------- private FollowerIndexParameters(Builder builder) { - this.maxOutstandingReadRequests = ApiTypeHelper.requireNonNull(builder.maxOutstandingReadRequests, this, - "maxOutstandingReadRequests"); - this.maxOutstandingWriteRequests = ApiTypeHelper.requireNonNull(builder.maxOutstandingWriteRequests, this, - "maxOutstandingWriteRequests"); - this.maxReadRequestOperationCount = ApiTypeHelper.requireNonNull(builder.maxReadRequestOperationCount, this, - "maxReadRequestOperationCount"); - this.maxReadRequestSize = ApiTypeHelper.requireNonNull(builder.maxReadRequestSize, this, "maxReadRequestSize"); - this.maxRetryDelay = ApiTypeHelper.requireNonNull(builder.maxRetryDelay, this, "maxRetryDelay"); - this.maxWriteBufferCount = ApiTypeHelper.requireNonNull(builder.maxWriteBufferCount, this, - "maxWriteBufferCount"); - this.maxWriteBufferSize = ApiTypeHelper.requireNonNull(builder.maxWriteBufferSize, this, "maxWriteBufferSize"); - this.maxWriteRequestOperationCount = ApiTypeHelper.requireNonNull(builder.maxWriteRequestOperationCount, this, - "maxWriteRequestOperationCount"); - this.maxWriteRequestSize = ApiTypeHelper.requireNonNull(builder.maxWriteRequestSize, this, - "maxWriteRequestSize"); - this.readPollTimeout = ApiTypeHelper.requireNonNull(builder.readPollTimeout, this, "readPollTimeout"); + this.maxOutstandingReadRequests = builder.maxOutstandingReadRequests; + this.maxOutstandingWriteRequests = builder.maxOutstandingWriteRequests; + this.maxReadRequestOperationCount = builder.maxReadRequestOperationCount; + this.maxReadRequestSize = builder.maxReadRequestSize; + this.maxRetryDelay = builder.maxRetryDelay; + this.maxWriteBufferCount = builder.maxWriteBufferCount; + this.maxWriteBufferSize = builder.maxWriteBufferSize; + this.maxWriteRequestOperationCount = builder.maxWriteRequestOperationCount; + this.maxWriteRequestSize = builder.maxWriteRequestSize; + this.readPollTimeout = builder.readPollTimeout; } @@ -110,71 +114,113 @@ public static FollowerIndexParameters of(Function + * API name: {@code max_outstanding_read_requests} */ - public final int maxOutstandingReadRequests() { + @Nullable + public final Long maxOutstandingReadRequests() { return this.maxOutstandingReadRequests; } /** - * Required - API name: {@code max_outstanding_write_requests} + * The maximum number of outstanding write requests on the follower. + *

+ * API name: {@code max_outstanding_write_requests} */ - public final int maxOutstandingWriteRequests() { + @Nullable + public final Integer maxOutstandingWriteRequests() { return this.maxOutstandingWriteRequests; } /** - * Required - API name: {@code max_read_request_operation_count} + * The maximum number of operations to pull per read from the remote cluster. + *

+ * API name: {@code max_read_request_operation_count} */ - public final int maxReadRequestOperationCount() { + @Nullable + public final Integer maxReadRequestOperationCount() { return this.maxReadRequestOperationCount; } /** - * Required - API name: {@code max_read_request_size} + * The maximum size in bytes of per read of a batch of operations pulled from + * the remote cluster. + *

+ * API name: {@code max_read_request_size} */ + @Nullable public final String maxReadRequestSize() { return this.maxReadRequestSize; } /** - * Required - API name: {@code max_retry_delay} + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

+ * API name: {@code max_retry_delay} */ + @Nullable public final Time maxRetryDelay() { return this.maxRetryDelay; } /** - * Required - API name: {@code max_write_buffer_count} + * The maximum number of operations that can be queued for writing. When this + * limit is reached, reads from the remote cluster will be deferred until the + * number of queued operations goes below the limit. + *

+ * API name: {@code max_write_buffer_count} */ - public final int maxWriteBufferCount() { + @Nullable + public final Integer maxWriteBufferCount() { return this.maxWriteBufferCount; } /** - * Required - API name: {@code max_write_buffer_size} + * The maximum total bytes of operations that can be queued for writing. When + * this limit is reached, reads from the remote cluster will be deferred until + * the total bytes of queued operations goes below the limit. + *

+ * API name: {@code max_write_buffer_size} */ + @Nullable public final String maxWriteBufferSize() { return this.maxWriteBufferSize; } /** - * Required - API name: {@code max_write_request_operation_count} + * The maximum number of operations per bulk write request executed on the + * follower. + *

+ * API name: {@code max_write_request_operation_count} */ - public final int maxWriteRequestOperationCount() { + @Nullable + public final Integer maxWriteRequestOperationCount() { return this.maxWriteRequestOperationCount; } /** - * Required - API name: {@code max_write_request_size} + * The maximum total bytes of operations per bulk write request executed on the + * follower. + *

+ * API name: {@code max_write_request_size} */ + @Nullable public final String maxWriteRequestSize() { return this.maxWriteRequestSize; } /** - * Required - API name: {@code read_poll_timeout} + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

+ * API name: {@code read_poll_timeout} */ + @Nullable public final Time readPollTimeout() { return this.readPollTimeout; } @@ -190,35 +236,56 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("max_outstanding_read_requests"); - generator.write(this.maxOutstandingReadRequests); + if (this.maxOutstandingReadRequests != null) { + generator.writeKey("max_outstanding_read_requests"); + generator.write(this.maxOutstandingReadRequests); - generator.writeKey("max_outstanding_write_requests"); - generator.write(this.maxOutstandingWriteRequests); + } + if (this.maxOutstandingWriteRequests != null) { + generator.writeKey("max_outstanding_write_requests"); + generator.write(this.maxOutstandingWriteRequests); - generator.writeKey("max_read_request_operation_count"); - generator.write(this.maxReadRequestOperationCount); + } + if (this.maxReadRequestOperationCount != null) { + generator.writeKey("max_read_request_operation_count"); + generator.write(this.maxReadRequestOperationCount); - generator.writeKey("max_read_request_size"); - generator.write(this.maxReadRequestSize); + } + if (this.maxReadRequestSize != null) { + generator.writeKey("max_read_request_size"); + generator.write(this.maxReadRequestSize); - generator.writeKey("max_retry_delay"); - this.maxRetryDelay.serialize(generator, mapper); + } + if (this.maxRetryDelay != null) { + generator.writeKey("max_retry_delay"); + this.maxRetryDelay.serialize(generator, mapper); - generator.writeKey("max_write_buffer_count"); - generator.write(this.maxWriteBufferCount); + } + if (this.maxWriteBufferCount != null) { + generator.writeKey("max_write_buffer_count"); + generator.write(this.maxWriteBufferCount); - generator.writeKey("max_write_buffer_size"); - generator.write(this.maxWriteBufferSize); + } + if (this.maxWriteBufferSize != null) { + generator.writeKey("max_write_buffer_size"); + generator.write(this.maxWriteBufferSize); - generator.writeKey("max_write_request_operation_count"); - generator.write(this.maxWriteRequestOperationCount); + } + if (this.maxWriteRequestOperationCount != null) { + generator.writeKey("max_write_request_operation_count"); + generator.write(this.maxWriteRequestOperationCount); - generator.writeKey("max_write_request_size"); - generator.write(this.maxWriteRequestSize); + } + if (this.maxWriteRequestSize != null) { + generator.writeKey("max_write_request_size"); + generator.write(this.maxWriteRequestSize); - generator.writeKey("read_poll_timeout"); - this.readPollTimeout.serialize(generator, mapper); + } + if (this.readPollTimeout != null) { + generator.writeKey("read_poll_timeout"); + this.readPollTimeout.serialize(generator, mapper); + + } } @@ -236,115 +303,166 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Integer maxOutstandingReadRequests; + @Nullable + private Long maxOutstandingReadRequests; + @Nullable private Integer maxOutstandingWriteRequests; + @Nullable private Integer maxReadRequestOperationCount; + @Nullable private String maxReadRequestSize; + @Nullable private Time maxRetryDelay; + @Nullable private Integer maxWriteBufferCount; + @Nullable private String maxWriteBufferSize; + @Nullable private Integer maxWriteRequestOperationCount; + @Nullable private String maxWriteRequestSize; + @Nullable private Time readPollTimeout; /** - * Required - API name: {@code max_outstanding_read_requests} + * The maximum number of outstanding reads requests from the remote cluster. + *

+ * API name: {@code max_outstanding_read_requests} */ - public final Builder maxOutstandingReadRequests(int value) { + public final Builder maxOutstandingReadRequests(@Nullable Long value) { this.maxOutstandingReadRequests = value; return this; } /** - * Required - API name: {@code max_outstanding_write_requests} + * The maximum number of outstanding write requests on the follower. + *

+ * API name: {@code max_outstanding_write_requests} */ - public final Builder maxOutstandingWriteRequests(int value) { + public final Builder maxOutstandingWriteRequests(@Nullable Integer value) { this.maxOutstandingWriteRequests = value; return this; } /** - * Required - API name: {@code max_read_request_operation_count} + * The maximum number of operations to pull per read from the remote cluster. + *

+ * API name: {@code max_read_request_operation_count} */ - public final Builder maxReadRequestOperationCount(int value) { + public final Builder maxReadRequestOperationCount(@Nullable Integer value) { this.maxReadRequestOperationCount = value; return this; } /** - * Required - API name: {@code max_read_request_size} + * The maximum size in bytes of per read of a batch of operations pulled from + * the remote cluster. + *

+ * API name: {@code max_read_request_size} */ - public final Builder maxReadRequestSize(String value) { + public final Builder maxReadRequestSize(@Nullable String value) { this.maxReadRequestSize = value; return this; } /** - * Required - API name: {@code max_retry_delay} + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

+ * API name: {@code max_retry_delay} */ - public final Builder maxRetryDelay(Time value) { + public final Builder maxRetryDelay(@Nullable Time value) { this.maxRetryDelay = value; return this; } /** - * Required - API name: {@code max_retry_delay} + * The maximum time to wait before retrying an operation that failed + * exceptionally. An exponential backoff strategy is employed when retrying. + *

+ * API name: {@code max_retry_delay} */ public final Builder maxRetryDelay(Function> fn) { return this.maxRetryDelay(fn.apply(new Time.Builder()).build()); } /** - * Required - API name: {@code max_write_buffer_count} + * The maximum number of operations that can be queued for writing. When this + * limit is reached, reads from the remote cluster will be deferred until the + * number of queued operations goes below the limit. + *

+ * API name: {@code max_write_buffer_count} */ - public final Builder maxWriteBufferCount(int value) { + public final Builder maxWriteBufferCount(@Nullable Integer value) { this.maxWriteBufferCount = value; return this; } /** - * Required - API name: {@code max_write_buffer_size} + * The maximum total bytes of operations that can be queued for writing. When + * this limit is reached, reads from the remote cluster will be deferred until + * the total bytes of queued operations goes below the limit. + *

+ * API name: {@code max_write_buffer_size} */ - public final Builder maxWriteBufferSize(String value) { + public final Builder maxWriteBufferSize(@Nullable String value) { this.maxWriteBufferSize = value; return this; } /** - * Required - API name: {@code max_write_request_operation_count} + * The maximum number of operations per bulk write request executed on the + * follower. + *

+ * API name: {@code max_write_request_operation_count} */ - public final Builder maxWriteRequestOperationCount(int value) { + public final Builder maxWriteRequestOperationCount(@Nullable Integer value) { this.maxWriteRequestOperationCount = value; return this; } /** - * Required - API name: {@code max_write_request_size} + * The maximum total bytes of operations per bulk write request executed on the + * follower. + *

+ * API name: {@code max_write_request_size} */ - public final Builder maxWriteRequestSize(String value) { + public final Builder maxWriteRequestSize(@Nullable String value) { this.maxWriteRequestSize = value; return this; } /** - * Required - API name: {@code read_poll_timeout} + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

+ * API name: {@code read_poll_timeout} */ - public final Builder readPollTimeout(Time value) { + public final Builder readPollTimeout(@Nullable Time value) { this.readPollTimeout = value; return this; } /** - * Required - API name: {@code read_poll_timeout} + * The maximum time to wait for new operations on the remote cluster when the + * follower index is synchronized with the leader index. When the timeout has + * elapsed, the poll for operations will return to the follower so that it can + * update some statistics. Then the follower will immediately attempt to read + * from the leader again. + *

+ * API name: {@code read_poll_timeout} */ public final Builder readPollTimeout(Function> fn) { return this.readPollTimeout(fn.apply(new Time.Builder()).build()); @@ -379,7 +497,7 @@ public FollowerIndexParameters build() { protected static void setupFollowerIndexParametersDeserializer( ObjectDeserializer op) { - op.add(Builder::maxOutstandingReadRequests, JsonpDeserializer.integerDeserializer(), + op.add(Builder::maxOutstandingReadRequests, JsonpDeserializer.longDeserializer(), "max_outstanding_read_requests"); op.add(Builder::maxOutstandingWriteRequests, JsonpDeserializer.integerDeserializer(), "max_outstanding_write_requests"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInRequest.java index fc5fa4085..37129a044 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInRequest.java @@ -56,8 +56,10 @@ // typedef: connector.check_in.Request /** - * Updates the last_seen field in the connector, and sets it to current - * timestamp + * Check in a connector. + *

+ * Update the last_seen field in the connector and set it to the + * current timestamp. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorRequest.java index 9cb231331..87f611963 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorRequest.java @@ -56,7 +56,12 @@ // typedef: connector.delete.Request /** - * Deletes a connector. + * Delete a connector. + *

+ * Removes a connector and associated sync jobs. This is a destructive action + * that is not recoverable. NOTE: This action doesn’t delete any API keys, + * ingest pipelines, or data indices associated with the connector. These need + * to be removed manually. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java index ab6858744..c2a20fd8d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java @@ -70,8 +70,10 @@ public ElasticsearchConnectorAsyncClient withTransportOptions(@Nullable Transpor // ----- Endpoint: connector.check_in /** - * Updates the last_seen field in the connector, and sets it to current - * timestamp + * Check in a connector. + *

+ * Update the last_seen field in the connector and set it to the + * current timestamp. * * @see Documentation @@ -86,8 +88,10 @@ public CompletableFuture checkIn(CheckInRequest request) { } /** - * Updates the last_seen field in the connector, and sets it to current - * timestamp + * Check in a connector. + *

+ * Update the last_seen field in the connector and set it to the + * current timestamp. * * @param fn * a function that initializes a builder to create the @@ -105,7 +109,12 @@ public final CompletableFuture checkIn( // ----- Endpoint: connector.delete /** - * Deletes a connector. + * Delete a connector. + *

+ * Removes a connector and associated sync jobs. This is a destructive action + * that is not recoverable. NOTE: This action doesn’t delete any API keys, + * ingest pipelines, or data indices associated with the connector. These need + * to be removed manually. * * @see Documentation @@ -120,7 +129,12 @@ public CompletableFuture delete(DeleteConnectorRequest } /** - * Deletes a connector. + * Delete a connector. + *

+ * Removes a connector and associated sync jobs. This is a destructive action + * that is not recoverable. NOTE: This action doesn’t delete any API keys, + * ingest pipelines, or data indices associated with the connector. These need + * to be removed manually. * * @param fn * a function that initializes a builder to create the @@ -138,7 +152,9 @@ public final CompletableFuture delete( // ----- Endpoint: connector.get /** - * Retrieves a connector. + * Get a connector. + *

+ * Get the details about a connector. * * @see Documentation @@ -153,7 +169,9 @@ public CompletableFuture get(GetConnectorRequest request) } /** - * Retrieves a connector. + * Get a connector. + *

+ * Get the details about a connector. * * @param fn * a function that initializes a builder to create the @@ -171,7 +189,9 @@ public final CompletableFuture get( // ----- Endpoint: connector.list /** - * Returns existing connectors. + * Get all connectors. + *

+ * Get information about all connectors. * * @see Documentation @@ -186,7 +206,9 @@ public CompletableFuture list(ListRequest request) { } /** - * Returns existing connectors. + * Get all connectors. + *

+ * Get information about all connectors. * * @param fn * a function that initializes a builder to create the @@ -201,7 +223,9 @@ public final CompletableFuture list(Function + * Get information about all connectors. * * @see Documentation @@ -216,7 +240,13 @@ public CompletableFuture list() { // ----- Endpoint: connector.post /** - * Creates a connector. + * Create a connector. + *

+ * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @see Documentation @@ -231,7 +261,13 @@ public CompletableFuture post(PostRequest request) { } /** - * Creates a connector. + * Create a connector. + *

+ * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @param fn * a function that initializes a builder to create the @@ -246,7 +282,13 @@ public final CompletableFuture post(Function + * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @see Documentation @@ -261,7 +303,7 @@ public CompletableFuture post() { // ----- Endpoint: connector.put /** - * Creates or updates a connector. + * Create or update a connector. * * @see Documentation @@ -276,7 +318,7 @@ public CompletableFuture put(PutRequest request) { } /** - * Creates or updates a connector. + * Create or update a connector. * * @param fn * a function that initializes a builder to create the @@ -291,7 +333,7 @@ public final CompletableFuture put(FunctionDocumentation @@ -306,7 +348,12 @@ public CompletableFuture put() { // ----- Endpoint: connector.sync_job_cancel /** - * Cancels a connector sync job. + * Cancel a connector sync job. + *

+ * Cancel a connector sync job, which sets the status to cancelling and updates + * cancellation_requested_at to the current time. The connector + * service is then responsible for setting the status of connector sync jobs to + * cancelled. * * @see Documentation @@ -321,7 +368,12 @@ public CompletableFuture syncJobCancel(SyncJobCancelReque } /** - * Cancels a connector sync job. + * Cancel a connector sync job. + *

+ * Cancel a connector sync job, which sets the status to cancelling and updates + * cancellation_requested_at to the current time. The connector + * service is then responsible for setting the status of connector sync jobs to + * cancelled. * * @param fn * a function that initializes a builder to create the @@ -339,7 +391,10 @@ public final CompletableFuture syncJobCancel( // ----- Endpoint: connector.sync_job_delete /** - * Deletes a connector sync job. + * Delete a connector sync job. + *

+ * Remove a connector sync job and its associated data. This is a destructive + * action that is not recoverable. * * @see Documentation @@ -354,7 +409,10 @@ public CompletableFuture syncJobDelete(SyncJobDeleteReque } /** - * Deletes a connector sync job. + * Delete a connector sync job. + *

+ * Remove a connector sync job and its associated data. This is a destructive + * action that is not recoverable. * * @param fn * a function that initializes a builder to create the @@ -372,7 +430,7 @@ public final CompletableFuture syncJobDelete( // ----- Endpoint: connector.sync_job_get /** - * Retrieves a connector sync job. + * Get a connector sync job. * * @see Documentation @@ -387,7 +445,7 @@ public CompletableFuture syncJobGet(SyncJobGetRequest reques } /** - * Retrieves a connector sync job. + * Get a connector sync job. * * @param fn * a function that initializes a builder to create the @@ -405,7 +463,10 @@ public final CompletableFuture syncJobGet( // ----- Endpoint: connector.sync_job_list /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @see Documentation @@ -420,7 +481,10 @@ public CompletableFuture syncJobList(SyncJobListRequest req } /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @param fn * a function that initializes a builder to create the @@ -436,7 +500,10 @@ public final CompletableFuture syncJobList( } /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @see Documentation @@ -451,7 +518,10 @@ public CompletableFuture syncJobList() { // ----- Endpoint: connector.sync_job_post /** - * Creates a connector sync job. + * Create a connector sync job. + *

+ * Create a connector sync job document in the internal index and initialize its + * counters and timestamps with default values. * * @see Documentation @@ -466,7 +536,10 @@ public CompletableFuture syncJobPost(SyncJobPostRequest req } /** - * Creates a connector sync job. + * Create a connector sync job. + *

+ * Create a connector sync job document in the internal index and initialize its + * counters and timestamps with default values. * * @param fn * a function that initializes a builder to create the @@ -484,6 +557,8 @@ public final CompletableFuture syncJobPost( // ----- Endpoint: connector.update_active_filtering /** + * Activate the connector draft filter. + *

* Activates the valid draft filtering for a connector. * * @see updateActiveFiltering( } /** + * Activate the connector draft filter. + *

* Activates the valid draft filtering for a connector. * * @param fn @@ -518,7 +595,13 @@ public final CompletableFuture updateActiveFilter // ----- Endpoint: connector.update_api_key_id /** - * Updates the API key id in the connector document + * Update the connector API key ID. + *

+ * Update the api_key_id and api_key_secret_id fields + * of a connector. You can specify the ID of the API key used for authorization + * and the ID of the connector secret where the API key is stored. The connector + * secret ID is required only for Elastic managed (native) connectors. + * Self-managed connectors (connector clients) do not use this field. * * @see Documentation @@ -533,7 +616,13 @@ public CompletableFuture updateApiKeyId(UpdateApiKeyIdRe } /** - * Updates the API key id in the connector document + * Update the connector API key ID. + *

+ * Update the api_key_id and api_key_secret_id fields + * of a connector. You can specify the ID of the API key used for authorization + * and the ID of the connector secret where the API key is stored. The connector + * secret ID is required only for Elastic managed (native) connectors. + * Self-managed connectors (connector clients) do not use this field. * * @param fn * a function that initializes a builder to create the @@ -551,7 +640,9 @@ public final CompletableFuture updateApiKeyId( // ----- Endpoint: connector.update_configuration /** - * Updates the configuration field in the connector document + * Update the connector configuration. + *

+ * Update the configuration field in the connector document. * * @see Documentation @@ -566,7 +657,9 @@ public CompletableFuture updateConfiguration(Update } /** - * Updates the configuration field in the connector document + * Update the connector configuration. + *

+ * Update the configuration field in the connector document. * * @param fn * a function that initializes a builder to create the @@ -584,7 +677,11 @@ public final CompletableFuture updateConfiguration( // ----- Endpoint: connector.update_error /** - * Updates the filtering field in the connector document + * Update the connector error field. + *

+ * Set the error field for the connector. If the error provided in the request + * body is non-null, the connector’s status is updated to error. Otherwise, if + * the error is reset to null, the connector status is updated to connected. * * @see Documentation @@ -599,7 +696,11 @@ public CompletableFuture updateError(UpdateErrorRequest req } /** - * Updates the filtering field in the connector document + * Update the connector error field. + *

+ * Set the error field for the connector. If the error provided in the request + * body is non-null, the connector’s status is updated to error. Otherwise, if + * the error is reset to null, the connector status is updated to connected. * * @param fn * a function that initializes a builder to create the @@ -617,7 +718,12 @@ public final CompletableFuture updateError( // ----- Endpoint: connector.update_filtering /** - * Updates the filtering field in the connector document + * Update the connector filtering. + *

+ * Update the draft filtering configuration of a connector and marks the draft + * validation state as edited. The filtering draft is activated once validated + * by the running Elastic connector service. The filtering property is used to + * configure sync rules (both basic and advanced) for a connector. * * @see Documentation @@ -632,7 +738,12 @@ public CompletableFuture updateFiltering(UpdateFilterin } /** - * Updates the filtering field in the connector document + * Update the connector filtering. + *

+ * Update the draft filtering configuration of a connector and marks the draft + * validation state as edited. The filtering draft is activated once validated + * by the running Elastic connector service. The filtering property is used to + * configure sync rules (both basic and advanced) for a connector. * * @param fn * a function that initializes a builder to create the @@ -650,7 +761,9 @@ public final CompletableFuture updateFiltering( // ----- Endpoint: connector.update_filtering_validation /** - * Updates the draft filtering validation info for a connector. + * Update the connector draft filtering validation. + *

+ * Update the draft filtering validation info for a connector. * * @see Documentation @@ -666,7 +779,9 @@ public CompletableFuture updateFilteringValid } /** - * Updates the draft filtering validation info for a connector. + * Update the connector draft filtering validation. + *

+ * Update the draft filtering validation info for a connector. * * @param fn * a function that initializes a builder to create the @@ -684,7 +799,10 @@ public final CompletableFuture updateFilterin // ----- Endpoint: connector.update_index_name /** - * Updates the index_name in the connector document + * Update the connector index name. + *

+ * Update the index_name field of a connector, specifying the index + * where the data ingested by the connector is stored. * * @see Documentation @@ -699,7 +817,10 @@ public CompletableFuture updateIndexName(UpdateIndexNam } /** - * Updates the index_name in the connector document + * Update the connector index name. + *

+ * Update the index_name field of a connector, specifying the index + * where the data ingested by the connector is stored. * * @param fn * a function that initializes a builder to create the @@ -717,7 +838,7 @@ public final CompletableFuture updateIndexName( // ----- Endpoint: connector.update_name /** - * Updates the name and description fields in the connector document + * Update the connector name and description. * * @see Documentation @@ -732,7 +853,7 @@ public CompletableFuture updateName(UpdateNameRequest reques } /** - * Updates the name and description fields in the connector document + * Update the connector name and description. * * @param fn * a function that initializes a builder to create the @@ -750,7 +871,7 @@ public final CompletableFuture updateName( // ----- Endpoint: connector.update_native /** - * Updates the is_native flag in the connector document + * Update the connector is_native flag. * * @see Documentation @@ -765,7 +886,7 @@ public CompletableFuture updateNative(UpdateNativeRequest } /** - * Updates the is_native flag in the connector document + * Update the connector is_native flag. * * @param fn * a function that initializes a builder to create the @@ -783,7 +904,10 @@ public final CompletableFuture updateNative( // ----- Endpoint: connector.update_pipeline /** - * Updates the pipeline field in the connector document + * Update the connector pipeline. + *

+ * When you create a new connector, the configuration of an ingest pipeline is + * populated with default settings. * * @see Documentation @@ -798,7 +922,10 @@ public CompletableFuture updatePipeline(UpdatePipelineRe } /** - * Updates the pipeline field in the connector document + * Update the connector pipeline. + *

+ * When you create a new connector, the configuration of an ingest pipeline is + * populated with default settings. * * @param fn * a function that initializes a builder to create the @@ -816,7 +943,7 @@ public final CompletableFuture updatePipeline( // ----- Endpoint: connector.update_scheduling /** - * Updates the scheduling field in the connector document + * Update the connector scheduling. * * @see Documentation @@ -831,7 +958,7 @@ public CompletableFuture updateScheduling(UpdateSchedu } /** - * Updates the scheduling field in the connector document + * Update the connector scheduling. * * @param fn * a function that initializes a builder to create the @@ -849,7 +976,7 @@ public final CompletableFuture updateScheduling( // ----- Endpoint: connector.update_service_type /** - * Updates the service type of the connector + * Update the connector service type. * * @see Documentation @@ -864,7 +991,7 @@ public CompletableFuture updateServiceType(UpdateServ } /** - * Updates the service type of the connector + * Update the connector service type. * * @param fn * a function that initializes a builder to create the @@ -882,7 +1009,7 @@ public final CompletableFuture updateServiceType( // ----- Endpoint: connector.update_status /** - * Updates the status of the connector + * Update the connector status. * * @see Documentation @@ -897,7 +1024,7 @@ public CompletableFuture updateStatus(UpdateStatusRequest } /** - * Updates the status of the connector + * Update the connector status. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java index 99ba0c1d9..6b22ccdd3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java @@ -68,8 +68,10 @@ public ElasticsearchConnectorClient withTransportOptions(@Nullable TransportOpti // ----- Endpoint: connector.check_in /** - * Updates the last_seen field in the connector, and sets it to current - * timestamp + * Check in a connector. + *

+ * Update the last_seen field in the connector and set it to the + * current timestamp. * * @see Documentation @@ -84,8 +86,10 @@ public CheckInResponse checkIn(CheckInRequest request) throws IOException, Elast } /** - * Updates the last_seen field in the connector, and sets it to current - * timestamp + * Check in a connector. + *

+ * Update the last_seen field in the connector and set it to the + * current timestamp. * * @param fn * a function that initializes a builder to create the @@ -103,7 +107,12 @@ public final CheckInResponse checkIn(Function + * Removes a connector and associated sync jobs. This is a destructive action + * that is not recoverable. NOTE: This action doesn’t delete any API keys, + * ingest pipelines, or data indices associated with the connector. These need + * to be removed manually. * * @see Documentation @@ -118,7 +127,12 @@ public DeleteConnectorResponse delete(DeleteConnectorRequest request) throws IOE } /** - * Deletes a connector. + * Delete a connector. + *

+ * Removes a connector and associated sync jobs. This is a destructive action + * that is not recoverable. NOTE: This action doesn’t delete any API keys, + * ingest pipelines, or data indices associated with the connector. These need + * to be removed manually. * * @param fn * a function that initializes a builder to create the @@ -137,7 +151,9 @@ public final DeleteConnectorResponse delete( // ----- Endpoint: connector.get /** - * Retrieves a connector. + * Get a connector. + *

+ * Get the details about a connector. * * @see Documentation @@ -152,7 +168,9 @@ public GetConnectorResponse get(GetConnectorRequest request) throws IOException, } /** - * Retrieves a connector. + * Get a connector. + *

+ * Get the details about a connector. * * @param fn * a function that initializes a builder to create the @@ -170,7 +188,9 @@ public final GetConnectorResponse get(Function + * Get information about all connectors. * * @see Documentation @@ -185,7 +205,9 @@ public ListResponse list(ListRequest request) throws IOException, ElasticsearchE } /** - * Returns existing connectors. + * Get all connectors. + *

+ * Get information about all connectors. * * @param fn * a function that initializes a builder to create the @@ -201,7 +223,9 @@ public final ListResponse list(Function + * Get information about all connectors. * * @see Documentation @@ -216,7 +240,13 @@ public ListResponse list() throws IOException, ElasticsearchException { // ----- Endpoint: connector.post /** - * Creates a connector. + * Create a connector. + *

+ * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @see Documentation @@ -231,7 +261,13 @@ public PostResponse post(PostRequest request) throws IOException, ElasticsearchE } /** - * Creates a connector. + * Create a connector. + *

+ * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @param fn * a function that initializes a builder to create the @@ -247,7 +283,13 @@ public final PostResponse post(Function + * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @see Documentation @@ -262,7 +304,7 @@ public PostResponse post() throws IOException, ElasticsearchException { // ----- Endpoint: connector.put /** - * Creates or updates a connector. + * Create or update a connector. * * @see Documentation @@ -277,7 +319,7 @@ public PutResponse put(PutRequest request) throws IOException, ElasticsearchExce } /** - * Creates or updates a connector. + * Create or update a connector. * * @param fn * a function that initializes a builder to create the @@ -293,7 +335,7 @@ public final PutResponse put(FunctionDocumentation @@ -308,7 +350,12 @@ public PutResponse put() throws IOException, ElasticsearchException { // ----- Endpoint: connector.sync_job_cancel /** - * Cancels a connector sync job. + * Cancel a connector sync job. + *

+ * Cancel a connector sync job, which sets the status to cancelling and updates + * cancellation_requested_at to the current time. The connector + * service is then responsible for setting the status of connector sync jobs to + * cancelled. * * @see Documentation @@ -324,7 +371,12 @@ public SyncJobCancelResponse syncJobCancel(SyncJobCancelRequest request) } /** - * Cancels a connector sync job. + * Cancel a connector sync job. + *

+ * Cancel a connector sync job, which sets the status to cancelling and updates + * cancellation_requested_at to the current time. The connector + * service is then responsible for setting the status of connector sync jobs to + * cancelled. * * @param fn * a function that initializes a builder to create the @@ -343,7 +395,10 @@ public final SyncJobCancelResponse syncJobCancel( // ----- Endpoint: connector.sync_job_delete /** - * Deletes a connector sync job. + * Delete a connector sync job. + *

+ * Remove a connector sync job and its associated data. This is a destructive + * action that is not recoverable. * * @see Documentation @@ -359,7 +414,10 @@ public SyncJobDeleteResponse syncJobDelete(SyncJobDeleteRequest request) } /** - * Deletes a connector sync job. + * Delete a connector sync job. + *

+ * Remove a connector sync job and its associated data. This is a destructive + * action that is not recoverable. * * @param fn * a function that initializes a builder to create the @@ -378,7 +436,7 @@ public final SyncJobDeleteResponse syncJobDelete( // ----- Endpoint: connector.sync_job_get /** - * Retrieves a connector sync job. + * Get a connector sync job. * * @see Documentation @@ -393,7 +451,7 @@ public SyncJobGetResponse syncJobGet(SyncJobGetRequest request) throws IOExcepti } /** - * Retrieves a connector sync job. + * Get a connector sync job. * * @param fn * a function that initializes a builder to create the @@ -411,7 +469,10 @@ public final SyncJobGetResponse syncJobGet(Function + * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @see Documentation @@ -426,7 +487,10 @@ public SyncJobListResponse syncJobList(SyncJobListRequest request) throws IOExce } /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @param fn * a function that initializes a builder to create the @@ -443,7 +507,10 @@ public final SyncJobListResponse syncJobList( } /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @see Documentation @@ -458,7 +525,10 @@ public SyncJobListResponse syncJobList() throws IOException, ElasticsearchExcept // ----- Endpoint: connector.sync_job_post /** - * Creates a connector sync job. + * Create a connector sync job. + *

+ * Create a connector sync job document in the internal index and initialize its + * counters and timestamps with default values. * * @see Documentation @@ -473,7 +543,10 @@ public SyncJobPostResponse syncJobPost(SyncJobPostRequest request) throws IOExce } /** - * Creates a connector sync job. + * Create a connector sync job. + *

+ * Create a connector sync job document in the internal index and initialize its + * counters and timestamps with default values. * * @param fn * a function that initializes a builder to create the @@ -492,6 +565,8 @@ public final SyncJobPostResponse syncJobPost( // ----- Endpoint: connector.update_active_filtering /** + * Activate the connector draft filter. + *

* Activates the valid draft filtering for a connector. * * @see * Activates the valid draft filtering for a connector. * * @param fn @@ -527,7 +604,13 @@ public final UpdateActiveFilteringResponse updateActiveFiltering( // ----- Endpoint: connector.update_api_key_id /** - * Updates the API key id in the connector document + * Update the connector API key ID. + *

+ * Update the api_key_id and api_key_secret_id fields + * of a connector. You can specify the ID of the API key used for authorization + * and the ID of the connector secret where the API key is stored. The connector + * secret ID is required only for Elastic managed (native) connectors. + * Self-managed connectors (connector clients) do not use this field. * * @see Documentation @@ -543,7 +626,13 @@ public UpdateApiKeyIdResponse updateApiKeyId(UpdateApiKeyIdRequest request) } /** - * Updates the API key id in the connector document + * Update the connector API key ID. + *

+ * Update the api_key_id and api_key_secret_id fields + * of a connector. You can specify the ID of the API key used for authorization + * and the ID of the connector secret where the API key is stored. The connector + * secret ID is required only for Elastic managed (native) connectors. + * Self-managed connectors (connector clients) do not use this field. * * @param fn * a function that initializes a builder to create the @@ -562,7 +651,9 @@ public final UpdateApiKeyIdResponse updateApiKeyId( // ----- Endpoint: connector.update_configuration /** - * Updates the configuration field in the connector document + * Update the connector configuration. + *

+ * Update the configuration field in the connector document. * * @see Documentation @@ -578,7 +669,9 @@ public UpdateConfigurationResponse updateConfiguration(UpdateConfigurationReques } /** - * Updates the configuration field in the connector document + * Update the connector configuration. + *

+ * Update the configuration field in the connector document. * * @param fn * a function that initializes a builder to create the @@ -597,7 +690,11 @@ public final UpdateConfigurationResponse updateConfiguration( // ----- Endpoint: connector.update_error /** - * Updates the filtering field in the connector document + * Update the connector error field. + *

+ * Set the error field for the connector. If the error provided in the request + * body is non-null, the connector’s status is updated to error. Otherwise, if + * the error is reset to null, the connector status is updated to connected. * * @see Documentation @@ -612,7 +709,11 @@ public UpdateErrorResponse updateError(UpdateErrorRequest request) throws IOExce } /** - * Updates the filtering field in the connector document + * Update the connector error field. + *

+ * Set the error field for the connector. If the error provided in the request + * body is non-null, the connector’s status is updated to error. Otherwise, if + * the error is reset to null, the connector status is updated to connected. * * @param fn * a function that initializes a builder to create the @@ -631,7 +732,12 @@ public final UpdateErrorResponse updateError( // ----- Endpoint: connector.update_filtering /** - * Updates the filtering field in the connector document + * Update the connector filtering. + *

+ * Update the draft filtering configuration of a connector and marks the draft + * validation state as edited. The filtering draft is activated once validated + * by the running Elastic connector service. The filtering property is used to + * configure sync rules (both basic and advanced) for a connector. * * @see Documentation @@ -647,7 +753,12 @@ public UpdateFilteringResponse updateFiltering(UpdateFilteringRequest request) } /** - * Updates the filtering field in the connector document + * Update the connector filtering. + *

+ * Update the draft filtering configuration of a connector and marks the draft + * validation state as edited. The filtering draft is activated once validated + * by the running Elastic connector service. The filtering property is used to + * configure sync rules (both basic and advanced) for a connector. * * @param fn * a function that initializes a builder to create the @@ -666,7 +777,9 @@ public final UpdateFilteringResponse updateFiltering( // ----- Endpoint: connector.update_filtering_validation /** - * Updates the draft filtering validation info for a connector. + * Update the connector draft filtering validation. + *

+ * Update the draft filtering validation info for a connector. * * @see Documentation @@ -682,7 +795,9 @@ public UpdateFilteringValidationResponse updateFilteringValidation(UpdateFilteri } /** - * Updates the draft filtering validation info for a connector. + * Update the connector draft filtering validation. + *

+ * Update the draft filtering validation info for a connector. * * @param fn * a function that initializes a builder to create the @@ -701,7 +816,10 @@ public final UpdateFilteringValidationResponse updateFilteringValidation( // ----- Endpoint: connector.update_index_name /** - * Updates the index_name in the connector document + * Update the connector index name. + *

+ * Update the index_name field of a connector, specifying the index + * where the data ingested by the connector is stored. * * @see Documentation @@ -717,7 +835,10 @@ public UpdateIndexNameResponse updateIndexName(UpdateIndexNameRequest request) } /** - * Updates the index_name in the connector document + * Update the connector index name. + *

+ * Update the index_name field of a connector, specifying the index + * where the data ingested by the connector is stored. * * @param fn * a function that initializes a builder to create the @@ -736,7 +857,7 @@ public final UpdateIndexNameResponse updateIndexName( // ----- Endpoint: connector.update_name /** - * Updates the name and description fields in the connector document + * Update the connector name and description. * * @see Documentation @@ -751,7 +872,7 @@ public UpdateNameResponse updateName(UpdateNameRequest request) throws IOExcepti } /** - * Updates the name and description fields in the connector document + * Update the connector name and description. * * @param fn * a function that initializes a builder to create the @@ -769,7 +890,7 @@ public final UpdateNameResponse updateName(FunctionDocumentation @@ -784,7 +905,7 @@ public UpdateNativeResponse updateNative(UpdateNativeRequest request) throws IOE } /** - * Updates the is_native flag in the connector document + * Update the connector is_native flag. * * @param fn * a function that initializes a builder to create the @@ -803,7 +924,10 @@ public final UpdateNativeResponse updateNative( // ----- Endpoint: connector.update_pipeline /** - * Updates the pipeline field in the connector document + * Update the connector pipeline. + *

+ * When you create a new connector, the configuration of an ingest pipeline is + * populated with default settings. * * @see Documentation @@ -819,7 +943,10 @@ public UpdatePipelineResponse updatePipeline(UpdatePipelineRequest request) } /** - * Updates the pipeline field in the connector document + * Update the connector pipeline. + *

+ * When you create a new connector, the configuration of an ingest pipeline is + * populated with default settings. * * @param fn * a function that initializes a builder to create the @@ -838,7 +965,7 @@ public final UpdatePipelineResponse updatePipeline( // ----- Endpoint: connector.update_scheduling /** - * Updates the scheduling field in the connector document + * Update the connector scheduling. * * @see Documentation @@ -854,7 +981,7 @@ public UpdateSchedulingResponse updateScheduling(UpdateSchedulingRequest request } /** - * Updates the scheduling field in the connector document + * Update the connector scheduling. * * @param fn * a function that initializes a builder to create the @@ -873,7 +1000,7 @@ public final UpdateSchedulingResponse updateScheduling( // ----- Endpoint: connector.update_service_type /** - * Updates the service type of the connector + * Update the connector service type. * * @see Documentation @@ -889,7 +1016,7 @@ public UpdateServiceTypeResponse updateServiceType(UpdateServiceTypeRequest requ } /** - * Updates the service type of the connector + * Update the connector service type. * * @param fn * a function that initializes a builder to create the @@ -908,7 +1035,7 @@ public final UpdateServiceTypeResponse updateServiceType( // ----- Endpoint: connector.update_status /** - * Updates the status of the connector + * Update the connector status. * * @see Documentation @@ -923,7 +1050,7 @@ public UpdateStatusResponse updateStatus(UpdateStatusRequest request) throws IOE } /** - * Updates the status of the connector + * Update the connector status. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringAdvancedSnippet.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringAdvancedSnippet.java index a36839618..a6da3d5c1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringAdvancedSnippet.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringAdvancedSnippet.java @@ -32,8 +32,6 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -69,7 +67,7 @@ public class FilteringAdvancedSnippet implements JsonpSerializable { @Nullable private final DateTime updatedAt; - private final Map value; + private final JsonData value; // --------------------------------------------------------------------------------------------- @@ -77,7 +75,7 @@ private FilteringAdvancedSnippet(Builder builder) { this.createdAt = builder.createdAt; this.updatedAt = builder.updatedAt; - this.value = ApiTypeHelper.unmodifiableRequired(builder.value, this, "value"); + this.value = ApiTypeHelper.requireNonNull(builder.value, this, "value"); } @@ -104,7 +102,7 @@ public final DateTime updatedAt() { /** * Required - API name: {@code value} */ - public final Map value() { + public final JsonData value() { return this.value; } @@ -127,17 +125,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("updated_at"); this.updatedAt.serialize(generator, mapper); } - if (ApiTypeHelper.isDefined(this.value)) { - generator.writeKey("value"); - generator.writeStartObject(); - for (Map.Entry item0 : this.value.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } + generator.writeKey("value"); + this.value.serialize(generator, mapper); } @@ -161,7 +150,7 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private DateTime updatedAt; - private Map value; + private JsonData value; /** * API name: {@code created_at} @@ -181,21 +170,9 @@ public final Builder updatedAt(@Nullable DateTime value) { /** * Required - API name: {@code value} - *

- * Adds all entries of map to value. - */ - public final Builder value(Map map) { - this.value = _mapPutAll(this.value, map); - return this; - } - - /** - * Required - API name: {@code value} - *

- * Adds an entry to value. */ - public final Builder value(String key, JsonData value) { - this.value = _mapPut(this.value, key, value); + public final Builder value(JsonData value) { + this.value = value; return this; } @@ -230,7 +207,7 @@ protected static void setupFilteringAdvancedSnippetDeserializer( op.add(Builder::createdAt, DateTime._DESERIALIZER, "created_at"); op.add(Builder::updatedAt, DateTime._DESERIALIZER, "updated_at"); - op.add(Builder::value, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "value"); + op.add(Builder::value, JsonData._DESERIALIZER, "value"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorRequest.java index 9d9cd9328..400a33927 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorRequest.java @@ -56,7 +56,9 @@ // typedef: connector.get.Request /** - * Retrieves a connector. + * Get a connector. + *

+ * Get the details about a connector. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ListRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ListRequest.java index c290e19f7..439c4094d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ListRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/ListRequest.java @@ -59,7 +59,9 @@ // typedef: connector.list.Request /** - * Returns existing connectors. + * Get all connectors. + *

+ * Get information about all connectors. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PostRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PostRequest.java index 2f34ed80d..962e1cf70 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PostRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PostRequest.java @@ -56,7 +56,13 @@ // typedef: connector.post.Request /** - * Creates a connector. + * Create a connector. + *

+ * Connectors are Elasticsearch integrations that bring content from third-party + * data sources, which can be deployed on Elastic Cloud or hosted on your own + * infrastructure. Elastic managed connectors (Native connectors) are a managed + * service on Elastic Cloud. Self-managed connectors (Connector clients) are + * self-managed on your infrastructure. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PutRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PutRequest.java index 49ca6b6b2..1739c1daa 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PutRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/PutRequest.java @@ -58,7 +58,7 @@ // typedef: connector.put.Request /** - * Creates or updates a connector. + * Create or update a connector. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelRequest.java index d87926d47..650965a39 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelRequest.java @@ -56,7 +56,12 @@ // typedef: connector.sync_job_cancel.Request /** - * Cancels a connector sync job. + * Cancel a connector sync job. + *

+ * Cancel a connector sync job, which sets the status to cancelling and updates + * cancellation_requested_at to the current time. The connector + * service is then responsible for setting the status of connector sync jobs to + * cancelled. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteRequest.java index 7fabf48c1..c2159eb88 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteRequest.java @@ -56,7 +56,10 @@ // typedef: connector.sync_job_delete.Request /** - * Deletes a connector sync job. + * Delete a connector sync job. + *

+ * Remove a connector sync job and its associated data. This is a destructive + * action that is not recoverable. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetRequest.java index 16bb24995..09502a164 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetRequest.java @@ -56,7 +56,7 @@ // typedef: connector.sync_job_get.Request /** - * Retrieves a connector sync job. + * Get a connector sync job. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListRequest.java index 884e96a94..2333c2e99 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListRequest.java @@ -59,7 +59,10 @@ // typedef: connector.sync_job_list.Request /** - * Lists connector sync jobs. + * Get all connector sync jobs. + *

+ * Get information about all stored connector sync jobs listed by their creation + * date in ascending order. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostRequest.java index 88290cfea..3c9a52218 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostRequest.java @@ -56,7 +56,10 @@ // typedef: connector.sync_job_post.Request /** - * Creates a connector sync job. + * Create a connector sync job. + *

+ * Create a connector sync job document in the internal index and initialize its + * counters and timestamps with default values. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringRequest.java index 518494566..be2006402 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringRequest.java @@ -56,6 +56,8 @@ // typedef: connector.update_active_filtering.Request /** + * Activate the connector draft filter. + *

* Activates the valid draft filtering for a connector. * * @see + * Update the api_key_id and api_key_secret_id fields + * of a connector. You can specify the ID of the API key used for authorization + * and the ID of the connector secret where the API key is stored. The connector + * secret ID is required only for Elastic managed (native) connectors. + * Self-managed connectors (connector clients) do not use this field. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationRequest.java index 0c5965cae..350d1a191 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationRequest.java @@ -59,7 +59,9 @@ // typedef: connector.update_configuration.Request /** - * Updates the configuration field in the connector document + * Update the connector configuration. + *

+ * Update the configuration field in the connector document. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorRequest.java index f4d02d753..94160d95e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorRequest.java @@ -59,7 +59,11 @@ // typedef: connector.update_error.Request /** - * Updates the filtering field in the connector document + * Update the connector error field. + *

+ * Set the error field for the connector. If the error provided in the request + * body is non-null, the connector’s status is updated to error. Otherwise, if + * the error is reset to null, the connector status is updated to connected. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringRequest.java index a3d636dae..d4b38507a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringRequest.java @@ -59,7 +59,12 @@ // typedef: connector.update_filtering.Request /** - * Updates the filtering field in the connector document + * Update the connector filtering. + *

+ * Update the draft filtering configuration of a connector and marks the draft + * validation state as edited. The filtering draft is activated once validated + * by the running Elastic connector service. The filtering property is used to + * configure sync rules (both basic and advanced) for a connector. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationRequest.java index 4c204e883..3744cd701 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationRequest.java @@ -58,7 +58,9 @@ // typedef: connector.update_filtering_validation.Request /** - * Updates the draft filtering validation info for a connector. + * Update the connector draft filtering validation. + *

+ * Update the draft filtering validation info for a connector. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameRequest.java index 42cd58058..b4244c940 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameRequest.java @@ -59,7 +59,10 @@ // typedef: connector.update_index_name.Request /** - * Updates the index_name in the connector document + * Update the connector index name. + *

+ * Update the index_name field of a connector, specifying the index + * where the data ingested by the connector is stored. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameRequest.java index 12c5bf4dd..c446d81c6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameRequest.java @@ -58,7 +58,7 @@ // typedef: connector.update_name.Request /** - * Updates the name and description fields in the connector document + * Update the connector name and description. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeRequest.java index 728a5783b..e3e03e486 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeRequest.java @@ -59,7 +59,7 @@ // typedef: connector.update_native.Request /** - * Updates the is_native flag in the connector document + * Update the connector is_native flag. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineRequest.java index 8c77a6354..adf382880 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineRequest.java @@ -58,7 +58,10 @@ // typedef: connector.update_pipeline.Request /** - * Updates the pipeline field in the connector document + * Update the connector pipeline. + *

+ * When you create a new connector, the configuration of an ingest pipeline is + * populated with default settings. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingRequest.java index 6fc8be6e4..0a5a834b6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingRequest.java @@ -58,7 +58,7 @@ // typedef: connector.update_scheduling.Request /** - * Updates the scheduling field in the connector document + * Update the connector scheduling. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeRequest.java index 9e7c93ee8..58d700966 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeRequest.java @@ -58,7 +58,7 @@ // typedef: connector.update_service_type.Request /** - * Updates the service type of the connector + * Update the connector service type. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusRequest.java index 5f0b7270f..1e3a4c6c2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusRequest.java @@ -58,7 +58,7 @@ // typedef: connector.update_status.Request /** - * Updates the status of the connector + * Update the connector status. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRethrottleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRethrottleRequest.java index 30291fc23..25a44a666 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRethrottleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRethrottleRequest.java @@ -56,8 +56,12 @@ // typedef: _global.delete_by_query_rethrottle.Request /** - * Changes the number of requests per second for a particular Delete By Query - * operation. + * Throttle a delete by query operation. + *

+ * Change the number of requests per second for a particular delete by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptContextRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptContextRequest.java index 1c6081543..b86044ce0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptContextRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptContextRequest.java @@ -50,7 +50,9 @@ // typedef: _global.get_script_context.Request /** - * Returns all script contexts. + * Get script contexts. + *

+ * Get a list of supported script contexts and their methods. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptLanguagesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptLanguagesRequest.java index 759ad87f6..441e8e2b6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptLanguagesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptLanguagesRequest.java @@ -50,7 +50,9 @@ // typedef: _global.get_script_languages.Request /** - * Returns available script types, languages and contexts + * Get script languages. + *

+ * Get a list of available script types, languages, and contexts. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MgetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MgetRequest.java index d220b257d..28297fcd9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MgetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MgetRequest.java @@ -62,7 +62,12 @@ // typedef: _global.mget.Request /** - * Allows to get multiple documents in one request. + * Get multiple documents. + *

+ * Get multiple JSON documents by ID from one or more indices. If you specify an + * index in the request URI, you only need to specify the document IDs in the + * request body. To ensure fast responses, this multi get (mget) API responds + * with partial results if one or more shards fail. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchRequest.java index a73479dbd..5116f9f72 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchRequest.java @@ -66,7 +66,27 @@ // typedef: _global.msearch.Request /** - * Allows to execute several search operations in one request. + * Run multiple searches. + *

+ * The format of the request is similar to the bulk API format and makes use of + * the newline delimited JSON (NDJSON) format. The structure is as follows: + * + *

+ * header\n
+ * body\n
+ * header\n
+ * body\n
+ * 
+ * 
+ *

+ * This structure is specifically optimized to reduce parsing if a specific + * search ends up redirected to another node. + *

+ * IMPORTANT: The final line of data must end with a newline character + * \n. Each newline character may be preceded by a carriage return + * \r. When sending requests to this endpoint the + * Content-Type header should be set to + * application/x-ndjson. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsRequest.java index 3c07cebd5..948d2bd0e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsRequest.java @@ -63,7 +63,13 @@ // typedef: _global.mtermvectors.Request /** - * Returns multiple termvectors in one request. + * Get multiple term vectors. + *

+ * You can specify existing documents by index and ID or provide artificial + * documents in the body of the request. You can specify the index in the + * request body or request URI. The response contains a docs array + * with all the fetched termvectors. Each element has the structure provided by + * the termvectors API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ReindexRethrottleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ReindexRethrottleRequest.java index d8148aa03..24a60f706 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ReindexRethrottleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ReindexRethrottleRequest.java @@ -56,7 +56,9 @@ // typedef: _global.reindex_rethrottle.Request /** - * Copies documents from a source to a destination. + * Throttle a reindex operation. + *

+ * Change the number of requests per second for a particular reindex operation. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ScrollRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ScrollRequest.java index 9a1acc6b4..440f2039b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ScrollRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ScrollRequest.java @@ -57,7 +57,29 @@ // typedef: _global.scroll.Request /** - * Allows to retrieve a large numbers of results from a single search request. + * Run a scrolling search. + *

+ * IMPORTANT: The scroll API is no longer recommend for deep pagination. If you + * need to preserve the index state while paging through more than 10,000 hits, + * use the search_after parameter with a point in time (PIT). + *

+ * The scroll API gets large sets of results from a single scrolling search + * request. To get the necessary scroll ID, submit a search API request that + * includes an argument for the scroll query parameter. The + * scroll parameter indicates how long Elasticsearch should retain + * the search context for the request. The search response returns a scroll ID + * in the _scroll_id response body parameter. You can then use the + * scroll ID with the scroll API to retrieve the next batch of results for the + * request. If the Elasticsearch security features are enabled, the access to + * the results of a specific scroll ID is restricted to the user or API key that + * submitted the search. + *

+ * You can also use the scroll API to specify a new scroll parameter that + * extends or shortens the retention period for the search context. + *

+ * IMPORTANT: Results from a scrolling search reflect the state of the index at + * the time of the initial search request. Subsequent indexing or document + * changes only affect later search and scroll requests. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java index 19e3a9b66..8e9c8adad 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java @@ -62,9 +62,20 @@ // typedef: _global.terms_enum.Request /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. + * Get terms in an index. + *

+ * Discover terms that match a partial string in an index. This "terms + * enum" API is designed for low-latency look-ups used in auto-complete + * scenarios. + *

+ * If the complete property in the response is false, the returned + * terms set may be incomplete and should be treated as approximate. This can + * occur due to a few reasons, such as a request timeout or a node error. + *

+ * NOTE: The terms enum API may return terms from deleted documents. Deleted + * documents are initially only marked as deleted. It is not until their + * segments are merged that documents are actually deleted. Until that happens, + * the terms enum API will return terms from these documents. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRethrottleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRethrottleRequest.java index e7a920fe3..b6ee9aba7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRethrottleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRethrottleRequest.java @@ -56,8 +56,12 @@ // typedef: _global.update_by_query_rethrottle.Request /** - * Changes the number of requests per second for a particular Update By Query - * operation. + * Throttle an update by query operation. + *

+ * Change the number of requests per second for a particular update by query + * operation. Rethrottling that speeds up the query takes effect immediately but + * rethrotting that slows down the query takes effect after completing the + * current batch to prevent scroll timeouts. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/DeleteDanglingIndexRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/DeleteDanglingIndexRequest.java index 8f87222e0..f0995034d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/DeleteDanglingIndexRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/DeleteDanglingIndexRequest.java @@ -57,7 +57,13 @@ // typedef: dangling_indices.delete_dangling_index.Request /** - * Deletes the specified dangling index + * Delete a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see API @@ -91,7 +97,8 @@ public static DeleteDanglingIndexRequest of(Function * API name: {@code accept_data_loss} */ @@ -100,7 +107,8 @@ public final boolean acceptDataLoss() { } /** - * Required - The UUID of the dangling index + * Required - The UUID of the index to delete. Use the get dangling indices API + * to find the UUID. *

* API name: {@code index_uuid} */ @@ -148,7 +156,8 @@ public static class Builder extends RequestBase.AbstractBuilder private Time timeout; /** - * Required - Must be set to true in order to delete the dangling index + * Required - This parameter must be set to true to acknowledge that it will no + * longer be possible to recove data from the dangling index. *

* API name: {@code accept_data_loss} */ @@ -158,7 +167,8 @@ public final Builder acceptDataLoss(boolean value) { } /** - * Required - The UUID of the dangling index + * Required - The UUID of the index to delete. Use the get dangling indices API + * to find the UUID. *

* API name: {@code index_uuid} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesAsyncClient.java index 5999055f0..9399da94c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesAsyncClient.java @@ -70,7 +70,13 @@ public ElasticsearchDanglingIndicesAsyncClient withTransportOptions(@Nullable Tr // ----- Endpoint: dangling_indices.delete_dangling_index /** - * Deletes the specified dangling index + * Delete a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see Documentation @@ -85,7 +91,13 @@ public CompletableFuture deleteDanglingIndex(Delete } /** - * Deletes the specified dangling index + * Delete a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @param fn * a function that initializes a builder to create the @@ -103,7 +115,13 @@ public final CompletableFuture deleteDanglingIndex( // ----- Endpoint: dangling_indices.import_dangling_index /** - * Imports the specified dangling index + * Import a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see Documentation @@ -118,7 +136,13 @@ public CompletableFuture importDanglingIndex(Import } /** - * Imports the specified dangling index + * Import a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @param fn * a function that initializes a builder to create the @@ -136,7 +160,15 @@ public final CompletableFuture importDanglingIndex( // ----- Endpoint: dangling_indices.list_dangling_indices /** - * Returns all dangling indices. + * Get the dangling indices. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. + *

+ * Use this API to list dangling indices, which you can then import or delete. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesClient.java index c6b15b641..dd146a73a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ElasticsearchDanglingIndicesClient.java @@ -71,7 +71,13 @@ public ElasticsearchDanglingIndicesClient withTransportOptions(@Nullable Transpo // ----- Endpoint: dangling_indices.delete_dangling_index /** - * Deletes the specified dangling index + * Delete a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see Documentation @@ -87,7 +93,13 @@ public DeleteDanglingIndexResponse deleteDanglingIndex(DeleteDanglingIndexReques } /** - * Deletes the specified dangling index + * Delete a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @param fn * a function that initializes a builder to create the @@ -106,7 +118,13 @@ public final DeleteDanglingIndexResponse deleteDanglingIndex( // ----- Endpoint: dangling_indices.import_dangling_index /** - * Imports the specified dangling index + * Import a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see Documentation @@ -122,7 +140,13 @@ public ImportDanglingIndexResponse importDanglingIndex(ImportDanglingIndexReques } /** - * Imports the specified dangling index + * Import a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @param fn * a function that initializes a builder to create the @@ -141,7 +165,15 @@ public final ImportDanglingIndexResponse importDanglingIndex( // ----- Endpoint: dangling_indices.list_dangling_indices /** - * Returns all dangling indices. + * Get the dangling indices. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. + *

+ * Use this API to list dangling indices, which you can then import or delete. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ImportDanglingIndexRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ImportDanglingIndexRequest.java index acb5a9d15..b6e7c4d81 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ImportDanglingIndexRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ImportDanglingIndexRequest.java @@ -57,7 +57,13 @@ // typedef: dangling_indices.import_dangling_index.Request /** - * Imports the specified dangling index + * Import a dangling index. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. * * @see API @@ -91,7 +97,11 @@ public static ImportDanglingIndexRequest of(Function * API name: {@code accept_data_loss} */ @@ -100,7 +110,8 @@ public final boolean acceptDataLoss() { } /** - * Required - The UUID of the dangling index + * Required - The UUID of the index to import. Use the get dangling indices API + * to locate the UUID. *

* API name: {@code index_uuid} */ @@ -148,7 +159,11 @@ public static class Builder extends RequestBase.AbstractBuilder private Time timeout; /** - * Required - Must be set to true in order to import the dangling index + * Required - This parameter must be set to true to import a dangling index. + * Because Elasticsearch cannot know where the dangling index data came from or + * determine which shard copies are fresh and which are stale, it cannot + * guarantee that the imported data represents the latest state of the index + * when it was last in the cluster. *

* API name: {@code accept_data_loss} */ @@ -158,7 +173,8 @@ public final Builder acceptDataLoss(boolean value) { } /** - * Required - The UUID of the dangling index + * Required - The UUID of the index to import. Use the get dangling indices API + * to locate the UUID. *

* API name: {@code index_uuid} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ListDanglingIndicesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ListDanglingIndicesRequest.java index 4ac366cc2..079fc622f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ListDanglingIndicesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/dangling_indices/ListDanglingIndicesRequest.java @@ -50,7 +50,15 @@ // typedef: dangling_indices.list_dangling_indices.Request /** - * Returns all dangling indices. + * Get the dangling indices. + *

+ * If Elasticsearch encounters index data that is absent from the current + * cluster state, those indices are considered to be dangling. For example, this + * can happen if you delete more than + * cluster.indices.tombstones.size indices while an Elasticsearch + * node is offline. + *

+ * Use this API to list dangling indices, which you can then import or delete. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index 3555d883d..1f550796a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -28,7 +28,7 @@ '_global.delete.Response': '_global/delete/DeleteResponse.ts#L22-L34', '_global.delete_by_query.Request': '_global/delete_by_query/DeleteByQueryRequest.ts#L36-L211', '_global.delete_by_query.Response': '_global/delete_by_query/DeleteByQueryResponse.ts#L26-L45', -'_global.delete_by_query_rethrottle.Request': '_global/delete_by_query_rethrottle/DeleteByQueryRethrottleRequest.ts#L24-L42', +'_global.delete_by_query_rethrottle.Request': '_global/delete_by_query_rethrottle/DeleteByQueryRethrottleRequest.ts#L24-L47', '_global.delete_by_query_rethrottle.Response': '_global/delete_by_query_rethrottle/DeleteByQueryRethrottleResponse.ts#L22-L24', '_global.delete_script.Request': '_global/delete_script/DeleteScriptRequest.ts#L24-L53', '_global.delete_script.Response': '_global/delete_script/DeleteScriptResponse.ts#L22-L24', @@ -49,10 +49,10 @@ '_global.get_script_context.Context': '_global/get_script_context/types.ts#L22-L25', '_global.get_script_context.ContextMethod': '_global/get_script_context/types.ts#L27-L31', '_global.get_script_context.ContextMethodParam': '_global/get_script_context/types.ts#L33-L36', -'_global.get_script_context.Request': '_global/get_script_context/GetScriptContextRequest.ts#L22-L26', +'_global.get_script_context.Request': '_global/get_script_context/GetScriptContextRequest.ts#L22-L30', '_global.get_script_context.Response': '_global/get_script_context/GetScriptContextResponse.ts#L22-L26', '_global.get_script_languages.LanguageContext': '_global/get_script_languages/types.ts#L22-L25', -'_global.get_script_languages.Request': '_global/get_script_languages/GetScriptLanguagesRequest.ts#L22-L26', +'_global.get_script_languages.Request': '_global/get_script_languages/GetScriptLanguagesRequest.ts#L22-L30', '_global.get_script_languages.Response': '_global/get_script_languages/GetScriptLanguagesResponse.ts#L22-L27', '_global.get_source.Request': '_global/get_source/SourceRequest.ts#L31-L89', '_global.get_source.Response': '_global/get_source/SourceResponse.ts#L20-L23', @@ -91,26 +91,26 @@ '_global.index.Response': '_global/index/IndexResponse.ts#L22-L24', '_global.info.Request': '_global/info/RootNodeInfoRequest.ts#L22-L29', '_global.info.Response': '_global/info/RootNodeInfoResponse.ts#L23-L31', -'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L80', +'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L83', '_global.knn_search.Response': '_global/knn_search/KnnSearchResponse.ts#L26-L54', '_global.knn_search._types.Query': '_global/knn_search/_types/Knn.ts#L24-L33', '_global.mget.MultiGetError': '_global/mget/types.ts#L62-L66', '_global.mget.Operation': '_global/mget/types.ts#L32-L55', -'_global.mget.Request': '_global/mget/MultiGetRequest.ts#L25-L98', +'_global.mget.Request': '_global/mget/MultiGetRequest.ts#L25-L104', '_global.mget.Response': '_global/mget/MultiGetResponse.ts#L22-L26', '_global.mget.ResponseItem': '_global/mget/types.ts#L57-L60', -'_global.msearch.MultiSearchItem': '_global/msearch/types.ts#L213-L216', -'_global.msearch.MultiSearchResult': '_global/msearch/types.ts#L203-L206', -'_global.msearch.MultisearchBody': '_global/msearch/types.ts#L70-L201', +'_global.msearch.MultiSearchItem': '_global/msearch/types.ts#L216-L219', +'_global.msearch.MultiSearchResult': '_global/msearch/types.ts#L206-L209', +'_global.msearch.MultisearchBody': '_global/msearch/types.ts#L70-L204', '_global.msearch.MultisearchHeader': '_global/msearch/types.ts#L52-L67', -'_global.msearch.Request': '_global/msearch/MultiSearchRequest.ts#L25-L106', +'_global.msearch.Request': '_global/msearch/MultiSearchRequest.ts#L25-L124', '_global.msearch.Response': '_global/msearch/MultiSearchResponse.ts#L25-L27', -'_global.msearch.ResponseItem': '_global/msearch/types.ts#L208-L211', +'_global.msearch.ResponseItem': '_global/msearch/types.ts#L211-L214', '_global.msearch_template.Request': '_global/msearch_template/MultiSearchTemplateRequest.ts#L25-L71', '_global.msearch_template.Response': '_global/msearch_template/MultiSearchTemplateResponse.ts#L22-L24', '_global.msearch_template.TemplateConfig': '_global/msearch_template/types.ts#L28-L54', '_global.mtermvectors.Operation': '_global/mtermvectors/types.ts#L35-L94', -'_global.mtermvectors.Request': '_global/mtermvectors/MultiTermVectorsRequest.ts#L31-L109', +'_global.mtermvectors.Request': '_global/mtermvectors/MultiTermVectorsRequest.ts#L31-L116', '_global.mtermvectors.Response': '_global/mtermvectors/MultiTermVectorsResponse.ts#L22-L24', '_global.mtermvectors.TermVectorsResult': '_global/mtermvectors/types.ts#L96-L104', '_global.open_point_in_time.Request': '_global/open_point_in_time/OpenPointInTimeRequest.ts#L25-L76', @@ -143,14 +143,14 @@ '_global.reindex_rethrottle.ReindexNode': '_global/reindex_rethrottle/types.ts#L33-L35', '_global.reindex_rethrottle.ReindexStatus': '_global/reindex_rethrottle/types.ts#L37-L85', '_global.reindex_rethrottle.ReindexTask': '_global/reindex_rethrottle/types.ts#L87-L98', -'_global.reindex_rethrottle.Request': '_global/reindex_rethrottle/ReindexRethrottleRequest.ts#L24-L44', +'_global.reindex_rethrottle.Request': '_global/reindex_rethrottle/ReindexRethrottleRequest.ts#L24-L46', '_global.reindex_rethrottle.Response': '_global/reindex_rethrottle/ReindexRethrottleResponse.ts#L23-L25', '_global.render_search_template.Request': '_global/render_search_template/RenderSearchTemplateRequest.ts#L25-L56', '_global.render_search_template.Response': '_global/render_search_template/RenderSearchTemplateResponse.ts#L23-L25', '_global.scripts_painless_execute.PainlessContextSetup': '_global/scripts_painless_execute/types.ts#L25-L39', '_global.scripts_painless_execute.Request': '_global/scripts_painless_execute/ExecutePainlessScriptRequest.ts#L24-L48', '_global.scripts_painless_execute.Response': '_global/scripts_painless_execute/ExecutePainlessScriptResponse.ts#L20-L24', -'_global.scroll.Request': '_global/scroll/ScrollRequest.ts#L24-L59', +'_global.scroll.Request': '_global/scroll/ScrollRequest.ts#L24-L75', '_global.scroll.Response': '_global/scroll/ScrollResponse.ts#L22-L24', '_global.search.Request': '_global/search/SearchRequest.ts#L54-L529', '_global.search.Response': '_global/search/SearchResponse.ts#L34-L36', @@ -174,7 +174,7 @@ '_global.search._types.FetchProfile': '_global/search/_types/profile.ts#L230-L237', '_global.search._types.FetchProfileBreakdown': '_global/search/_types/profile.ts#L239-L248', '_global.search._types.FetchProfileDebug': '_global/search/_types/profile.ts#L250-L253', -'_global.search._types.FieldCollapse': '_global/search/_types/FieldCollapse.ts#L24-L38', +'_global.search._types.FieldCollapse': '_global/search/_types/FieldCollapse.ts#L24-L41', '_global.search._types.FieldSuggester': '_global/search/_types/suggester.ts#L109-L142', '_global.search._types.Highlight': '_global/search/_types/highlighting.ts#L152-L155', '_global.search._types.HighlightBase': '_global/search/_types/highlighting.ts#L47-L150', @@ -239,7 +239,7 @@ '_global.search_shards.ShardStoreIndex': '_global/search_shards/SearchShardsResponse.ts#L62-L65', '_global.search_template.Request': '_global/search_template/SearchTemplateRequest.ts#L32-L135', '_global.search_template.Response': '_global/search_template/SearchTemplateResponse.ts#L30-L48', -'_global.terms_enum.Request': '_global/terms_enum/TermsEnumRequest.ts#L26-L65', +'_global.terms_enum.Request': '_global/terms_enum/TermsEnumRequest.ts#L26-L75', '_global.terms_enum.Response': '_global/terms_enum/TermsEnumResponse.ts#L22-L28', '_global.termvectors.FieldStatistics': '_global/termvectors/types.ts#L28-L32', '_global.termvectors.Filter': '_global/termvectors/types.ts#L49-L86', @@ -253,7 +253,7 @@ '_global.update.UpdateWriteResponseBase': '_global/update/UpdateResponse.ts#L23-L25', '_global.update_by_query.Request': '_global/update_by_query/UpdateByQueryRequest.ts#L37-L227', '_global.update_by_query.Response': '_global/update_by_query/UpdateByQueryResponse.ts#L26-L45', -'_global.update_by_query_rethrottle.Request': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleRequest.ts#L24-L43', +'_global.update_by_query_rethrottle.Request': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleRequest.ts#L24-L48', '_global.update_by_query_rethrottle.Response': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleResponse.ts#L23-L25', '_global.update_by_query_rethrottle.UpdateByQueryRethrottleNode': '_global/update_by_query_rethrottle/UpdateByQueryRethrottleNode.ts#L25-L27', '_spec_utils.BaseNode': '_spec_utils/BaseNode.ts#L25-L32', @@ -301,7 +301,7 @@ '_types.IndicesOptions': '_types/common.ts#L336-L363', '_types.IndicesResponseBase': '_types/Base.ts#L87-L89', '_types.InlineGet': '_types/common.ts#L321-L334', -'_types.KnnQuery': '_types/Knn.ts#L54-L69', +'_types.KnnQuery': '_types/Knn.ts#L54-L72', '_types.KnnRetriever': '_types/Retriever.ts#L58-L71', '_types.KnnSearch': '_types/Knn.ts#L30-L52', '_types.LatLonGeoLocation': '_types/Geo.ts#L120-L129', @@ -317,7 +317,7 @@ '_types.OpType': '_types/common.ts#L256-L265', '_types.PluginStats': '_types/Stats.ts#L180-L190', '_types.QueryCacheStats': '_types/Stats.ts#L192-L226', -'_types.QueryVectorBuilder': '_types/Knn.ts#L71-L74', +'_types.QueryVectorBuilder': '_types/Knn.ts#L74-L77', '_types.RRFRetriever': '_types/Retriever.ts#L73-L80', '_types.RankBase': '_types/Rank.ts#L30-L30', '_types.RankContainer': '_types/Rank.ts#L22-L28', @@ -357,7 +357,7 @@ '_types.StoredScript': '_types/Scripting.ts#L47-L57', '_types.SuggestMode': '_types/common.ts#L283-L296', '_types.TaskFailure': '_types/Errors.ts#L68-L73', -'_types.TextEmbedding': '_types/Knn.ts#L76-L79', +'_types.TextEmbedding': '_types/Knn.ts#L79-L82', '_types.ThreadType': '_types/common.ts#L298-L304', '_types.TimeUnit': '_types/Time.ts#L69-L77', '_types.TopLeftBottomRightGeoBounds': '_types/Geo.ts#L161-L164', @@ -371,261 +371,261 @@ '_types.WarmerStats': '_types/Stats.ts#L407-L412', '_types.WktGeoBounds': '_types/Geo.ts#L150-L152', '_types.WriteResponseBase': '_types/Base.ts#L36-L45', -'_types.aggregations.AdjacencyMatrixAggregate': '_types/aggregations/Aggregate.ts#L578-L580', +'_types.aggregations.AdjacencyMatrixAggregate': '_types/aggregations/Aggregate.ts#L647-L652', '_types.aggregations.AdjacencyMatrixAggregation': '_types/aggregations/bucket.ts#L60-L70', -'_types.aggregations.AdjacencyMatrixBucket': '_types/aggregations/Aggregate.ts#L582-L584', -'_types.aggregations.Aggregate': '_types/aggregations/Aggregate.ts#L38-L124', -'_types.aggregations.AggregateBase': '_types/aggregations/Aggregate.ts#L135-L137', +'_types.aggregations.AdjacencyMatrixBucket': '_types/aggregations/Aggregate.ts#L654-L656', +'_types.aggregations.Aggregate': '_types/aggregations/Aggregate.ts#L38-L125', +'_types.aggregations.AggregateBase': '_types/aggregations/Aggregate.ts#L136-L138', '_types.aggregations.Aggregation': '_types/aggregations/Aggregation.ts#L20-L20', '_types.aggregations.AggregationContainer': '_types/aggregations/AggregationContainer.ts#L107-L533', -'_types.aggregations.AggregationRange': '_types/aggregations/bucket.ts#L679-L692', -'_types.aggregations.ArrayPercentilesItem': '_types/aggregations/Aggregate.ts#L161-L165', -'_types.aggregations.AutoDateHistogramAggregate': '_types/aggregations/Aggregate.ts#L359-L363', -'_types.aggregations.AutoDateHistogramAggregation': '_types/aggregations/bucket.ts#L72-L107', +'_types.aggregations.AggregationRange': '_types/aggregations/bucket.ts#L691-L704', +'_types.aggregations.ArrayPercentilesItem': '_types/aggregations/Aggregate.ts#L162-L166', +'_types.aggregations.AutoDateHistogramAggregate': '_types/aggregations/Aggregate.ts#L393-L400', +'_types.aggregations.AutoDateHistogramAggregation': '_types/aggregations/bucket.ts#L72-L110', '_types.aggregations.AverageAggregation': '_types/aggregations/metric.ts#L55-L55', -'_types.aggregations.AverageBucketAggregation': '_types/aggregations/pipeline.ts#L78-L78', -'_types.aggregations.AvgAggregate': '_types/aggregations/Aggregate.ts#L210-L211', -'_types.aggregations.BoxPlotAggregate': '_types/aggregations/Aggregate.ts#L721-L737', +'_types.aggregations.AverageBucketAggregation': '_types/aggregations/pipeline.ts#L78-L81', +'_types.aggregations.AvgAggregate': '_types/aggregations/Aggregate.ts#L218-L222', +'_types.aggregations.BoxPlotAggregate': '_types/aggregations/Aggregate.ts#L806-L825', '_types.aggregations.BoxplotAggregation': '_types/aggregations/metric.ts#L57-L62', '_types.aggregations.BucketAggregationBase': '_types/aggregations/bucket.ts#L53-L58', -'_types.aggregations.BucketCorrelationAggregation': '_types/aggregations/pipeline.ts#L129-L135', -'_types.aggregations.BucketCorrelationFunction': '_types/aggregations/pipeline.ts#L137-L142', -'_types.aggregations.BucketCorrelationFunctionCountCorrelation': '_types/aggregations/pipeline.ts#L144-L147', -'_types.aggregations.BucketCorrelationFunctionCountCorrelationIndicator': '_types/aggregations/pipeline.ts#L149-L167', -'_types.aggregations.BucketKsAggregation': '_types/aggregations/pipeline.ts#L94-L127', -'_types.aggregations.BucketMetricValueAggregate': '_types/aggregations/Aggregate.ts#L234-L237', +'_types.aggregations.BucketCorrelationAggregation': '_types/aggregations/pipeline.ts#L139-L146', +'_types.aggregations.BucketCorrelationFunction': '_types/aggregations/pipeline.ts#L148-L153', +'_types.aggregations.BucketCorrelationFunctionCountCorrelation': '_types/aggregations/pipeline.ts#L155-L158', +'_types.aggregations.BucketCorrelationFunctionCountCorrelationIndicator': '_types/aggregations/pipeline.ts#L160-L178', +'_types.aggregations.BucketKsAggregation': '_types/aggregations/pipeline.ts#L103-L137', +'_types.aggregations.BucketMetricValueAggregate': '_types/aggregations/Aggregate.ts#L250-L253', '_types.aggregations.BucketPathAggregation': '_types/aggregations/pipeline.ts#L31-L37', -'_types.aggregations.BucketScriptAggregation': '_types/aggregations/pipeline.ts#L80-L85', -'_types.aggregations.BucketSelectorAggregation': '_types/aggregations/pipeline.ts#L87-L92', -'_types.aggregations.BucketSortAggregation': '_types/aggregations/pipeline.ts#L169-L190', -'_types.aggregations.Buckets': '_types/aggregations/Aggregate.ts#L317-L326', +'_types.aggregations.BucketScriptAggregation': '_types/aggregations/pipeline.ts#L83-L91', +'_types.aggregations.BucketSelectorAggregation': '_types/aggregations/pipeline.ts#L93-L101', +'_types.aggregations.BucketSortAggregation': '_types/aggregations/pipeline.ts#L180-L204', +'_types.aggregations.Buckets': '_types/aggregations/Aggregate.ts#L346-L355', '_types.aggregations.BucketsPath': '_types/aggregations/pipeline.ts#L53-L59', -'_types.aggregations.CalendarInterval': '_types/aggregations/bucket.ts#L256-L273', -'_types.aggregations.CardinalityAggregate': '_types/aggregations/Aggregate.ts#L139-L142', +'_types.aggregations.CalendarInterval': '_types/aggregations/bucket.ts#L262-L279', +'_types.aggregations.CardinalityAggregate': '_types/aggregations/Aggregate.ts#L140-L143', '_types.aggregations.CardinalityAggregation': '_types/aggregations/metric.ts#L87-L99', '_types.aggregations.CardinalityExecutionMode': '_types/aggregations/metric.ts#L64-L85', -'_types.aggregations.CategorizeTextAggregation': '_types/aggregations/bucket.ts#L1081-L1145', -'_types.aggregations.CategorizeTextAnalyzer': '_types/aggregations/bucket.ts#L1147-L1150', -'_types.aggregations.ChiSquareHeuristic': '_types/aggregations/bucket.ts#L761-L770', -'_types.aggregations.ChildrenAggregate': '_types/aggregations/Aggregate.ts#L791-L792', -'_types.aggregations.ChildrenAggregation': '_types/aggregations/bucket.ts#L118-L123', -'_types.aggregations.CompositeAggregate': '_types/aggregations/Aggregate.ts#L623-L628', -'_types.aggregations.CompositeAggregation': '_types/aggregations/bucket.ts#L127-L143', -'_types.aggregations.CompositeAggregationBase': '_types/aggregations/bucket.ts#L164-L173', -'_types.aggregations.CompositeAggregationSource': '_types/aggregations/bucket.ts#L145-L162', -'_types.aggregations.CompositeBucket': '_types/aggregations/Aggregate.ts#L630-L632', -'_types.aggregations.CompositeDateHistogramAggregation': '_types/aggregations/bucket.ts#L181-L189', -'_types.aggregations.CompositeGeoTileGridAggregation': '_types/aggregations/bucket.ts#L191-L194', -'_types.aggregations.CompositeHistogramAggregation': '_types/aggregations/bucket.ts#L177-L179', -'_types.aggregations.CompositeTermsAggregation': '_types/aggregations/bucket.ts#L175-L175', -'_types.aggregations.CumulativeCardinalityAggregate': '_types/aggregations/Aggregate.ts#L762-L770', -'_types.aggregations.CumulativeCardinalityAggregation': '_types/aggregations/pipeline.ts#L192-L192', -'_types.aggregations.CumulativeSumAggregation': '_types/aggregations/pipeline.ts#L194-L194', -'_types.aggregations.CustomCategorizeTextAnalyzer': '_types/aggregations/bucket.ts#L1152-L1156', -'_types.aggregations.DateHistogramAggregate': '_types/aggregations/Aggregate.ts#L351-L352', -'_types.aggregations.DateHistogramAggregation': '_types/aggregations/bucket.ts#L196-L254', -'_types.aggregations.DateHistogramBucket': '_types/aggregations/Aggregate.ts#L354-L357', -'_types.aggregations.DateRangeAggregate': '_types/aggregations/Aggregate.ts#L548-L553', -'_types.aggregations.DateRangeAggregation': '_types/aggregations/bucket.ts#L275-L301', -'_types.aggregations.DateRangeExpression': '_types/aggregations/bucket.ts#L312-L325', -'_types.aggregations.DerivativeAggregate': '_types/aggregations/Aggregate.ts#L228-L232', -'_types.aggregations.DerivativeAggregation': '_types/aggregations/pipeline.ts#L196-L196', -'_types.aggregations.DiversifiedSamplerAggregation': '_types/aggregations/bucket.ts#L327-L348', -'_types.aggregations.DoubleTermsAggregate': '_types/aggregations/Aggregate.ts#L414-L419', -'_types.aggregations.DoubleTermsBucket': '_types/aggregations/Aggregate.ts#L421-L424', -'_types.aggregations.EwmaModelSettings': '_types/aggregations/pipeline.ts#L267-L269', -'_types.aggregations.EwmaMovingAverageAggregation': '_types/aggregations/pipeline.ts#L252-L255', -'_types.aggregations.ExtendedBounds': '_types/aggregations/bucket.ts#L496-L505', -'_types.aggregations.ExtendedStatsAggregate': '_types/aggregations/Aggregate.ts#L279-L297', +'_types.aggregations.CategorizeTextAggregation': '_types/aggregations/bucket.ts#L1117-L1182', +'_types.aggregations.CategorizeTextAnalyzer': '_types/aggregations/bucket.ts#L1184-L1187', +'_types.aggregations.ChiSquareHeuristic': '_types/aggregations/bucket.ts#L782-L791', +'_types.aggregations.ChildrenAggregate': '_types/aggregations/Aggregate.ts#L888-L892', +'_types.aggregations.ChildrenAggregation': '_types/aggregations/bucket.ts#L121-L126', +'_types.aggregations.CompositeAggregate': '_types/aggregations/Aggregate.ts#L698-L703', +'_types.aggregations.CompositeAggregation': '_types/aggregations/bucket.ts#L130-L149', +'_types.aggregations.CompositeAggregationBase': '_types/aggregations/bucket.ts#L170-L179', +'_types.aggregations.CompositeAggregationSource': '_types/aggregations/bucket.ts#L151-L168', +'_types.aggregations.CompositeBucket': '_types/aggregations/Aggregate.ts#L705-L707', +'_types.aggregations.CompositeDateHistogramAggregation': '_types/aggregations/bucket.ts#L187-L195', +'_types.aggregations.CompositeGeoTileGridAggregation': '_types/aggregations/bucket.ts#L197-L200', +'_types.aggregations.CompositeHistogramAggregation': '_types/aggregations/bucket.ts#L183-L185', +'_types.aggregations.CompositeTermsAggregation': '_types/aggregations/bucket.ts#L181-L181', +'_types.aggregations.CumulativeCardinalityAggregate': '_types/aggregations/Aggregate.ts#L856-L864', +'_types.aggregations.CumulativeCardinalityAggregation': '_types/aggregations/pipeline.ts#L206-L209', +'_types.aggregations.CumulativeSumAggregation': '_types/aggregations/pipeline.ts#L211-L214', +'_types.aggregations.CustomCategorizeTextAnalyzer': '_types/aggregations/bucket.ts#L1189-L1193', +'_types.aggregations.DateHistogramAggregate': '_types/aggregations/Aggregate.ts#L383-L386', +'_types.aggregations.DateHistogramAggregation': '_types/aggregations/bucket.ts#L202-L260', +'_types.aggregations.DateHistogramBucket': '_types/aggregations/Aggregate.ts#L388-L391', +'_types.aggregations.DateRangeAggregate': '_types/aggregations/Aggregate.ts#L609-L615', +'_types.aggregations.DateRangeAggregation': '_types/aggregations/bucket.ts#L281-L307', +'_types.aggregations.DateRangeExpression': '_types/aggregations/bucket.ts#L318-L331', +'_types.aggregations.DerivativeAggregate': '_types/aggregations/Aggregate.ts#L241-L248', +'_types.aggregations.DerivativeAggregation': '_types/aggregations/pipeline.ts#L216-L216', +'_types.aggregations.DiversifiedSamplerAggregation': '_types/aggregations/bucket.ts#L333-L357', +'_types.aggregations.DoubleTermsAggregate': '_types/aggregations/Aggregate.ts#L451-L456', +'_types.aggregations.DoubleTermsBucket': '_types/aggregations/Aggregate.ts#L458-L461', +'_types.aggregations.EwmaModelSettings': '_types/aggregations/pipeline.ts#L293-L295', +'_types.aggregations.EwmaMovingAverageAggregation': '_types/aggregations/pipeline.ts#L278-L281', +'_types.aggregations.ExtendedBounds': '_types/aggregations/bucket.ts#L508-L517', +'_types.aggregations.ExtendedStatsAggregate': '_types/aggregations/Aggregate.ts#L299-L320', '_types.aggregations.ExtendedStatsAggregation': '_types/aggregations/metric.ts#L101-L106', -'_types.aggregations.ExtendedStatsBucketAggregate': '_types/aggregations/Aggregate.ts#L299-L300', -'_types.aggregations.ExtendedStatsBucketAggregation': '_types/aggregations/pipeline.ts#L198-L203', -'_types.aggregations.FieldDateMath': '_types/aggregations/bucket.ts#L303-L310', -'_types.aggregations.FilterAggregate': '_types/aggregations/Aggregate.ts#L500-L501', -'_types.aggregations.FiltersAggregate': '_types/aggregations/Aggregate.ts#L573-L574', -'_types.aggregations.FiltersAggregation': '_types/aggregations/bucket.ts#L365-L385', -'_types.aggregations.FiltersBucket': '_types/aggregations/Aggregate.ts#L576-L576', +'_types.aggregations.ExtendedStatsBucketAggregate': '_types/aggregations/Aggregate.ts#L322-L323', +'_types.aggregations.ExtendedStatsBucketAggregation': '_types/aggregations/pipeline.ts#L218-L223', +'_types.aggregations.FieldDateMath': '_types/aggregations/bucket.ts#L309-L316', +'_types.aggregations.FilterAggregate': '_types/aggregations/Aggregate.ts#L552-L556', +'_types.aggregations.FiltersAggregate': '_types/aggregations/Aggregate.ts#L639-L643', +'_types.aggregations.FiltersAggregation': '_types/aggregations/bucket.ts#L374-L394', +'_types.aggregations.FiltersBucket': '_types/aggregations/Aggregate.ts#L645-L645', '_types.aggregations.FormatMetricAggregationBase': '_types/aggregations/metric.ts#L47-L49', '_types.aggregations.FormattableMetricAggregation': '_types/aggregations/metric.ts#L51-L53', -'_types.aggregations.FrequentItemSetsAggregate': '_types/aggregations/Aggregate.ts#L644-L645', -'_types.aggregations.FrequentItemSetsAggregation': '_types/aggregations/bucket.ts#L1203-L1227', -'_types.aggregations.FrequentItemSetsBucket': '_types/aggregations/Aggregate.ts#L647-L650', -'_types.aggregations.FrequentItemSetsField': '_types/aggregations/bucket.ts#L1189-L1201', +'_types.aggregations.FrequentItemSetsAggregate': '_types/aggregations/Aggregate.ts#L722-L723', +'_types.aggregations.FrequentItemSetsAggregation': '_types/aggregations/bucket.ts#L1240-L1267', +'_types.aggregations.FrequentItemSetsBucket': '_types/aggregations/Aggregate.ts#L725-L728', +'_types.aggregations.FrequentItemSetsField': '_types/aggregations/bucket.ts#L1226-L1238', '_types.aggregations.GapPolicy': '_types/aggregations/pipeline.ts#L61-L76', -'_types.aggregations.GeoBoundsAggregate': '_types/aggregations/Aggregate.ts#L304-L307', -'_types.aggregations.GeoBoundsAggregation': '_types/aggregations/metric.ts#L108-L114', -'_types.aggregations.GeoCentroidAggregate': '_types/aggregations/Aggregate.ts#L309-L313', -'_types.aggregations.GeoCentroidAggregation': '_types/aggregations/metric.ts#L116-L119', -'_types.aggregations.GeoDistanceAggregate': '_types/aggregations/Aggregate.ts#L555-L559', -'_types.aggregations.GeoDistanceAggregation': '_types/aggregations/bucket.ts#L387-L410', -'_types.aggregations.GeoHashGridAggregate': '_types/aggregations/Aggregate.ts#L511-L513', -'_types.aggregations.GeoHashGridAggregation': '_types/aggregations/bucket.ts#L412-L437', -'_types.aggregations.GeoHashGridBucket': '_types/aggregations/Aggregate.ts#L515-L517', -'_types.aggregations.GeoHexGridAggregate': '_types/aggregations/Aggregate.ts#L527-L528', -'_types.aggregations.GeoHexGridBucket': '_types/aggregations/Aggregate.ts#L530-L532', -'_types.aggregations.GeoLineAggregate': '_types/aggregations/Aggregate.ts#L799-L806', -'_types.aggregations.GeoLineAggregation': '_types/aggregations/metric.ts#L121-L146', -'_types.aggregations.GeoLinePoint': '_types/aggregations/metric.ts#L155-L160', -'_types.aggregations.GeoLineSort': '_types/aggregations/metric.ts#L148-L153', -'_types.aggregations.GeoTileGridAggregate': '_types/aggregations/Aggregate.ts#L519-L521', -'_types.aggregations.GeoTileGridAggregation': '_types/aggregations/bucket.ts#L439-L465', -'_types.aggregations.GeoTileGridBucket': '_types/aggregations/Aggregate.ts#L523-L525', -'_types.aggregations.GeohexGridAggregation': '_types/aggregations/bucket.ts#L467-L492', -'_types.aggregations.GlobalAggregate': '_types/aggregations/Aggregate.ts#L497-L498', -'_types.aggregations.GlobalAggregation': '_types/aggregations/bucket.ts#L494-L494', -'_types.aggregations.GoogleNormalizedDistanceHeuristic': '_types/aggregations/bucket.ts#L772-L777', -'_types.aggregations.HdrMethod': '_types/aggregations/metric.ts#L216-L221', -'_types.aggregations.HdrPercentileRanksAggregate': '_types/aggregations/Aggregate.ts#L170-L171', -'_types.aggregations.HdrPercentilesAggregate': '_types/aggregations/Aggregate.ts#L167-L168', -'_types.aggregations.HistogramAggregate': '_types/aggregations/Aggregate.ts#L343-L344', -'_types.aggregations.HistogramAggregation': '_types/aggregations/bucket.ts#L507-L553', -'_types.aggregations.HistogramBucket': '_types/aggregations/Aggregate.ts#L346-L349', -'_types.aggregations.HoltLinearModelSettings': '_types/aggregations/pipeline.ts#L271-L274', -'_types.aggregations.HoltMovingAverageAggregation': '_types/aggregations/pipeline.ts#L257-L260', -'_types.aggregations.HoltWintersModelSettings': '_types/aggregations/pipeline.ts#L275-L282', -'_types.aggregations.HoltWintersMovingAverageAggregation': '_types/aggregations/pipeline.ts#L262-L265', -'_types.aggregations.HoltWintersType': '_types/aggregations/pipeline.ts#L283-L286', -'_types.aggregations.InferenceAggregate': '_types/aggregations/Aggregate.ts#L671-L685', -'_types.aggregations.InferenceAggregation': '_types/aggregations/pipeline.ts#L205-L214', -'_types.aggregations.InferenceClassImportance': '_types/aggregations/Aggregate.ts#L699-L702', -'_types.aggregations.InferenceConfigContainer': '_types/aggregations/pipeline.ts#L216-L222', -'_types.aggregations.InferenceFeatureImportance': '_types/aggregations/Aggregate.ts#L693-L697', -'_types.aggregations.InferenceTopClassEntry': '_types/aggregations/Aggregate.ts#L687-L691', -'_types.aggregations.IpPrefixAggregate': '_types/aggregations/Aggregate.ts#L634-L635', -'_types.aggregations.IpPrefixAggregation': '_types/aggregations/bucket.ts#L1158-L1187', -'_types.aggregations.IpPrefixBucket': '_types/aggregations/Aggregate.ts#L637-L642', -'_types.aggregations.IpRangeAggregate': '_types/aggregations/Aggregate.ts#L561-L563', -'_types.aggregations.IpRangeAggregation': '_types/aggregations/bucket.ts#L555-L564', -'_types.aggregations.IpRangeAggregationRange': '_types/aggregations/bucket.ts#L566-L579', -'_types.aggregations.IpRangeBucket': '_types/aggregations/Aggregate.ts#L565-L569', -'_types.aggregations.LinearMovingAverageAggregation': '_types/aggregations/pipeline.ts#L242-L245', -'_types.aggregations.LongRareTermsAggregate': '_types/aggregations/Aggregate.ts#L434-L439', -'_types.aggregations.LongRareTermsBucket': '_types/aggregations/Aggregate.ts#L441-L444', -'_types.aggregations.LongTermsAggregate': '_types/aggregations/Aggregate.ts#L402-L407', -'_types.aggregations.LongTermsBucket': '_types/aggregations/Aggregate.ts#L409-L412', +'_types.aggregations.GeoBoundsAggregate': '_types/aggregations/Aggregate.ts#L327-L333', +'_types.aggregations.GeoBoundsAggregation': '_types/aggregations/metric.ts#L108-L117', +'_types.aggregations.GeoCentroidAggregate': '_types/aggregations/Aggregate.ts#L335-L342', +'_types.aggregations.GeoCentroidAggregation': '_types/aggregations/metric.ts#L119-L122', +'_types.aggregations.GeoDistanceAggregate': '_types/aggregations/Aggregate.ts#L617-L622', +'_types.aggregations.GeoDistanceAggregation': '_types/aggregations/bucket.ts#L396-L419', +'_types.aggregations.GeoHashGridAggregate': '_types/aggregations/Aggregate.ts#L566-L568', +'_types.aggregations.GeoHashGridAggregation': '_types/aggregations/bucket.ts#L421-L449', +'_types.aggregations.GeoHashGridBucket': '_types/aggregations/Aggregate.ts#L570-L572', +'_types.aggregations.GeoHexGridAggregate': '_types/aggregations/Aggregate.ts#L585-L586', +'_types.aggregations.GeoHexGridBucket': '_types/aggregations/Aggregate.ts#L588-L590', +'_types.aggregations.GeoLineAggregate': '_types/aggregations/Aggregate.ts#L902-L912', +'_types.aggregations.GeoLineAggregation': '_types/aggregations/metric.ts#L124-L149', +'_types.aggregations.GeoLinePoint': '_types/aggregations/metric.ts#L158-L163', +'_types.aggregations.GeoLineSort': '_types/aggregations/metric.ts#L151-L156', +'_types.aggregations.GeoTileGridAggregate': '_types/aggregations/Aggregate.ts#L574-L579', +'_types.aggregations.GeoTileGridAggregation': '_types/aggregations/bucket.ts#L451-L477', +'_types.aggregations.GeoTileGridBucket': '_types/aggregations/Aggregate.ts#L581-L583', +'_types.aggregations.GeohexGridAggregation': '_types/aggregations/bucket.ts#L479-L504', +'_types.aggregations.GlobalAggregate': '_types/aggregations/Aggregate.ts#L546-L550', +'_types.aggregations.GlobalAggregation': '_types/aggregations/bucket.ts#L506-L506', +'_types.aggregations.GoogleNormalizedDistanceHeuristic': '_types/aggregations/bucket.ts#L793-L798', +'_types.aggregations.HdrMethod': '_types/aggregations/metric.ts#L225-L230', +'_types.aggregations.HdrPercentileRanksAggregate': '_types/aggregations/Aggregate.ts#L171-L172', +'_types.aggregations.HdrPercentilesAggregate': '_types/aggregations/Aggregate.ts#L168-L169', +'_types.aggregations.HistogramAggregate': '_types/aggregations/Aggregate.ts#L372-L376', +'_types.aggregations.HistogramAggregation': '_types/aggregations/bucket.ts#L519-L565', +'_types.aggregations.HistogramBucket': '_types/aggregations/Aggregate.ts#L378-L381', +'_types.aggregations.HoltLinearModelSettings': '_types/aggregations/pipeline.ts#L297-L300', +'_types.aggregations.HoltMovingAverageAggregation': '_types/aggregations/pipeline.ts#L283-L286', +'_types.aggregations.HoltWintersModelSettings': '_types/aggregations/pipeline.ts#L301-L308', +'_types.aggregations.HoltWintersMovingAverageAggregation': '_types/aggregations/pipeline.ts#L288-L291', +'_types.aggregations.HoltWintersType': '_types/aggregations/pipeline.ts#L309-L312', +'_types.aggregations.InferenceAggregate': '_types/aggregations/Aggregate.ts#L755-L770', +'_types.aggregations.InferenceAggregation': '_types/aggregations/pipeline.ts#L225-L234', +'_types.aggregations.InferenceClassImportance': '_types/aggregations/Aggregate.ts#L784-L787', +'_types.aggregations.InferenceConfigContainer': '_types/aggregations/pipeline.ts#L236-L242', +'_types.aggregations.InferenceFeatureImportance': '_types/aggregations/Aggregate.ts#L778-L782', +'_types.aggregations.InferenceTopClassEntry': '_types/aggregations/Aggregate.ts#L772-L776', +'_types.aggregations.IpPrefixAggregate': '_types/aggregations/Aggregate.ts#L709-L713', +'_types.aggregations.IpPrefixAggregation': '_types/aggregations/bucket.ts#L1195-L1224', +'_types.aggregations.IpPrefixBucket': '_types/aggregations/Aggregate.ts#L715-L720', +'_types.aggregations.IpRangeAggregate': '_types/aggregations/Aggregate.ts#L624-L629', +'_types.aggregations.IpRangeAggregation': '_types/aggregations/bucket.ts#L567-L576', +'_types.aggregations.IpRangeAggregationRange': '_types/aggregations/bucket.ts#L578-L591', +'_types.aggregations.IpRangeBucket': '_types/aggregations/Aggregate.ts#L631-L635', +'_types.aggregations.LinearMovingAverageAggregation': '_types/aggregations/pipeline.ts#L268-L271', +'_types.aggregations.LongRareTermsAggregate': '_types/aggregations/Aggregate.ts#L471-L476', +'_types.aggregations.LongRareTermsBucket': '_types/aggregations/Aggregate.ts#L478-L481', +'_types.aggregations.LongTermsAggregate': '_types/aggregations/Aggregate.ts#L439-L444', +'_types.aggregations.LongTermsBucket': '_types/aggregations/Aggregate.ts#L446-L449', '_types.aggregations.MatrixAggregation': '_types/aggregations/matrix.ts#L26-L36', -'_types.aggregations.MatrixStatsAggregate': '_types/aggregations/Aggregate.ts#L772-L776', +'_types.aggregations.MatrixStatsAggregate': '_types/aggregations/Aggregate.ts#L866-L873', '_types.aggregations.MatrixStatsAggregation': '_types/aggregations/matrix.ts#L38-L44', -'_types.aggregations.MatrixStatsFields': '_types/aggregations/Aggregate.ts#L778-L787', -'_types.aggregations.MaxAggregate': '_types/aggregations/Aggregate.ts#L201-L202', -'_types.aggregations.MaxAggregation': '_types/aggregations/metric.ts#L162-L162', -'_types.aggregations.MaxBucketAggregation': '_types/aggregations/pipeline.ts#L224-L224', -'_types.aggregations.MedianAbsoluteDeviationAggregate': '_types/aggregations/Aggregate.ts#L195-L196', -'_types.aggregations.MedianAbsoluteDeviationAggregation': '_types/aggregations/metric.ts#L164-L170', +'_types.aggregations.MatrixStatsFields': '_types/aggregations/Aggregate.ts#L875-L884', +'_types.aggregations.MaxAggregate': '_types/aggregations/Aggregate.ts#L205-L209', +'_types.aggregations.MaxAggregation': '_types/aggregations/metric.ts#L165-L165', +'_types.aggregations.MaxBucketAggregation': '_types/aggregations/pipeline.ts#L244-L247', +'_types.aggregations.MedianAbsoluteDeviationAggregate': '_types/aggregations/Aggregate.ts#L196-L197', +'_types.aggregations.MedianAbsoluteDeviationAggregation': '_types/aggregations/metric.ts#L167-L176', '_types.aggregations.MetricAggregationBase': '_types/aggregations/metric.ts#L34-L45', -'_types.aggregations.MinAggregate': '_types/aggregations/Aggregate.ts#L198-L199', -'_types.aggregations.MinAggregation': '_types/aggregations/metric.ts#L172-L172', -'_types.aggregations.MinBucketAggregation': '_types/aggregations/pipeline.ts#L226-L226', -'_types.aggregations.MinimumInterval': '_types/aggregations/bucket.ts#L109-L116', -'_types.aggregations.MissingAggregate': '_types/aggregations/Aggregate.ts#L488-L489', -'_types.aggregations.MissingAggregation': '_types/aggregations/bucket.ts#L581-L587', +'_types.aggregations.MinAggregate': '_types/aggregations/Aggregate.ts#L199-L203', +'_types.aggregations.MinAggregation': '_types/aggregations/metric.ts#L178-L178', +'_types.aggregations.MinBucketAggregation': '_types/aggregations/pipeline.ts#L249-L252', +'_types.aggregations.MinimumInterval': '_types/aggregations/bucket.ts#L112-L119', +'_types.aggregations.MissingAggregate': '_types/aggregations/Aggregate.ts#L528-L532', +'_types.aggregations.MissingAggregation': '_types/aggregations/bucket.ts#L593-L599', '_types.aggregations.MissingOrder': '_types/aggregations/AggregationContainer.ts#L536-L540', -'_types.aggregations.MovingAverageAggregation': '_types/aggregations/pipeline.ts#L228-L234', -'_types.aggregations.MovingAverageAggregationBase': '_types/aggregations/pipeline.ts#L236-L240', -'_types.aggregations.MovingFunctionAggregation': '_types/aggregations/pipeline.ts#L288-L303', -'_types.aggregations.MovingPercentilesAggregation': '_types/aggregations/pipeline.ts#L305-L317', -'_types.aggregations.MultiBucketAggregateBase': '_types/aggregations/Aggregate.ts#L328-L330', -'_types.aggregations.MultiBucketBase': '_types/aggregations/Aggregate.ts#L332-L341', -'_types.aggregations.MultiTermLookup': '_types/aggregations/bucket.ts#L631-L641', -'_types.aggregations.MultiTermsAggregate': '_types/aggregations/Aggregate.ts#L464-L466', -'_types.aggregations.MultiTermsAggregation': '_types/aggregations/bucket.ts#L589-L629', -'_types.aggregations.MultiTermsBucket': '_types/aggregations/Aggregate.ts#L468-L472', -'_types.aggregations.MutualInformationHeuristic': '_types/aggregations/bucket.ts#L779-L788', -'_types.aggregations.NestedAggregate': '_types/aggregations/Aggregate.ts#L491-L492', -'_types.aggregations.NestedAggregation': '_types/aggregations/bucket.ts#L643-L648', -'_types.aggregations.NormalizeAggregation': '_types/aggregations/pipeline.ts#L319-L324', -'_types.aggregations.NormalizeMethod': '_types/aggregations/pipeline.ts#L326-L352', -'_types.aggregations.ParentAggregate': '_types/aggregations/Aggregate.ts#L794-L795', -'_types.aggregations.ParentAggregation': '_types/aggregations/bucket.ts#L650-L655', -'_types.aggregations.PercentageScoreHeuristic': '_types/aggregations/bucket.ts#L790-L790', -'_types.aggregations.PercentileRanksAggregation': '_types/aggregations/metric.ts#L174-L193', -'_types.aggregations.Percentiles': '_types/aggregations/Aggregate.ts#L151-L152', -'_types.aggregations.PercentilesAggregateBase': '_types/aggregations/Aggregate.ts#L147-L149', -'_types.aggregations.PercentilesAggregation': '_types/aggregations/metric.ts#L195-L214', -'_types.aggregations.PercentilesBucketAggregate': '_types/aggregations/Aggregate.ts#L179-L180', -'_types.aggregations.PercentilesBucketAggregation': '_types/aggregations/pipeline.ts#L354-L359', +'_types.aggregations.MovingAverageAggregation': '_types/aggregations/pipeline.ts#L254-L260', +'_types.aggregations.MovingAverageAggregationBase': '_types/aggregations/pipeline.ts#L262-L266', +'_types.aggregations.MovingFunctionAggregation': '_types/aggregations/pipeline.ts#L314-L332', +'_types.aggregations.MovingPercentilesAggregation': '_types/aggregations/pipeline.ts#L334-L349', +'_types.aggregations.MultiBucketAggregateBase': '_types/aggregations/Aggregate.ts#L357-L359', +'_types.aggregations.MultiBucketBase': '_types/aggregations/Aggregate.ts#L361-L370', +'_types.aggregations.MultiTermLookup': '_types/aggregations/bucket.ts#L643-L653', +'_types.aggregations.MultiTermsAggregate': '_types/aggregations/Aggregate.ts#L501-L506', +'_types.aggregations.MultiTermsAggregation': '_types/aggregations/bucket.ts#L601-L641', +'_types.aggregations.MultiTermsBucket': '_types/aggregations/Aggregate.ts#L508-L512', +'_types.aggregations.MutualInformationHeuristic': '_types/aggregations/bucket.ts#L800-L809', +'_types.aggregations.NestedAggregate': '_types/aggregations/Aggregate.ts#L534-L538', +'_types.aggregations.NestedAggregation': '_types/aggregations/bucket.ts#L655-L660', +'_types.aggregations.NormalizeAggregation': '_types/aggregations/pipeline.ts#L351-L359', +'_types.aggregations.NormalizeMethod': '_types/aggregations/pipeline.ts#L361-L387', +'_types.aggregations.ParentAggregate': '_types/aggregations/Aggregate.ts#L894-L898', +'_types.aggregations.ParentAggregation': '_types/aggregations/bucket.ts#L662-L667', +'_types.aggregations.PercentageScoreHeuristic': '_types/aggregations/bucket.ts#L811-L811', +'_types.aggregations.PercentileRanksAggregation': '_types/aggregations/metric.ts#L180-L202', +'_types.aggregations.Percentiles': '_types/aggregations/Aggregate.ts#L152-L153', +'_types.aggregations.PercentilesAggregateBase': '_types/aggregations/Aggregate.ts#L148-L150', +'_types.aggregations.PercentilesAggregation': '_types/aggregations/metric.ts#L204-L223', +'_types.aggregations.PercentilesBucketAggregate': '_types/aggregations/Aggregate.ts#L180-L181', +'_types.aggregations.PercentilesBucketAggregation': '_types/aggregations/pipeline.ts#L389-L397', '_types.aggregations.PipelineAggregationBase': '_types/aggregations/pipeline.ts#L39-L51', -'_types.aggregations.RandomSamplerAggregation': '_types/aggregations/bucket.ts#L734-L751', -'_types.aggregations.RangeAggregate': '_types/aggregations/Aggregate.ts#L536-L537', -'_types.aggregations.RangeAggregation': '_types/aggregations/bucket.ts#L657-L677', -'_types.aggregations.RangeBucket': '_types/aggregations/Aggregate.ts#L539-L546', -'_types.aggregations.RareTermsAggregation': '_types/aggregations/bucket.ts#L694-L724', -'_types.aggregations.RateAggregate': '_types/aggregations/Aggregate.ts#L756-L760', -'_types.aggregations.RateAggregation': '_types/aggregations/metric.ts#L230-L241', -'_types.aggregations.RateMode': '_types/aggregations/metric.ts#L243-L252', -'_types.aggregations.ReverseNestedAggregate': '_types/aggregations/Aggregate.ts#L494-L495', -'_types.aggregations.ReverseNestedAggregation': '_types/aggregations/bucket.ts#L726-L732', -'_types.aggregations.SamplerAggregate': '_types/aggregations/Aggregate.ts#L503-L504', -'_types.aggregations.SamplerAggregation': '_types/aggregations/bucket.ts#L753-L759', -'_types.aggregations.SamplerAggregationExecutionHint': '_types/aggregations/bucket.ts#L350-L363', -'_types.aggregations.ScriptedHeuristic': '_types/aggregations/bucket.ts#L792-L794', -'_types.aggregations.ScriptedMetricAggregate': '_types/aggregations/Aggregate.ts#L661-L664', -'_types.aggregations.ScriptedMetricAggregation': '_types/aggregations/metric.ts#L254-L280', -'_types.aggregations.SerialDifferencingAggregation': '_types/aggregations/pipeline.ts#L361-L367', -'_types.aggregations.SignificantLongTermsAggregate': '_types/aggregations/Aggregate.ts#L593-L595', -'_types.aggregations.SignificantLongTermsBucket': '_types/aggregations/Aggregate.ts#L602-L605', -'_types.aggregations.SignificantStringTermsAggregate': '_types/aggregations/Aggregate.ts#L607-L609', -'_types.aggregations.SignificantStringTermsBucket': '_types/aggregations/Aggregate.ts#L611-L613', -'_types.aggregations.SignificantTermsAggregateBase': '_types/aggregations/Aggregate.ts#L586-L591', -'_types.aggregations.SignificantTermsAggregation': '_types/aggregations/bucket.ts#L796-L860', -'_types.aggregations.SignificantTermsBucketBase': '_types/aggregations/Aggregate.ts#L597-L600', -'_types.aggregations.SignificantTextAggregation': '_types/aggregations/bucket.ts#L862-L934', -'_types.aggregations.SimpleMovingAverageAggregation': '_types/aggregations/pipeline.ts#L247-L250', -'_types.aggregations.SimpleValueAggregate': '_types/aggregations/Aggregate.ts#L225-L226', -'_types.aggregations.SingleBucketAggregateBase': '_types/aggregations/Aggregate.ts#L476-L486', -'_types.aggregations.SingleMetricAggregateBase': '_types/aggregations/Aggregate.ts#L184-L193', -'_types.aggregations.StandardDeviationBounds': '_types/aggregations/Aggregate.ts#L261-L268', -'_types.aggregations.StandardDeviationBoundsAsString': '_types/aggregations/Aggregate.ts#L270-L277', -'_types.aggregations.StatsAggregate': '_types/aggregations/Aggregate.ts#L241-L256', -'_types.aggregations.StatsAggregation': '_types/aggregations/metric.ts#L282-L282', -'_types.aggregations.StatsBucketAggregate': '_types/aggregations/Aggregate.ts#L258-L259', -'_types.aggregations.StatsBucketAggregation': '_types/aggregations/pipeline.ts#L369-L369', -'_types.aggregations.StringRareTermsAggregate': '_types/aggregations/Aggregate.ts#L446-L450', -'_types.aggregations.StringRareTermsBucket': '_types/aggregations/Aggregate.ts#L452-L454', -'_types.aggregations.StringStatsAggregate': '_types/aggregations/Aggregate.ts#L708-L719', -'_types.aggregations.StringStatsAggregation': '_types/aggregations/metric.ts#L284-L290', -'_types.aggregations.StringTermsAggregate': '_types/aggregations/Aggregate.ts#L387-L392', -'_types.aggregations.StringTermsBucket': '_types/aggregations/Aggregate.ts#L398-L400', -'_types.aggregations.SumAggregate': '_types/aggregations/Aggregate.ts#L204-L208', -'_types.aggregations.SumAggregation': '_types/aggregations/metric.ts#L292-L292', -'_types.aggregations.SumBucketAggregation': '_types/aggregations/pipeline.ts#L371-L371', -'_types.aggregations.TDigest': '_types/aggregations/metric.ts#L223-L228', -'_types.aggregations.TDigestPercentileRanksAggregate': '_types/aggregations/Aggregate.ts#L176-L177', -'_types.aggregations.TDigestPercentilesAggregate': '_types/aggregations/Aggregate.ts#L173-L174', -'_types.aggregations.TTestAggregate': '_types/aggregations/Aggregate.ts#L750-L754', -'_types.aggregations.TTestAggregation': '_types/aggregations/metric.ts#L294-L308', -'_types.aggregations.TTestType': '_types/aggregations/metric.ts#L322-L335', -'_types.aggregations.TermsAggregateBase': '_types/aggregations/Aggregate.ts#L380-L385', -'_types.aggregations.TermsAggregation': '_types/aggregations/bucket.ts#L936-L1001', -'_types.aggregations.TermsAggregationCollectMode': '_types/aggregations/bucket.ts#L1023-L1032', -'_types.aggregations.TermsAggregationExecutionHint': '_types/aggregations/bucket.ts#L1034-L1039', -'_types.aggregations.TermsBucketBase': '_types/aggregations/Aggregate.ts#L394-L396', -'_types.aggregations.TermsExclude': '_types/aggregations/bucket.ts#L1044-L1045', -'_types.aggregations.TermsInclude': '_types/aggregations/bucket.ts#L1041-L1042', -'_types.aggregations.TermsPartition': '_types/aggregations/bucket.ts#L1047-L1056', -'_types.aggregations.TestPopulation': '_types/aggregations/metric.ts#L310-L320', -'_types.aggregations.TimeSeriesAggregate': '_types/aggregations/Aggregate.ts#L652-L653', -'_types.aggregations.TimeSeriesAggregation': '_types/aggregations/bucket.ts#L1003-L1013', -'_types.aggregations.TimeSeriesBucket': '_types/aggregations/Aggregate.ts#L655-L657', -'_types.aggregations.TopHitsAggregate': '_types/aggregations/Aggregate.ts#L666-L669', -'_types.aggregations.TopHitsAggregation': '_types/aggregations/metric.ts#L337-L397', -'_types.aggregations.TopMetrics': '_types/aggregations/Aggregate.ts#L744-L748', -'_types.aggregations.TopMetricsAggregate': '_types/aggregations/Aggregate.ts#L739-L742', -'_types.aggregations.TopMetricsAggregation': '_types/aggregations/metric.ts#L399-L413', -'_types.aggregations.TopMetricsValue': '_types/aggregations/metric.ts#L415-L420', -'_types.aggregations.UnmappedRareTermsAggregate': '_types/aggregations/Aggregate.ts#L456-L462', -'_types.aggregations.UnmappedSamplerAggregate': '_types/aggregations/Aggregate.ts#L506-L507', -'_types.aggregations.UnmappedSignificantTermsAggregate': '_types/aggregations/Aggregate.ts#L615-L621', -'_types.aggregations.UnmappedTermsAggregate': '_types/aggregations/Aggregate.ts#L426-L432', -'_types.aggregations.ValueCountAggregate': '_types/aggregations/Aggregate.ts#L219-L223', -'_types.aggregations.ValueCountAggregation': '_types/aggregations/metric.ts#L422-L422', -'_types.aggregations.ValueType': '_types/aggregations/metric.ts#L424-L435', -'_types.aggregations.VariableWidthHistogramAggregate': '_types/aggregations/Aggregate.ts#L365-L367', -'_types.aggregations.VariableWidthHistogramAggregation': '_types/aggregations/bucket.ts#L1058-L1079', -'_types.aggregations.VariableWidthHistogramBucket': '_types/aggregations/Aggregate.ts#L369-L376', -'_types.aggregations.WeightedAverageAggregation': '_types/aggregations/metric.ts#L437-L451', -'_types.aggregations.WeightedAverageValue': '_types/aggregations/metric.ts#L453-L463', -'_types.aggregations.WeightedAvgAggregate': '_types/aggregations/Aggregate.ts#L213-L217', +'_types.aggregations.RandomSamplerAggregation': '_types/aggregations/bucket.ts#L749-L769', +'_types.aggregations.RangeAggregate': '_types/aggregations/Aggregate.ts#L594-L598', +'_types.aggregations.RangeAggregation': '_types/aggregations/bucket.ts#L669-L689', +'_types.aggregations.RangeBucket': '_types/aggregations/Aggregate.ts#L600-L607', +'_types.aggregations.RareTermsAggregation': '_types/aggregations/bucket.ts#L706-L739', +'_types.aggregations.RateAggregate': '_types/aggregations/Aggregate.ts#L847-L854', +'_types.aggregations.RateAggregation': '_types/aggregations/metric.ts#L239-L250', +'_types.aggregations.RateMode': '_types/aggregations/metric.ts#L252-L261', +'_types.aggregations.ReverseNestedAggregate': '_types/aggregations/Aggregate.ts#L540-L544', +'_types.aggregations.ReverseNestedAggregation': '_types/aggregations/bucket.ts#L741-L747', +'_types.aggregations.SamplerAggregate': '_types/aggregations/Aggregate.ts#L558-L559', +'_types.aggregations.SamplerAggregation': '_types/aggregations/bucket.ts#L771-L780', +'_types.aggregations.SamplerAggregationExecutionHint': '_types/aggregations/bucket.ts#L359-L372', +'_types.aggregations.ScriptedHeuristic': '_types/aggregations/bucket.ts#L813-L815', +'_types.aggregations.ScriptedMetricAggregate': '_types/aggregations/Aggregate.ts#L739-L745', +'_types.aggregations.ScriptedMetricAggregation': '_types/aggregations/metric.ts#L263-L289', +'_types.aggregations.SerialDifferencingAggregation': '_types/aggregations/pipeline.ts#L399-L408', +'_types.aggregations.SignificantLongTermsAggregate': '_types/aggregations/Aggregate.ts#L668-L670', +'_types.aggregations.SignificantLongTermsBucket': '_types/aggregations/Aggregate.ts#L677-L680', +'_types.aggregations.SignificantStringTermsAggregate': '_types/aggregations/Aggregate.ts#L682-L684', +'_types.aggregations.SignificantStringTermsBucket': '_types/aggregations/Aggregate.ts#L686-L688', +'_types.aggregations.SignificantTermsAggregateBase': '_types/aggregations/Aggregate.ts#L658-L666', +'_types.aggregations.SignificantTermsAggregation': '_types/aggregations/bucket.ts#L817-L884', +'_types.aggregations.SignificantTermsBucketBase': '_types/aggregations/Aggregate.ts#L672-L675', +'_types.aggregations.SignificantTextAggregation': '_types/aggregations/bucket.ts#L886-L961', +'_types.aggregations.SimpleMovingAverageAggregation': '_types/aggregations/pipeline.ts#L273-L276', +'_types.aggregations.SimpleValueAggregate': '_types/aggregations/Aggregate.ts#L238-L239', +'_types.aggregations.SingleBucketAggregateBase': '_types/aggregations/Aggregate.ts#L516-L526', +'_types.aggregations.SingleMetricAggregateBase': '_types/aggregations/Aggregate.ts#L185-L194', +'_types.aggregations.StandardDeviationBounds': '_types/aggregations/Aggregate.ts#L281-L288', +'_types.aggregations.StandardDeviationBoundsAsString': '_types/aggregations/Aggregate.ts#L290-L297', +'_types.aggregations.StatsAggregate': '_types/aggregations/Aggregate.ts#L257-L273', +'_types.aggregations.StatsAggregation': '_types/aggregations/metric.ts#L291-L291', +'_types.aggregations.StatsBucketAggregate': '_types/aggregations/Aggregate.ts#L275-L279', +'_types.aggregations.StatsBucketAggregation': '_types/aggregations/pipeline.ts#L410-L410', +'_types.aggregations.StringRareTermsAggregate': '_types/aggregations/Aggregate.ts#L483-L487', +'_types.aggregations.StringRareTermsBucket': '_types/aggregations/Aggregate.ts#L489-L491', +'_types.aggregations.StringStatsAggregate': '_types/aggregations/Aggregate.ts#L793-L804', +'_types.aggregations.StringStatsAggregation': '_types/aggregations/metric.ts#L293-L299', +'_types.aggregations.StringTermsAggregate': '_types/aggregations/Aggregate.ts#L424-L429', +'_types.aggregations.StringTermsBucket': '_types/aggregations/Aggregate.ts#L435-L437', +'_types.aggregations.SumAggregate': '_types/aggregations/Aggregate.ts#L211-L216', +'_types.aggregations.SumAggregation': '_types/aggregations/metric.ts#L301-L301', +'_types.aggregations.SumBucketAggregation': '_types/aggregations/pipeline.ts#L412-L415', +'_types.aggregations.TDigest': '_types/aggregations/metric.ts#L232-L237', +'_types.aggregations.TDigestPercentileRanksAggregate': '_types/aggregations/Aggregate.ts#L177-L178', +'_types.aggregations.TDigestPercentilesAggregate': '_types/aggregations/Aggregate.ts#L174-L175', +'_types.aggregations.TTestAggregate': '_types/aggregations/Aggregate.ts#L838-L845', +'_types.aggregations.TTestAggregation': '_types/aggregations/metric.ts#L303-L317', +'_types.aggregations.TTestType': '_types/aggregations/metric.ts#L331-L344', +'_types.aggregations.TermsAggregateBase': '_types/aggregations/Aggregate.ts#L417-L422', +'_types.aggregations.TermsAggregation': '_types/aggregations/bucket.ts#L963-L1031', +'_types.aggregations.TermsAggregationCollectMode': '_types/aggregations/bucket.ts#L1056-L1065', +'_types.aggregations.TermsAggregationExecutionHint': '_types/aggregations/bucket.ts#L1067-L1072', +'_types.aggregations.TermsBucketBase': '_types/aggregations/Aggregate.ts#L431-L433', +'_types.aggregations.TermsExclude': '_types/aggregations/bucket.ts#L1077-L1078', +'_types.aggregations.TermsInclude': '_types/aggregations/bucket.ts#L1074-L1075', +'_types.aggregations.TermsPartition': '_types/aggregations/bucket.ts#L1080-L1089', +'_types.aggregations.TestPopulation': '_types/aggregations/metric.ts#L319-L329', +'_types.aggregations.TimeSeriesAggregate': '_types/aggregations/Aggregate.ts#L730-L731', +'_types.aggregations.TimeSeriesAggregation': '_types/aggregations/bucket.ts#L1033-L1046', +'_types.aggregations.TimeSeriesBucket': '_types/aggregations/Aggregate.ts#L733-L735', +'_types.aggregations.TopHitsAggregate': '_types/aggregations/Aggregate.ts#L747-L753', +'_types.aggregations.TopHitsAggregation': '_types/aggregations/metric.ts#L346-L406', +'_types.aggregations.TopMetrics': '_types/aggregations/Aggregate.ts#L832-L836', +'_types.aggregations.TopMetricsAggregate': '_types/aggregations/Aggregate.ts#L827-L830', +'_types.aggregations.TopMetricsAggregation': '_types/aggregations/metric.ts#L408-L425', +'_types.aggregations.TopMetricsValue': '_types/aggregations/metric.ts#L427-L432', +'_types.aggregations.UnmappedRareTermsAggregate': '_types/aggregations/Aggregate.ts#L493-L499', +'_types.aggregations.UnmappedSamplerAggregate': '_types/aggregations/Aggregate.ts#L561-L562', +'_types.aggregations.UnmappedSignificantTermsAggregate': '_types/aggregations/Aggregate.ts#L690-L696', +'_types.aggregations.UnmappedTermsAggregate': '_types/aggregations/Aggregate.ts#L463-L469', +'_types.aggregations.ValueCountAggregate': '_types/aggregations/Aggregate.ts#L231-L236', +'_types.aggregations.ValueCountAggregation': '_types/aggregations/metric.ts#L434-L434', +'_types.aggregations.ValueType': '_types/aggregations/metric.ts#L436-L447', +'_types.aggregations.VariableWidthHistogramAggregate': '_types/aggregations/Aggregate.ts#L402-L404', +'_types.aggregations.VariableWidthHistogramAggregation': '_types/aggregations/bucket.ts#L1091-L1115', +'_types.aggregations.VariableWidthHistogramBucket': '_types/aggregations/Aggregate.ts#L406-L413', +'_types.aggregations.WeightedAverageAggregation': '_types/aggregations/metric.ts#L449-L463', +'_types.aggregations.WeightedAverageValue': '_types/aggregations/metric.ts#L465-L475', +'_types.aggregations.WeightedAvgAggregate': '_types/aggregations/Aggregate.ts#L224-L229', '_types.analysis.Analyzer': '_types/analysis/analyzers.ts#L359-L413', '_types.analysis.ArabicAnalyzer': '_types/analysis/analyzers.ts#L61-L66', '_types.analysis.ArmenianAnalyzer': '_types/analysis/analyzers.ts#L68-L73', @@ -635,9 +635,9 @@ '_types.analysis.BrazilianAnalyzer': '_types/analysis/analyzers.ts#L89-L93', '_types.analysis.BulgarianAnalyzer': '_types/analysis/analyzers.ts#L95-L100', '_types.analysis.CatalanAnalyzer': '_types/analysis/analyzers.ts#L102-L107', -'_types.analysis.CharFilter': '_types/analysis/char_filters.ts#L28-L30', +'_types.analysis.CharFilter': '_types/analysis/char_filters.ts#L28-L33', '_types.analysis.CharFilterBase': '_types/analysis/char_filters.ts#L24-L26', -'_types.analysis.CharFilterDefinition': '_types/analysis/char_filters.ts#L32-L41', +'_types.analysis.CharFilterDefinition': '_types/analysis/char_filters.ts#L35-L44', '_types.analysis.CharGroupTokenizer': '_types/analysis/tokenizers.ts#L31-L38', '_types.analysis.ChineseAnalyzer': '_types/analysis/analyzers.ts#L109-L113', '_types.analysis.CjkAnalyzer': '_types/analysis/analyzers.ts#L115-L119', @@ -667,7 +667,7 @@ '_types.analysis.GermanAnalyzer': '_types/analysis/analyzers.ts#L175-L180', '_types.analysis.GreekAnalyzer': '_types/analysis/analyzers.ts#L182-L186', '_types.analysis.HindiAnalyzer': '_types/analysis/analyzers.ts#L188-L193', -'_types.analysis.HtmlStripCharFilter': '_types/analysis/char_filters.ts#L43-L46', +'_types.analysis.HtmlStripCharFilter': '_types/analysis/char_filters.ts#L46-L49', '_types.analysis.HungarianAnalyzer': '_types/analysis/analyzers.ts#L195-L200', '_types.analysis.HunspellTokenFilter': '_types/analysis/token_filters.ts#L201-L207', '_types.analysis.HyphenationDecompounderTokenFilter': '_types/analysis/token_filters.ts#L57-L59', @@ -712,7 +712,7 @@ '_types.analysis.LowercaseNormalizer': '_types/analysis/normalizers.ts#L26-L28', '_types.analysis.LowercaseTokenFilter': '_types/analysis/token_filters.ts#L256-L259', '_types.analysis.LowercaseTokenizer': '_types/analysis/tokenizers.ts#L80-L82', -'_types.analysis.MappingCharFilter': '_types/analysis/char_filters.ts#L48-L52', +'_types.analysis.MappingCharFilter': '_types/analysis/char_filters.ts#L51-L55', '_types.analysis.MultiplexerTokenFilter': '_types/analysis/token_filters.ts#L261-L265', '_types.analysis.NGramTokenFilter': '_types/analysis/token_filters.ts#L267-L272', '_types.analysis.NGramTokenizer': '_types/analysis/tokenizers.ts#L84-L93', @@ -725,7 +725,7 @@ '_types.analysis.PathHierarchyTokenizer': '_types/analysis/tokenizers.ts#L95-L102', '_types.analysis.PatternAnalyzer': '_types/analysis/analyzers.ts#L320-L327', '_types.analysis.PatternCaptureTokenFilter': '_types/analysis/token_filters.ts#L279-L283', -'_types.analysis.PatternReplaceCharFilter': '_types/analysis/char_filters.ts#L54-L59', +'_types.analysis.PatternReplaceCharFilter': '_types/analysis/char_filters.ts#L57-L62', '_types.analysis.PatternReplaceTokenFilter': '_types/analysis/token_filters.ts#L285-L291', '_types.analysis.PatternTokenizer': '_types/analysis/tokenizers.ts#L104-L109', '_types.analysis.PersianAnalyzer': '_types/analysis/analyzers.ts#L244-L248', @@ -764,12 +764,12 @@ '_types.analysis.ThaiAnalyzer': '_types/analysis/analyzers.ts#L306-L310', '_types.analysis.ThaiTokenizer': '_types/analysis/tokenizers.ts#L126-L128', '_types.analysis.TokenChar': '_types/analysis/tokenizers.ts#L59-L66', -'_types.analysis.TokenFilter': '_types/analysis/token_filters.ts#L345-L347', +'_types.analysis.TokenFilter': '_types/analysis/token_filters.ts#L345-L350', '_types.analysis.TokenFilterBase': '_types/analysis/token_filters.ts#L39-L41', -'_types.analysis.TokenFilterDefinition': '_types/analysis/token_filters.ts#L349-L401', -'_types.analysis.Tokenizer': '_types/analysis/tokenizers.ts#L140-L142', +'_types.analysis.TokenFilterDefinition': '_types/analysis/token_filters.ts#L352-L404', +'_types.analysis.Tokenizer': '_types/analysis/tokenizers.ts#L140-L145', '_types.analysis.TokenizerBase': '_types/analysis/tokenizers.ts#L27-L29', -'_types.analysis.TokenizerDefinition': '_types/analysis/tokenizers.ts#L144-L167', +'_types.analysis.TokenizerDefinition': '_types/analysis/tokenizers.ts#L147-L170', '_types.analysis.TrimTokenFilter': '_types/analysis/token_filters.ts#L327-L329', '_types.analysis.TruncateTokenFilter': '_types/analysis/token_filters.ts#L331-L334', '_types.analysis.TurkishAnalyzer': '_types/analysis/analyzers.ts#L299-L304', @@ -865,46 +865,46 @@ '_types.mapping.UnsignedLongNumberProperty': '_types/mapping/core.ts#L177-L180', '_types.mapping.VersionProperty': '_types/mapping/core.ts#L289-L291', '_types.mapping.WildcardProperty': '_types/mapping/core.ts#L293-L300', -'_types.query_dsl.BoolQuery': '_types/query_dsl/compound.ts#L29-L53', -'_types.query_dsl.BoostingQuery': '_types/query_dsl/compound.ts#L55-L68', +'_types.query_dsl.BoolQuery': '_types/query_dsl/compound.ts#L29-L56', +'_types.query_dsl.BoostingQuery': '_types/query_dsl/compound.ts#L58-L74', '_types.query_dsl.ChildScoreMode': '_types/query_dsl/joining.ts#L25-L39', -'_types.query_dsl.CombinedFieldsOperator': '_types/query_dsl/abstractions.ts#L509-L512', +'_types.query_dsl.CombinedFieldsOperator': '_types/query_dsl/abstractions.ts#L512-L515', '_types.query_dsl.CombinedFieldsQuery': '_types/query_dsl/abstractions.ts#L465-L499', -'_types.query_dsl.CombinedFieldsZeroTerms': '_types/query_dsl/abstractions.ts#L514-L523', +'_types.query_dsl.CombinedFieldsZeroTerms': '_types/query_dsl/abstractions.ts#L517-L526', '_types.query_dsl.CommonTermsQuery': '_types/query_dsl/fulltext.ts#L34-L44', -'_types.query_dsl.ConstantScoreQuery': '_types/query_dsl/compound.ts#L70-L77', -'_types.query_dsl.DateDecayFunction': '_types/query_dsl/compound.ts#L196-L196', +'_types.query_dsl.ConstantScoreQuery': '_types/query_dsl/compound.ts#L76-L86', +'_types.query_dsl.DateDecayFunction': '_types/query_dsl/compound.ts#L209-L209', '_types.query_dsl.DateDistanceFeatureQuery': '_types/query_dsl/specialized.ts#L71-L74', -'_types.query_dsl.DateRangeQuery': '_types/query_dsl/term.ts#L149-L158', -'_types.query_dsl.DecayFunction': '_types/query_dsl/compound.ts#L202-L211', -'_types.query_dsl.DecayFunctionBase': '_types/query_dsl/compound.ts#L178-L189', -'_types.query_dsl.DecayPlacement': '_types/query_dsl/compound.ts#L157-L176', -'_types.query_dsl.DisMaxQuery': '_types/query_dsl/compound.ts#L79-L91', -'_types.query_dsl.DistanceFeatureQuery': '_types/query_dsl/specialized.ts#L76-L84', +'_types.query_dsl.DateRangeQuery': '_types/query_dsl/term.ts#L161-L170', +'_types.query_dsl.DecayFunction': '_types/query_dsl/compound.ts#L215-L224', +'_types.query_dsl.DecayFunctionBase': '_types/query_dsl/compound.ts#L191-L202', +'_types.query_dsl.DecayPlacement': '_types/query_dsl/compound.ts#L170-L189', +'_types.query_dsl.DisMaxQuery': '_types/query_dsl/compound.ts#L88-L103', +'_types.query_dsl.DistanceFeatureQuery': '_types/query_dsl/specialized.ts#L76-L85', '_types.query_dsl.DistanceFeatureQueryBase': '_types/query_dsl/specialized.ts#L39-L59', -'_types.query_dsl.ExistsQuery': '_types/query_dsl/term.ts#L38-L43', -'_types.query_dsl.FieldAndFormat': '_types/query_dsl/abstractions.ts#L525-L539', +'_types.query_dsl.ExistsQuery': '_types/query_dsl/term.ts#L38-L46', +'_types.query_dsl.FieldAndFormat': '_types/query_dsl/abstractions.ts#L528-L542', '_types.query_dsl.FieldLookup': '_types/query_dsl/abstractions.ts#L429-L446', -'_types.query_dsl.FieldValueFactorModifier': '_types/query_dsl/compound.ts#L310-L353', -'_types.query_dsl.FieldValueFactorScoreFunction': '_types/query_dsl/compound.ts#L136-L155', -'_types.query_dsl.FunctionBoostMode': '_types/query_dsl/compound.ts#L282-L308', -'_types.query_dsl.FunctionScoreContainer': '_types/query_dsl/compound.ts#L213-L253', -'_types.query_dsl.FunctionScoreMode': '_types/query_dsl/compound.ts#L255-L280', -'_types.query_dsl.FunctionScoreQuery': '_types/query_dsl/compound.ts#L93-L122', -'_types.query_dsl.FuzzyQuery': '_types/query_dsl/term.ts#L45-L80', -'_types.query_dsl.GeoBoundingBoxQuery': '_types/query_dsl/geo.ts#L32-L53', -'_types.query_dsl.GeoDecayFunction': '_types/query_dsl/compound.ts#L197-L200', +'_types.query_dsl.FieldValueFactorModifier': '_types/query_dsl/compound.ts#L323-L366', +'_types.query_dsl.FieldValueFactorScoreFunction': '_types/query_dsl/compound.ts#L149-L168', +'_types.query_dsl.FunctionBoostMode': '_types/query_dsl/compound.ts#L295-L321', +'_types.query_dsl.FunctionScoreContainer': '_types/query_dsl/compound.ts#L226-L266', +'_types.query_dsl.FunctionScoreMode': '_types/query_dsl/compound.ts#L268-L293', +'_types.query_dsl.FunctionScoreQuery': '_types/query_dsl/compound.ts#L105-L135', +'_types.query_dsl.FuzzyQuery': '_types/query_dsl/term.ts#L48-L86', +'_types.query_dsl.GeoBoundingBoxQuery': '_types/query_dsl/geo.ts#L32-L54', +'_types.query_dsl.GeoDecayFunction': '_types/query_dsl/compound.ts#L210-L213', '_types.query_dsl.GeoDistanceFeatureQuery': '_types/query_dsl/specialized.ts#L66-L69', -'_types.query_dsl.GeoDistanceQuery': '_types/query_dsl/geo.ts#L60-L91', -'_types.query_dsl.GeoExecution': '_types/query_dsl/geo.ts#L55-L58', -'_types.query_dsl.GeoPolygonPoints': '_types/query_dsl/geo.ts#L93-L95', -'_types.query_dsl.GeoPolygonQuery': '_types/query_dsl/geo.ts#L97-L108', -'_types.query_dsl.GeoShapeFieldQuery': '_types/query_dsl/geo.ts#L115-L126', -'_types.query_dsl.GeoShapeQuery': '_types/query_dsl/geo.ts#L128-L143', -'_types.query_dsl.GeoValidationMethod': '_types/query_dsl/geo.ts#L159-L169', -'_types.query_dsl.HasChildQuery': '_types/query_dsl/joining.ts#L41-L76', -'_types.query_dsl.HasParentQuery': '_types/query_dsl/joining.ts#L78-L104', -'_types.query_dsl.IdsQuery': '_types/query_dsl/term.ts#L82-L87', +'_types.query_dsl.GeoDistanceQuery': '_types/query_dsl/geo.ts#L61-L93', +'_types.query_dsl.GeoExecution': '_types/query_dsl/geo.ts#L56-L59', +'_types.query_dsl.GeoPolygonPoints': '_types/query_dsl/geo.ts#L95-L97', +'_types.query_dsl.GeoPolygonQuery': '_types/query_dsl/geo.ts#L99-L111', +'_types.query_dsl.GeoShapeFieldQuery': '_types/query_dsl/geo.ts#L118-L129', +'_types.query_dsl.GeoShapeQuery': '_types/query_dsl/geo.ts#L131-L147', +'_types.query_dsl.GeoValidationMethod': '_types/query_dsl/geo.ts#L163-L173', +'_types.query_dsl.HasChildQuery': '_types/query_dsl/joining.ts#L41-L79', +'_types.query_dsl.HasParentQuery': '_types/query_dsl/joining.ts#L81-L110', +'_types.query_dsl.IdsQuery': '_types/query_dsl/term.ts#L88-L96', '_types.query_dsl.IntervalsAllOf': '_types/query_dsl/fulltext.ts#L50-L70', '_types.query_dsl.IntervalsAnyOf': '_types/query_dsl/fulltext.ts#L72-L81', '_types.query_dsl.IntervalsContainer': '_types/query_dsl/fulltext.ts#L83-L110', @@ -912,90 +912,90 @@ '_types.query_dsl.IntervalsFuzzy': '_types/query_dsl/fulltext.ts#L154-L184', '_types.query_dsl.IntervalsMatch': '_types/query_dsl/fulltext.ts#L186-L216', '_types.query_dsl.IntervalsPrefix': '_types/query_dsl/fulltext.ts#L218-L233', -'_types.query_dsl.IntervalsQuery': '_types/query_dsl/fulltext.ts#L235-L263', -'_types.query_dsl.IntervalsWildcard': '_types/query_dsl/fulltext.ts#L265-L280', -'_types.query_dsl.Like': '_types/query_dsl/specialized.ts#L194-L199', -'_types.query_dsl.LikeDocument': '_types/query_dsl/specialized.ts#L170-L192', -'_types.query_dsl.MatchAllQuery': '_types/query_dsl/MatchAllQuery.ts#L22-L22', -'_types.query_dsl.MatchBoolPrefixQuery': '_types/query_dsl/fulltext.ts#L349-L403', -'_types.query_dsl.MatchNoneQuery': '_types/query_dsl/MatchNoneQuery.ts#L22-L22', -'_types.query_dsl.MatchPhrasePrefixQuery': '_types/query_dsl/fulltext.ts#L428-L454', -'_types.query_dsl.MatchPhraseQuery': '_types/query_dsl/fulltext.ts#L405-L426', -'_types.query_dsl.MatchQuery': '_types/query_dsl/fulltext.ts#L282-L347', -'_types.query_dsl.MoreLikeThisQuery': '_types/query_dsl/specialized.ts#L86-L168', -'_types.query_dsl.MultiMatchQuery': '_types/query_dsl/fulltext.ts#L456-L539', -'_types.query_dsl.MultiValueMode': '_types/query_dsl/compound.ts#L355-L372', -'_types.query_dsl.NestedQuery': '_types/query_dsl/joining.ts#L106-L130', -'_types.query_dsl.NumberRangeQuery': '_types/query_dsl/term.ts#L160-L160', -'_types.query_dsl.NumericDecayFunction': '_types/query_dsl/compound.ts#L195-L195', +'_types.query_dsl.IntervalsQuery': '_types/query_dsl/fulltext.ts#L235-L266', +'_types.query_dsl.IntervalsWildcard': '_types/query_dsl/fulltext.ts#L268-L283', +'_types.query_dsl.Like': '_types/query_dsl/specialized.ts#L198-L203', +'_types.query_dsl.LikeDocument': '_types/query_dsl/specialized.ts#L174-L196', +'_types.query_dsl.MatchAllQuery': '_types/query_dsl/MatchAllQuery.ts#L22-L25', +'_types.query_dsl.MatchBoolPrefixQuery': '_types/query_dsl/fulltext.ts#L355-L412', +'_types.query_dsl.MatchNoneQuery': '_types/query_dsl/MatchNoneQuery.ts#L22-L25', +'_types.query_dsl.MatchPhrasePrefixQuery': '_types/query_dsl/fulltext.ts#L440-L469', +'_types.query_dsl.MatchPhraseQuery': '_types/query_dsl/fulltext.ts#L414-L438', +'_types.query_dsl.MatchQuery': '_types/query_dsl/fulltext.ts#L285-L353', +'_types.query_dsl.MoreLikeThisQuery': '_types/query_dsl/specialized.ts#L87-L172', +'_types.query_dsl.MultiMatchQuery': '_types/query_dsl/fulltext.ts#L471-L557', +'_types.query_dsl.MultiValueMode': '_types/query_dsl/compound.ts#L368-L385', +'_types.query_dsl.NestedQuery': '_types/query_dsl/joining.ts#L112-L139', +'_types.query_dsl.NumberRangeQuery': '_types/query_dsl/term.ts#L172-L172', +'_types.query_dsl.NumericDecayFunction': '_types/query_dsl/compound.ts#L208-L208', '_types.query_dsl.Operator': '_types/query_dsl/Operator.ts#L22-L27', -'_types.query_dsl.ParentIdQuery': '_types/query_dsl/joining.ts#L132-L146', -'_types.query_dsl.PercolateQuery': '_types/query_dsl/specialized.ts#L201-L238', -'_types.query_dsl.PinnedDoc': '_types/query_dsl/specialized.ts#L261-L270', -'_types.query_dsl.PinnedQuery': '_types/query_dsl/specialized.ts#L240-L259', -'_types.query_dsl.PrefixQuery': '_types/query_dsl/term.ts#L89-L108', +'_types.query_dsl.ParentIdQuery': '_types/query_dsl/joining.ts#L141-L158', +'_types.query_dsl.PercolateQuery': '_types/query_dsl/specialized.ts#L205-L245', +'_types.query_dsl.PinnedDoc': '_types/query_dsl/specialized.ts#L269-L278', +'_types.query_dsl.PinnedQuery': '_types/query_dsl/specialized.ts#L247-L267', +'_types.query_dsl.PrefixQuery': '_types/query_dsl/term.ts#L98-L120', '_types.query_dsl.QueryBase': '_types/query_dsl/abstractions.ts#L452-L463', '_types.query_dsl.QueryContainer': '_types/query_dsl/abstractions.ts#L102-L427', -'_types.query_dsl.QueryStringQuery': '_types/query_dsl/fulltext.ts#L580-L700', -'_types.query_dsl.RandomScoreFunction': '_types/query_dsl/compound.ts#L131-L134', -'_types.query_dsl.RangeQuery': '_types/query_dsl/term.ts#L164-L173', -'_types.query_dsl.RangeQueryBase': '_types/query_dsl/term.ts#L110-L136', -'_types.query_dsl.RangeRelation': '_types/query_dsl/term.ts#L175-L188', -'_types.query_dsl.RankFeatureFunction': '_types/query_dsl/specialized.ts#L272-L272', -'_types.query_dsl.RankFeatureFunctionLinear': '_types/query_dsl/specialized.ts#L274-L274', -'_types.query_dsl.RankFeatureFunctionLogarithm': '_types/query_dsl/specialized.ts#L276-L281', -'_types.query_dsl.RankFeatureFunctionSaturation': '_types/query_dsl/specialized.ts#L283-L288', -'_types.query_dsl.RankFeatureFunctionSigmoid': '_types/query_dsl/specialized.ts#L290-L299', -'_types.query_dsl.RankFeatureQuery': '_types/query_dsl/specialized.ts#L301-L324', -'_types.query_dsl.RegexpQuery': '_types/query_dsl/term.ts#L190-L220', -'_types.query_dsl.RuleQuery': '_types/query_dsl/specialized.ts#L380-L384', -'_types.query_dsl.ScriptQuery': '_types/query_dsl/specialized.ts#L326-L332', -'_types.query_dsl.ScriptScoreFunction': '_types/query_dsl/compound.ts#L124-L129', -'_types.query_dsl.ScriptScoreQuery': '_types/query_dsl/specialized.ts#L334-L348', -'_types.query_dsl.SemanticQuery': '_types/query_dsl/SemanticQuery.ts#L22-L27', -'_types.query_dsl.ShapeFieldQuery': '_types/query_dsl/specialized.ts#L365-L378', -'_types.query_dsl.ShapeQuery': '_types/query_dsl/specialized.ts#L350-L363', -'_types.query_dsl.SimpleQueryStringFlag': '_types/query_dsl/fulltext.ts#L708-L763', -'_types.query_dsl.SimpleQueryStringQuery': '_types/query_dsl/fulltext.ts#L765-L830', -'_types.query_dsl.SpanContainingQuery': '_types/query_dsl/span.ts#L25-L36', -'_types.query_dsl.SpanFieldMaskingQuery': '_types/query_dsl/span.ts#L38-L41', -'_types.query_dsl.SpanFirstQuery': '_types/query_dsl/span.ts#L43-L52', -'_types.query_dsl.SpanMultiTermQuery': '_types/query_dsl/span.ts#L58-L63', -'_types.query_dsl.SpanNearQuery': '_types/query_dsl/span.ts#L65-L78', -'_types.query_dsl.SpanNotQuery': '_types/query_dsl/span.ts#L80-L104', -'_types.query_dsl.SpanOrQuery': '_types/query_dsl/span.ts#L106-L111', -'_types.query_dsl.SpanQuery': '_types/query_dsl/span.ts#L131-L173', -'_types.query_dsl.SpanTermQuery': '_types/query_dsl/span.ts#L113-L116', -'_types.query_dsl.SpanWithinQuery': '_types/query_dsl/span.ts#L118-L129', -'_types.query_dsl.SparseVectorQuery': '_types/query_dsl/SparseVectorQuery.ts#L26-L79', -'_types.query_dsl.TermQuery': '_types/query_dsl/term.ts#L222-L236', -'_types.query_dsl.TermRangeQuery': '_types/query_dsl/term.ts#L162-L162', -'_types.query_dsl.TermsLookup': '_types/query_dsl/term.ts#L250-L255', -'_types.query_dsl.TermsQuery': '_types/query_dsl/term.ts#L238-L243', -'_types.query_dsl.TermsQueryField': '_types/query_dsl/term.ts#L245-L248', -'_types.query_dsl.TermsSetQuery': '_types/query_dsl/term.ts#L257-L276', -'_types.query_dsl.TextExpansionQuery': '_types/query_dsl/TextExpansionQuery.ts#L23-L33', -'_types.query_dsl.TextQueryType': '_types/query_dsl/fulltext.ts#L541-L567', +'_types.query_dsl.QueryStringQuery': '_types/query_dsl/fulltext.ts#L598-L721', +'_types.query_dsl.RandomScoreFunction': '_types/query_dsl/compound.ts#L144-L147', +'_types.query_dsl.RangeQuery': '_types/query_dsl/term.ts#L176-L186', +'_types.query_dsl.RangeQueryBase': '_types/query_dsl/term.ts#L122-L148', +'_types.query_dsl.RangeRelation': '_types/query_dsl/term.ts#L188-L201', +'_types.query_dsl.RankFeatureFunction': '_types/query_dsl/specialized.ts#L280-L280', +'_types.query_dsl.RankFeatureFunctionLinear': '_types/query_dsl/specialized.ts#L282-L282', +'_types.query_dsl.RankFeatureFunctionLogarithm': '_types/query_dsl/specialized.ts#L284-L289', +'_types.query_dsl.RankFeatureFunctionSaturation': '_types/query_dsl/specialized.ts#L291-L296', +'_types.query_dsl.RankFeatureFunctionSigmoid': '_types/query_dsl/specialized.ts#L298-L307', +'_types.query_dsl.RankFeatureQuery': '_types/query_dsl/specialized.ts#L309-L335', +'_types.query_dsl.RegexpQuery': '_types/query_dsl/term.ts#L203-L236', +'_types.query_dsl.RuleQuery': '_types/query_dsl/specialized.ts#L398-L405', +'_types.query_dsl.ScriptQuery': '_types/query_dsl/specialized.ts#L337-L346', +'_types.query_dsl.ScriptScoreFunction': '_types/query_dsl/compound.ts#L137-L142', +'_types.query_dsl.ScriptScoreQuery': '_types/query_dsl/specialized.ts#L348-L365', +'_types.query_dsl.SemanticQuery': '_types/query_dsl/SemanticQuery.ts#L22-L30', +'_types.query_dsl.ShapeFieldQuery': '_types/query_dsl/specialized.ts#L383-L396', +'_types.query_dsl.ShapeQuery': '_types/query_dsl/specialized.ts#L367-L381', +'_types.query_dsl.SimpleQueryStringFlag': '_types/query_dsl/fulltext.ts#L729-L784', +'_types.query_dsl.SimpleQueryStringQuery': '_types/query_dsl/fulltext.ts#L786-L854', +'_types.query_dsl.SpanContainingQuery': '_types/query_dsl/span.ts#L25-L39', +'_types.query_dsl.SpanFieldMaskingQuery': '_types/query_dsl/span.ts#L41-L47', +'_types.query_dsl.SpanFirstQuery': '_types/query_dsl/span.ts#L49-L61', +'_types.query_dsl.SpanMultiTermQuery': '_types/query_dsl/span.ts#L67-L75', +'_types.query_dsl.SpanNearQuery': '_types/query_dsl/span.ts#L77-L93', +'_types.query_dsl.SpanNotQuery': '_types/query_dsl/span.ts#L95-L122', +'_types.query_dsl.SpanOrQuery': '_types/query_dsl/span.ts#L124-L132', +'_types.query_dsl.SpanQuery': '_types/query_dsl/span.ts#L158-L200', +'_types.query_dsl.SpanTermQuery': '_types/query_dsl/span.ts#L134-L140', +'_types.query_dsl.SpanWithinQuery': '_types/query_dsl/span.ts#L142-L156', +'_types.query_dsl.SparseVectorQuery': '_types/query_dsl/SparseVectorQuery.ts#L26-L80', +'_types.query_dsl.TermQuery': '_types/query_dsl/term.ts#L238-L255', +'_types.query_dsl.TermRangeQuery': '_types/query_dsl/term.ts#L174-L174', +'_types.query_dsl.TermsLookup': '_types/query_dsl/term.ts#L270-L275', +'_types.query_dsl.TermsQuery': '_types/query_dsl/term.ts#L257-L263', +'_types.query_dsl.TermsQueryField': '_types/query_dsl/term.ts#L265-L268', +'_types.query_dsl.TermsSetQuery': '_types/query_dsl/term.ts#L277-L299', +'_types.query_dsl.TextExpansionQuery': '_types/query_dsl/TextExpansionQuery.ts#L23-L36', +'_types.query_dsl.TextQueryType': '_types/query_dsl/fulltext.ts#L559-L585', '_types.query_dsl.TokenPruningConfig': '_types/query_dsl/TokenPruningConfig.ts#L22-L35', -'_types.query_dsl.TypeQuery': '_types/query_dsl/term.ts#L278-L280', -'_types.query_dsl.UntypedDecayFunction': '_types/query_dsl/compound.ts#L191-L194', +'_types.query_dsl.TypeQuery': '_types/query_dsl/term.ts#L301-L303', +'_types.query_dsl.UntypedDecayFunction': '_types/query_dsl/compound.ts#L204-L207', '_types.query_dsl.UntypedDistanceFeatureQuery': '_types/query_dsl/specialized.ts#L61-L64', -'_types.query_dsl.UntypedRangeQuery': '_types/query_dsl/term.ts#L138-L147', -'_types.query_dsl.WeightedTokensQuery': '_types/query_dsl/WeightedTokensQuery.ts#L25-L30', -'_types.query_dsl.WildcardQuery': '_types/query_dsl/term.ts#L282-L299', -'_types.query_dsl.WrapperQuery': '_types/query_dsl/abstractions.ts#L501-L507', -'_types.query_dsl.ZeroTermsQuery': '_types/query_dsl/fulltext.ts#L569-L578', +'_types.query_dsl.UntypedRangeQuery': '_types/query_dsl/term.ts#L150-L159', +'_types.query_dsl.WeightedTokensQuery': '_types/query_dsl/WeightedTokensQuery.ts#L25-L33', +'_types.query_dsl.WildcardQuery': '_types/query_dsl/term.ts#L305-L325', +'_types.query_dsl.WrapperQuery': '_types/query_dsl/abstractions.ts#L501-L510', +'_types.query_dsl.ZeroTermsQuery': '_types/query_dsl/fulltext.ts#L587-L596', 'async_search._types.AsyncSearch': 'async_search/_types/AsyncSearch.ts#L30-L56', 'async_search._types.AsyncSearchDocumentResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L50-L54', 'async_search._types.AsyncSearchResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L24-L49', 'async_search.delete.Request': 'async_search/delete/AsyncSearchDeleteRequest.ts#L23-L39', 'async_search.delete.Response': 'async_search/delete/AsyncSearchDeleteResponse.ts#L22-L24', -'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L55', +'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L56', 'async_search.get.Response': 'async_search/get/AsyncSearchGetResponse.ts#L22-L24', 'async_search.status.Request': 'async_search/status/AsyncSearchStatusRequest.ts#L23-L38', 'async_search.status.Response': 'async_search/status/AsyncSearchStatusResponse.ts#L39-L41', 'async_search.status.StatusResponseBase': 'async_search/status/AsyncSearchStatusResponse.ts#L24-L38', -'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L55-L287', +'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L55-L289', 'async_search.submit.Response': 'async_search/submit/AsyncSearchSubmitResponse.ts#L22-L24', 'autoscaling._types.AutoscalingPolicy': 'autoscaling/_types/AutoscalingPolicy.ts#L23-L27', 'autoscaling.delete_autoscaling_policy.Request': 'autoscaling/delete_autoscaling_policy/DeleteAutoscalingPolicyRequest.ts#L23-L32', @@ -1100,10 +1100,10 @@ 'ccr._types.ShardStats': 'ccr/_types/FollowIndexStats.ts#L35-L69', 'ccr.delete_auto_follow_pattern.Request': 'ccr/delete_auto_follow_pattern/DeleteAutoFollowPatternRequest.ts#L23-L32', 'ccr.delete_auto_follow_pattern.Response': 'ccr/delete_auto_follow_pattern/DeleteAutoFollowPatternResponse.ts#L22-L24', -'ccr.follow.Request': 'ccr/follow/CreateFollowIndexRequest.ts#L25-L51', +'ccr.follow.Request': 'ccr/follow/CreateFollowIndexRequest.ts#L26-L110', 'ccr.follow.Response': 'ccr/follow/CreateFollowIndexResponse.ts#L20-L26', 'ccr.follow_info.FollowerIndex': 'ccr/follow_info/types.ts#L24-L30', -'ccr.follow_info.FollowerIndexParameters': 'ccr/follow_info/types.ts#L37-L48', +'ccr.follow_info.FollowerIndexParameters': 'ccr/follow_info/types.ts#L37-L83', 'ccr.follow_info.FollowerIndexStatus': 'ccr/follow_info/types.ts#L32-L35', 'ccr.follow_info.Request': 'ccr/follow_info/FollowInfoRequest.ts#L23-L32', 'ccr.follow_info.Response': 'ccr/follow_info/FollowInfoResponse.ts#L22-L24', @@ -1257,47 +1257,47 @@ 'connector._types.SyncRulesFeature': 'connector/_types/Connector.ts#L219-L222', 'connector._types.SyncStatus': 'connector/_types/Connector.ts#L138-L146', 'connector._types.Validation': 'connector/_types/Connector.ts#L50-L56', -'connector.check_in.Request': 'connector/check_in/ConnectorCheckInRequest.ts#L22-L36', +'connector.check_in.Request': 'connector/check_in/ConnectorCheckInRequest.ts#L22-L38', 'connector.check_in.Response': 'connector/check_in/ConnectorCheckInResponse.ts#L22-L26', -'connector.delete.Request': 'connector/delete/ConnectorDeleteRequest.ts#L22-L42', +'connector.delete.Request': 'connector/delete/ConnectorDeleteRequest.ts#L22-L47', 'connector.delete.Response': 'connector/delete/ConnectorDeleteResponse.ts#L22-L24', -'connector.get.Request': 'connector/get/ConnectorGetRequest.ts#L22-L36', +'connector.get.Request': 'connector/get/ConnectorGetRequest.ts#L22-L38', 'connector.get.Response': 'connector/get/ConnectorGetResponse.ts#L22-L24', -'connector.list.Request': 'connector/list/ConnectorListRequest.ts#L23-L57', +'connector.list.Request': 'connector/list/ConnectorListRequest.ts#L23-L59', 'connector.list.Response': 'connector/list/ConnectorListResponse.ts#L23-L28', -'connector.post.Request': 'connector/post/ConnectorPostRequest.ts#L22-L42', +'connector.post.Request': 'connector/post/ConnectorPostRequest.ts#L22-L46', 'connector.post.Response': 'connector/post/ConnectorPostResponse.ts#L23-L28', 'connector.put.Request': 'connector/put/ConnectorPutRequest.ts#L22-L48', 'connector.put.Response': 'connector/put/ConnectorPutResponse.ts#L23-L28', -'connector.sync_job_cancel.Request': 'connector/sync_job_cancel/SyncJobCancelRequest.ts#L22-L36', +'connector.sync_job_cancel.Request': 'connector/sync_job_cancel/SyncJobCancelRequest.ts#L22-L39', 'connector.sync_job_cancel.Response': 'connector/sync_job_cancel/SyncJobCancelResponse.ts#L22-L26', -'connector.sync_job_delete.Request': 'connector/sync_job_delete/SyncJobDeleteRequest.ts#L22-L36', +'connector.sync_job_delete.Request': 'connector/sync_job_delete/SyncJobDeleteRequest.ts#L22-L39', 'connector.sync_job_delete.Response': 'connector/sync_job_delete/SyncJobDeleteResponse.ts#L22-L24', 'connector.sync_job_get.Request': 'connector/sync_job_get/SyncJobGetRequest.ts#L22-L36', 'connector.sync_job_get.Response': 'connector/sync_job_get/SyncJobGetResponse.ts#L22-L24', -'connector.sync_job_list.Request': 'connector/sync_job_list/SyncJobListRequest.ts#L25-L55', +'connector.sync_job_list.Request': 'connector/sync_job_list/SyncJobListRequest.ts#L25-L57', 'connector.sync_job_list.Response': 'connector/sync_job_list/SyncJobListResponse.ts#L23-L28', -'connector.sync_job_post.Request': 'connector/sync_job_post/SyncJobPostRequest.ts#L23-L43', +'connector.sync_job_post.Request': 'connector/sync_job_post/SyncJobPostRequest.ts#L23-L45', 'connector.sync_job_post.Response': 'connector/sync_job_post/SyncJobPostResponse.ts#L22-L26', -'connector.update_active_filtering.Request': 'connector/update_active_filtering/ConnectorUpdateActiveFilteringRequest.ts#L22-L36', +'connector.update_active_filtering.Request': 'connector/update_active_filtering/ConnectorUpdateActiveFilteringRequest.ts#L22-L38', 'connector.update_active_filtering.Response': 'connector/update_active_filtering/ConnectorUpdateActiveFilteringResponse.ts#L22-L26', -'connector.update_api_key_id.Request': 'connector/update_api_key_id/ConnectorUpdateAPIKeyIDRequest.ts#L21-L42', +'connector.update_api_key_id.Request': 'connector/update_api_key_id/ConnectorUpdateAPIKeyIDRequest.ts#L21-L47', 'connector.update_api_key_id.Response': 'connector/update_api_key_id/ConnectorUpdateAPIKeyIDResponse.ts#L22-L26', -'connector.update_configuration.Request': 'connector/update_configuration/ConnectorUpdateConfigurationRequest.ts#L25-L47', +'connector.update_configuration.Request': 'connector/update_configuration/ConnectorUpdateConfigurationRequest.ts#L25-L49', 'connector.update_configuration.Response': 'connector/update_configuration/ConnectorUpdateConfigurationResponse.ts#L22-L26', -'connector.update_error.Request': 'connector/update_error/ConnectorUpdateErrorRequest.ts#L23-L44', +'connector.update_error.Request': 'connector/update_error/ConnectorUpdateErrorRequest.ts#L23-L48', 'connector.update_error.Response': 'connector/update_error/ConnectorUpdateErrorResponse.ts#L22-L26', -'connector.update_filtering.Request': 'connector/update_filtering/ConnectorUpdateFilteringRequest.ts#L27-L50', +'connector.update_filtering.Request': 'connector/update_filtering/ConnectorUpdateFilteringRequest.ts#L27-L54', 'connector.update_filtering.Response': 'connector/update_filtering/ConnectorUpdateFilteringResponse.ts#L22-L26', -'connector.update_filtering_validation.Request': 'connector/update_filtering_validation/ConnectorUpdateFilteringValidationRequest.ts#L23-L40', +'connector.update_filtering_validation.Request': 'connector/update_filtering_validation/ConnectorUpdateFilteringValidationRequest.ts#L23-L42', 'connector.update_filtering_validation.Response': 'connector/update_filtering_validation/ConnectorUpdateFilteringValidationResponse.ts#L22-L26', -'connector.update_index_name.Request': 'connector/update_index_name/ConnectorUpdateIndexNameRequest.ts#L23-L43', +'connector.update_index_name.Request': 'connector/update_index_name/ConnectorUpdateIndexNameRequest.ts#L23-L45', 'connector.update_index_name.Response': 'connector/update_index_name/ConnectorUpdateIndexNameResponse.ts#L22-L26', 'connector.update_name.Request': 'connector/update_name/ConnectorUpdateNameRequest.ts#L22-L43', 'connector.update_name.Response': 'connector/update_name/ConnectorUpdateNameResponse.ts#L22-L26', 'connector.update_native.Request': 'connector/update_native/ConnectorUpdateNativeRequest.ts#L22-L42', 'connector.update_native.Response': 'connector/update_native/ConnectorUpdateNativeResponse.ts#L22-L26', -'connector.update_pipeline.Request': 'connector/update_pipeline/ConnectorUpdatePipelineRequest.ts#L23-L44', +'connector.update_pipeline.Request': 'connector/update_pipeline/ConnectorUpdatePipelineRequest.ts#L23-L46', 'connector.update_pipeline.Response': 'connector/update_pipeline/ConnectorUpdatePipelineResponse.ts#L22-L26', 'connector.update_scheduling.Request': 'connector/update_scheduling/ConnectorUpdateSchedulingRequest.ts#L23-L44', 'connector.update_scheduling.Response': 'connector/update_scheduling/ConnectorUpdateSchedulingResponse.ts#L22-L26', @@ -1305,12 +1305,12 @@ 'connector.update_service_type.Response': 'connector/update_service_type/ConnectorUpdateServiceTypeResponse.ts#L22-L26', 'connector.update_status.Request': 'connector/update_status/ConnectorUpdateStatusRequest.ts#L23-L43', 'connector.update_status.Response': 'connector/update_status/ConnectorUpdateStatusResponse.ts#L22-L26', -'dangling_indices.delete_dangling_index.Request': 'dangling_indices/delete_dangling_index/DeleteDanglingIndexRequest.ts#L24-L37', +'dangling_indices.delete_dangling_index.Request': 'dangling_indices/delete_dangling_index/DeleteDanglingIndexRequest.ts#L24-L48', 'dangling_indices.delete_dangling_index.Response': 'dangling_indices/delete_dangling_index/DeleteDanglingIndexResponse.ts#L22-L24', -'dangling_indices.import_dangling_index.Request': 'dangling_indices/import_dangling_index/ImportDanglingIndexRequest.ts#L24-L37', +'dangling_indices.import_dangling_index.Request': 'dangling_indices/import_dangling_index/ImportDanglingIndexRequest.ts#L24-L49', 'dangling_indices.import_dangling_index.Response': 'dangling_indices/import_dangling_index/ImportDanglingIndexResponse.ts#L22-L24', 'dangling_indices.list_dangling_indices.DanglingIndex': 'dangling_indices/list_dangling_indices/ListDanglingIndicesResponse.ts#L29-L34', -'dangling_indices.list_dangling_indices.Request': 'dangling_indices/list_dangling_indices/ListDanglingIndicesRequest.ts#L22-L26', +'dangling_indices.list_dangling_indices.Request': 'dangling_indices/list_dangling_indices/ListDanglingIndicesRequest.ts#L22-L33', 'dangling_indices.list_dangling_indices.Response': 'dangling_indices/list_dangling_indices/ListDanglingIndicesResponse.ts#L23-L27', 'enrich._types.Policy': 'enrich/_types/Policy.ts#L34-L41', 'enrich._types.PolicyType': 'enrich/_types/Policy.ts#L28-L32', @@ -1340,7 +1340,7 @@ 'eql.get.Response': 'eql/get/EqlGetResponse.ts#L22-L24', 'eql.get_status.Request': 'eql/get_status/EqlGetStatusRequest.ts#L23-L35', 'eql.get_status.Response': 'eql/get_status/EqlGetStatusResponse.ts#L24-L51', -'eql.search.Request': 'eql/search/EqlSearchRequest.ts#L28-L118', +'eql.search.Request': 'eql/search/EqlSearchRequest.ts#L28-L125', 'eql.search.Response': 'eql/search/EqlSearchResponse.ts#L22-L24', 'eql.search.ResultPosition': 'eql/search/types.ts#L20-L32', 'esql._types.TableValuesContainer': 'esql/_types/TableValuesContainer.ts#L22-L28', @@ -1410,10 +1410,10 @@ 'indices._types.CacheQueries': 'indices/_types/IndexSettings.ts#L407-L409', 'indices._types.DataStream': 'indices/_types/DataStream.ts#L45-L127', 'indices._types.DataStreamIndex': 'indices/_types/DataStream.ts#L136-L157', -'indices._types.DataStreamLifecycle': 'indices/_types/DataStreamLifecycle.ts#L25-L31', +'indices._types.DataStreamLifecycle': 'indices/_types/DataStreamLifecycle.ts#L25-L45', 'indices._types.DataStreamLifecycleDownsampling': 'indices/_types/DataStreamLifecycleDownsampling.ts#L22-L27', -'indices._types.DataStreamLifecycleRolloverConditions': 'indices/_types/DataStreamLifecycle.ts#L57-L69', -'indices._types.DataStreamLifecycleWithRollover': 'indices/_types/DataStreamLifecycle.ts#L33-L55', +'indices._types.DataStreamLifecycleRolloverConditions': 'indices/_types/DataStreamLifecycle.ts#L60-L72', +'indices._types.DataStreamLifecycleWithRollover': 'indices/_types/DataStreamLifecycle.ts#L47-L58', 'indices._types.DataStreamTimestampField': 'indices/_types/DataStream.ts#L129-L134', 'indices._types.DataStreamVisibility': 'indices/_types/DataStream.ts#L159-L162', 'indices._types.DownsampleConfig': 'indices/_types/Downsample.ts#L22-L27', @@ -1495,7 +1495,7 @@ 'indices.analyze.AnalyzerDetail': 'indices/analyze/types.ts#L32-L35', 'indices.analyze.CharFilterDetail': 'indices/analyze/types.ts#L46-L49', 'indices.analyze.ExplainAnalyzeToken': 'indices/analyze/types.ts#L52-L67', -'indices.analyze.Request': 'indices/analyze/IndicesAnalyzeRequest.ts#L27-L92', +'indices.analyze.Request': 'indices/analyze/IndicesAnalyzeRequest.ts#L27-L93', 'indices.analyze.Response': 'indices/analyze/IndicesAnalyzeResponse.ts#L22-L27', 'indices.analyze.TokenDetail': 'indices/analyze/types.ts#L71-L74', 'indices.clear_cache.Request': 'indices/clear_cache/IndicesIndicesClearCacheRequest.ts#L23-L77', @@ -1585,7 +1585,7 @@ 'indices.promote_data_stream.Response': 'indices/promote_data_stream/IndicesPromoteDataStreamResponse.ts#L22-L25', 'indices.put_alias.Request': 'indices/put_alias/IndicesPutAliasRequest.ts#L25-L92', 'indices.put_alias.Response': 'indices/put_alias/IndicesPutAliasResponse.ts#L22-L24', -'indices.put_data_lifecycle.Request': 'indices/put_data_lifecycle/IndicesPutDataLifecycleRequest.ts#L25-L76', +'indices.put_data_lifecycle.Request': 'indices/put_data_lifecycle/IndicesPutDataLifecycleRequest.ts#L25-L67', 'indices.put_data_lifecycle.Response': 'indices/put_data_lifecycle/IndicesPutDataLifecycleResponse.ts#L22-L24', 'indices.put_index_template.IndexTemplateMapping': 'indices/put_index_template/IndicesPutIndexTemplateRequest.ts#L121-L143', 'indices.put_index_template.Request': 'indices/put_index_template/IndicesPutIndexTemplateRequest.ts#L37-L119', @@ -1696,60 +1696,65 @@ 'inference.inference.Response': 'inference/inference/InferenceResponse.ts#L22-L24', 'inference.put.Request': 'inference/put/PutRequest.ts#L25-L44', 'inference.put.Response': 'inference/put/PutResponse.ts#L22-L24', -'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L297-L312', -'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L314-L355', -'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L488-L504', -'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L506-L529', -'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L541-L561', -'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L531-L539', -'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L563-L596', +'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L324-L339', +'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L341-L382', +'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L515-L531', +'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L533-L556', +'ingest._types.CommunityIDProcessor': 'ingest/_types/Processors.ts#L558-L619', +'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L632-L652', +'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L621-L630', +'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L654-L687', 'ingest._types.DatabaseConfiguration': 'ingest/_types/Database.ts#L22-L29', -'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L598-L636', -'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L638-L665', -'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L667-L686', -'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L688-L706', -'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L708-L708', -'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L710-L749', -'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L751-L757', -'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L759-L773', -'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L357-L398', -'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L406-L409', -'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L400-L404', -'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L411-L445', -'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L775-L800', -'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L802-L826', -'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L828-L844', -'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L867-L879', -'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L894-L920', -'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L881-L892', -'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L846-L865', -'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L922-L937', -'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L939-L968', -'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L970-L975', -'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L977-L1029', -'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1031-L1047', +'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L689-L727', +'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L729-L762', +'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L764-L783', +'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L785-L803', +'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L805-L805', +'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L807-L846', +'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L848-L854', +'ingest._types.FingerprintDigest': 'ingest/_types/Processors.ts#L856-L862', +'ingest._types.FingerprintProcessor': 'ingest/_types/Processors.ts#L864-L892', +'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L894-L908', +'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L384-L425', +'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L433-L436', +'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L427-L431', +'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L438-L472', +'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L910-L941', +'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L943-L967', +'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L969-L985', +'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L1008-L1020', +'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L1035-L1061', +'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L1022-L1033', +'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L987-L1006', +'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L1063-L1078', +'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L1080-L1109', +'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L1111-L1116', +'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L1118-L1170', +'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1172-L1188', 'ingest._types.Maxmind': 'ingest/_types/Database.ts#L31-L33', +'ingest._types.NetworkDirectionProcessor': 'ingest/_types/Processors.ts#L1190-L1224', 'ingest._types.Pipeline': 'ingest/_types/Pipeline.ts#L23-L51', -'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1049-L1060', -'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L272-L295', -'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L270', -'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1062-L1103', -'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1105-L1119', -'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1121-L1137', -'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1139-L1167', -'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1169-L1189', -'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1191-L1225', -'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1227-L1236', -'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1238-L1241', -'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1243-L1259', -'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1261-L1286', -'ingest._types.TerminateProcessor': 'ingest/_types/Processors.ts#L1288-L1288', -'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1290-L1306', -'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1308-L1324', -'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1344-L1370', -'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1326-L1342', -'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L447-L478', -'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L480-L486', +'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1226-L1237', +'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L299-L322', +'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L297', +'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1239-L1280', +'ingest._types.RegisteredDomainProcessor': 'ingest/_types/Processors.ts#L1282-L1298', +'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1300-L1314', +'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1316-L1332', +'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1334-L1362', +'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1364-L1384', +'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1386-L1420', +'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1422-L1431', +'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1433-L1436', +'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1438-L1454', +'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1456-L1481', +'ingest._types.TerminateProcessor': 'ingest/_types/Processors.ts#L1483-L1483', +'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1485-L1501', +'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1503-L1519', +'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1539-L1565', +'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1521-L1537', +'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L474-L505', +'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L507-L513', 'ingest.delete_geoip_database.Request': 'ingest/delete_geoip_database/DeleteGeoipDatabaseRequest.ts#L24-L48', 'ingest.delete_geoip_database.Response': 'ingest/delete_geoip_database/DeleteGeoipDatabaseResponse.ts#L22-L24', 'ingest.delete_pipeline.Request': 'ingest/delete_pipeline/DeletePipelineRequest.ts#L24-L52', @@ -1829,22 +1834,22 @@ 'ml._types.BucketSummary': 'ml/_types/Bucket.ts#L30-L77', 'ml._types.CalendarEvent': 'ml/_types/CalendarEvent.ts#L24-L44', 'ml._types.CategorizationAnalyzer': 'ml/_types/Analysis.ts#L181-L182', -'ml._types.CategorizationAnalyzerDefinition': 'ml/_types/Analysis.ts#L184-L197', +'ml._types.CategorizationAnalyzerDefinition': 'ml/_types/Analysis.ts#L184-L198', 'ml._types.CategorizationStatus': 'ml/_types/Model.ts#L83-L86', 'ml._types.Category': 'ml/_types/Category.ts#L23-L49', -'ml._types.ChunkingConfig': 'ml/_types/Datafeed.ts#L238-L251', -'ml._types.ChunkingMode': 'ml/_types/Datafeed.ts#L232-L236', +'ml._types.ChunkingConfig': 'ml/_types/Datafeed.ts#L241-L254', +'ml._types.ChunkingMode': 'ml/_types/Datafeed.ts#L235-L239', 'ml._types.ClassificationInferenceOptions': 'ml/_types/inference.ts#L93-L108', 'ml._types.ConditionOperator': 'ml/_types/Rule.ts#L74-L79', 'ml._types.DataCounts': 'ml/_types/Job.ts#L352-L372', 'ml._types.DataDescription': 'ml/_types/Job.ts#L374-L390', -'ml._types.Datafeed': 'ml/_types/Datafeed.ts#L36-L57', +'ml._types.Datafeed': 'ml/_types/Datafeed.ts#L36-L60', 'ml._types.DatafeedAuthorization': 'ml/_types/Authorization.ts#L31-L43', -'ml._types.DatafeedConfig': 'ml/_types/Datafeed.ts#L59-L116', -'ml._types.DatafeedRunningState': 'ml/_types/Datafeed.ts#L197-L211', -'ml._types.DatafeedState': 'ml/_types/Datafeed.ts#L132-L137', -'ml._types.DatafeedStats': 'ml/_types/Datafeed.ts#L139-L168', -'ml._types.DatafeedTimingStats': 'ml/_types/Datafeed.ts#L170-L195', +'ml._types.DatafeedConfig': 'ml/_types/Datafeed.ts#L62-L119', +'ml._types.DatafeedRunningState': 'ml/_types/Datafeed.ts#L200-L214', +'ml._types.DatafeedState': 'ml/_types/Datafeed.ts#L135-L140', +'ml._types.DatafeedStats': 'ml/_types/Datafeed.ts#L142-L171', +'ml._types.DatafeedTimingStats': 'ml/_types/Datafeed.ts#L173-L198', 'ml._types.DataframeAnalysis': 'ml/_types/DataframeAnalytics.ts#L133-L212', 'ml._types.DataframeAnalysisAnalyzedFields': 'ml/_types/DataframeAnalytics.ts#L237-L243', 'ml._types.DataframeAnalysisClassification': 'ml/_types/DataframeAnalytics.ts#L226-L235', @@ -1882,7 +1887,7 @@ 'ml._types.DataframeEvaluationRegressionMetricsHuber': 'ml/_types/DataframeEvaluation.ts#L117-L120', 'ml._types.DataframeEvaluationRegressionMetricsMsle': 'ml/_types/DataframeEvaluation.ts#L112-L115', 'ml._types.DataframeState': 'ml/_types/Dataframe.ts#L20-L26', -'ml._types.DelayedDataCheckConfig': 'ml/_types/Datafeed.ts#L118-L129', +'ml._types.DelayedDataCheckConfig': 'ml/_types/Datafeed.ts#L121-L132', 'ml._types.DeploymentAllocationState': 'ml/_types/TrainedModel.ts#L273-L286', 'ml._types.DeploymentAssignmentState': 'ml/_types/TrainedModel.ts#L288-L305', 'ml._types.DetectionRule': 'ml/_types/Rule.ts#L25-L39', @@ -1936,7 +1941,7 @@ 'ml._types.RoutingState': 'ml/_types/TrainedModel.ts#L347-L368', 'ml._types.RuleAction': 'ml/_types/Rule.ts#L41-L50', 'ml._types.RuleCondition': 'ml/_types/Rule.ts#L52-L65', -'ml._types.RunningStateSearchInterval': 'ml/_types/Datafeed.ts#L213-L230', +'ml._types.RunningStateSearchInterval': 'ml/_types/Datafeed.ts#L216-L233', 'ml._types.SnapshotUpgradeState': 'ml/_types/Model.ts#L94-L99', 'ml._types.TextClassificationInferenceOptions': 'ml/_types/inference.ts#L189-L199', 'ml._types.TextClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L363-L372', @@ -2313,6 +2318,9 @@ 'query_rules.put_rule.Response': 'query_rules/put_rule/QueryRulePutResponse.ts#L22-L26', 'query_rules.put_ruleset.Request': 'query_rules/put_ruleset/QueryRulesetPutRequest.ts#L23-L43', 'query_rules.put_ruleset.Response': 'query_rules/put_ruleset/QueryRulesetPutResponse.ts#L22-L26', +'query_rules.test.QueryRulesetMatchedRule': 'query_rules/test/QueryRulesetTestResponse.ts#L30-L39', +'query_rules.test.Request': 'query_rules/test/QueryRulesetTestRequest.ts#L24-L44', +'query_rules.test.Response': 'query_rules/test/QueryRulesetTestResponse.ts#L23-L28', 'rollup._types.DateHistogramGrouping': 'rollup/_types/Groupings.ts#L42-L73', 'rollup._types.FieldMetric': 'rollup/_types/Metric.ts#L30-L35', 'rollup._types.Groupings': 'rollup/_types/Groupings.ts#L24-L40', @@ -2348,8 +2356,9 @@ 'rollup.stop_job.Response': 'rollup/stop_job/StopRollupJobResponse.ts#L20-L22', 'search_application._types.AnalyticsCollection': 'search_application/_types/BehavioralAnalytics.ts#L22-L27', 'search_application._types.EventDataStream': 'search_application/_types/BehavioralAnalytics.ts#L29-L31', -'search_application._types.SearchApplication': 'search_application/_types/SearchApplication.ts#L24-L45', -'search_application._types.SearchApplicationTemplate': 'search_application/_types/SearchApplication.ts#L47-L52', +'search_application._types.SearchApplication': 'search_application/_types/SearchApplication.ts#L24-L33', +'search_application._types.SearchApplicationParameters': 'search_application/_types/SearchApplicationParameters.ts#L23-L36', +'search_application._types.SearchApplicationTemplate': 'search_application/_types/SearchApplicationTemplate.ts#L22-L27', 'search_application.delete.Request': 'search_application/delete/SearchApplicationsDeleteRequest.ts#L22-L36', 'search_application.delete.Response': 'search_application/delete/SearchApplicationsDeleteResponse.ts#L22-L24', 'search_application.delete_behavioral_analytics.Request': 'search_application/delete_behavioral_analytics/BehavioralAnalyticsDeleteRequest.ts#L22-L37', @@ -2359,8 +2368,7 @@ 'search_application.get_behavioral_analytics.Request': 'search_application/get_behavioral_analytics/BehavioralAnalyticsGetRequest.ts#L22-L36', 'search_application.get_behavioral_analytics.Response': 'search_application/get_behavioral_analytics/BehavioralAnalyticsGetResponse.ts#L24-L27', 'search_application.list.Request': 'search_application/list/SearchApplicationsListRequest.ts#L22-L44', -'search_application.list.Response': 'search_application/list/SearchApplicationsListResponse.ts#L24-L29', -'search_application.list.SearchApplicationListItem': 'search_application/list/SearchApplicationsListResponse.ts#L31-L48', +'search_application.list.Response': 'search_application/list/SearchApplicationsListResponse.ts#L23-L28', 'search_application.put.Request': 'search_application/put/SearchApplicationsPutRequest.ts#L23-L48', 'search_application.put.Response': 'search_application/put/SearchApplicationsPutResponse.ts#L22-L26', 'search_application.put_behavioral_analytics.AnalyticsAcknowledgeResponseBase': 'search_application/put_behavioral_analytics/BehavioralAnalyticsPutResponse.ts#L27-L32', @@ -2412,144 +2420,144 @@ 'security._types.UserProfileHitMetadata': 'security/_types/UserProfile.ts#L27-L30', 'security._types.UserProfileUser': 'security/_types/UserProfile.ts#L32-L39', 'security._types.UserProfileWithMetadata': 'security/_types/UserProfile.ts#L49-L52', -'security.activate_user_profile.Request': 'security/activate_user_profile/Request.ts#L23-L37', +'security.activate_user_profile.Request': 'security/activate_user_profile/Request.ts#L23-L39', 'security.activate_user_profile.Response': 'security/activate_user_profile/Response.ts#L22-L24', -'security.authenticate.Request': 'security/authenticate/SecurityAuthenticateRequest.ts#L22-L32', +'security.authenticate.Request': 'security/authenticate/SecurityAuthenticateRequest.ts#L22-L33', 'security.authenticate.Response': 'security/authenticate/SecurityAuthenticateResponse.ts#L25-L43', 'security.authenticate.Token': 'security/authenticate/types.ts#L22-L29', -'security.bulk_delete_role.Request': 'security/bulk_delete_role/SecurityBulkDeleteRoleRequest.ts#L23-L41', +'security.bulk_delete_role.Request': 'security/bulk_delete_role/SecurityBulkDeleteRoleRequest.ts#L23-L43', 'security.bulk_delete_role.Response': 'security/bulk_delete_role/SecurityBulkDeleteRoleResponse.ts#L22-L37', -'security.bulk_put_role.Request': 'security/bulk_put_role/SecurityBulkPutRoleRequest.ts#L25-L43', +'security.bulk_put_role.Request': 'security/bulk_put_role/SecurityBulkPutRoleRequest.ts#L25-L45', 'security.bulk_put_role.Response': 'security/bulk_put_role/SecurityBulkPutRoleResponse.ts#L22-L41', -'security.change_password.Request': 'security/change_password/SecurityChangePasswordRequest.ts#L23-L51', +'security.change_password.Request': 'security/change_password/SecurityChangePasswordRequest.ts#L23-L54', 'security.change_password.Response': 'security/change_password/SecurityChangePasswordResponse.ts#L20-L22', -'security.clear_api_key_cache.Request': 'security/clear_api_key_cache/SecurityClearApiKeyCacheRequest.ts#L23-L40', +'security.clear_api_key_cache.Request': 'security/clear_api_key_cache/SecurityClearApiKeyCacheRequest.ts#L23-L42', 'security.clear_api_key_cache.Response': 'security/clear_api_key_cache/SecurityClearApiKeyCacheResponse.ts#L25-L32', -'security.clear_cached_privileges.Request': 'security/clear_cached_privileges/SecurityClearCachedPrivilegesRequest.ts#L23-L32', +'security.clear_cached_privileges.Request': 'security/clear_cached_privileges/SecurityClearCachedPrivilegesRequest.ts#L23-L36', 'security.clear_cached_privileges.Response': 'security/clear_cached_privileges/SecurityClearCachedPrivilegesResponse.ts#L25-L32', -'security.clear_cached_realms.Request': 'security/clear_cached_realms/SecurityClearCachedRealmsRequest.ts#L23-L35', +'security.clear_cached_realms.Request': 'security/clear_cached_realms/SecurityClearCachedRealmsRequest.ts#L23-L38', 'security.clear_cached_realms.Response': 'security/clear_cached_realms/SecurityClearCachedRealmsResponse.ts#L25-L32', -'security.clear_cached_roles.Request': 'security/clear_cached_roles/ClearCachedRolesRequest.ts#L23-L32', +'security.clear_cached_roles.Request': 'security/clear_cached_roles/ClearCachedRolesRequest.ts#L23-L35', 'security.clear_cached_roles.Response': 'security/clear_cached_roles/ClearCachedRolesResponse.ts#L25-L32', -'security.clear_cached_service_tokens.Request': 'security/clear_cached_service_tokens/ClearCachedServiceTokensRequest.ts#L23-L34', +'security.clear_cached_service_tokens.Request': 'security/clear_cached_service_tokens/ClearCachedServiceTokensRequest.ts#L23-L38', 'security.clear_cached_service_tokens.Response': 'security/clear_cached_service_tokens/ClearCachedServiceTokensResponse.ts#L25-L32', -'security.create_api_key.Request': 'security/create_api_key/SecurityCreateApiKeyRequest.ts#L26-L59', +'security.create_api_key.Request': 'security/create_api_key/SecurityCreateApiKeyRequest.ts#L26-L60', 'security.create_api_key.Response': 'security/create_api_key/SecurityCreateApiKeyResponse.ts#L23-L50', -'security.create_service_token.Request': 'security/create_service_token/CreateServiceTokenRequest.ts#L23-L38', +'security.create_service_token.Request': 'security/create_service_token/CreateServiceTokenRequest.ts#L23-L41', 'security.create_service_token.Response': 'security/create_service_token/CreateServiceTokenResponse.ts#L22-L27', 'security.create_service_token.Token': 'security/create_service_token/types.ts#L22-L25', 'security.delete_privileges.FoundStatus': 'security/delete_privileges/types.ts#L20-L22', -'security.delete_privileges.Request': 'security/delete_privileges/SecurityDeletePrivilegesRequest.ts#L23-L36', +'security.delete_privileges.Request': 'security/delete_privileges/SecurityDeletePrivilegesRequest.ts#L23-L38', 'security.delete_privileges.Response': 'security/delete_privileges/SecurityDeletePrivilegesResponse.ts#L23-L26', -'security.delete_role.Request': 'security/delete_role/SecurityDeleteRoleRequest.ts#L23-L35', +'security.delete_role.Request': 'security/delete_role/SecurityDeleteRoleRequest.ts#L23-L38', 'security.delete_role.Response': 'security/delete_role/SecurityDeleteRoleResponse.ts#L20-L22', -'security.delete_role_mapping.Request': 'security/delete_role_mapping/SecurityDeleteRoleMappingRequest.ts#L23-L35', +'security.delete_role_mapping.Request': 'security/delete_role_mapping/SecurityDeleteRoleMappingRequest.ts#L23-L36', 'security.delete_role_mapping.Response': 'security/delete_role_mapping/SecurityDeleteRoleMappingResponse.ts#L20-L22', -'security.delete_service_token.Request': 'security/delete_service_token/DeleteServiceTokenRequest.ts#L23-L37', +'security.delete_service_token.Request': 'security/delete_service_token/DeleteServiceTokenRequest.ts#L23-L41', 'security.delete_service_token.Response': 'security/delete_service_token/DeleteServiceTokenResponse.ts#L20-L22', -'security.delete_user.Request': 'security/delete_user/SecurityDeleteUserRequest.ts#L23-L34', +'security.delete_user.Request': 'security/delete_user/SecurityDeleteUserRequest.ts#L23-L37', 'security.delete_user.Response': 'security/delete_user/SecurityDeleteUserResponse.ts#L20-L22', -'security.disable_user.Request': 'security/disable_user/SecurityDisableUserRequest.ts#L23-L34', +'security.disable_user.Request': 'security/disable_user/SecurityDisableUserRequest.ts#L23-L37', 'security.disable_user.Response': 'security/disable_user/SecurityDisableUserResponse.ts#L20-L22', -'security.disable_user_profile.Request': 'security/disable_user_profile/Request.ts#L24-L47', +'security.disable_user_profile.Request': 'security/disable_user_profile/Request.ts#L24-L49', 'security.disable_user_profile.Response': 'security/disable_user_profile/Response.ts#L22-L24', -'security.enable_user.Request': 'security/enable_user/SecurityEnableUserRequest.ts#L23-L34', +'security.enable_user.Request': 'security/enable_user/SecurityEnableUserRequest.ts#L23-L37', 'security.enable_user.Response': 'security/enable_user/SecurityEnableUserResponse.ts#L20-L22', -'security.enable_user_profile.Request': 'security/enable_user_profile/Request.ts#L24-L47', +'security.enable_user_profile.Request': 'security/enable_user_profile/Request.ts#L24-L49', 'security.enable_user_profile.Response': 'security/enable_user_profile/Response.ts#L22-L24', -'security.enroll_kibana.Request': 'security/enroll_kibana/Request.ts#L22-L27', +'security.enroll_kibana.Request': 'security/enroll_kibana/Request.ts#L22-L29', 'security.enroll_kibana.Response': 'security/enroll_kibana/Response.ts#L20-L25', 'security.enroll_kibana.Token': 'security/enroll_kibana/Response.ts#L27-L30', -'security.enroll_node.Request': 'security/enroll_node/Request.ts#L22-L27', +'security.enroll_node.Request': 'security/enroll_node/Request.ts#L22-L29', 'security.enroll_node.Response': 'security/enroll_node/Response.ts#L20-L29', -'security.get_api_key.Request': 'security/get_api_key/SecurityGetApiKeyRequest.ts#L23-L87', +'security.get_api_key.Request': 'security/get_api_key/SecurityGetApiKeyRequest.ts#L23-L88', 'security.get_api_key.Response': 'security/get_api_key/SecurityGetApiKeyResponse.ts#L22-L24', -'security.get_builtin_privileges.Request': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesRequest.ts#L22-L28', +'security.get_builtin_privileges.Request': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesRequest.ts#L22-L32', 'security.get_builtin_privileges.Response': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesResponse.ts#L22-L24', -'security.get_privileges.Request': 'security/get_privileges/SecurityGetPrivilegesRequest.ts#L23-L33', +'security.get_privileges.Request': 'security/get_privileges/SecurityGetPrivilegesRequest.ts#L23-L35', 'security.get_privileges.Response': 'security/get_privileges/SecurityGetPrivilegesResponse.ts#L23-L26', -'security.get_role.Request': 'security/get_role/SecurityGetRoleRequest.ts#L23-L38', +'security.get_role.Request': 'security/get_role/SecurityGetRoleRequest.ts#L23-L39', 'security.get_role.Response': 'security/get_role/SecurityGetRoleResponse.ts#L23-L26', 'security.get_role.Role': 'security/get_role/types.ts#L29-L42', -'security.get_role_mapping.Request': 'security/get_role_mapping/SecurityGetRoleMappingRequest.ts#L23-L36', +'security.get_role_mapping.Request': 'security/get_role_mapping/SecurityGetRoleMappingRequest.ts#L23-L42', 'security.get_role_mapping.Response': 'security/get_role_mapping/SecurityGetRoleMappingResponse.ts#L23-L26', -'security.get_service_accounts.Request': 'security/get_service_accounts/GetServiceAccountsRequest.ts#L23-L41', +'security.get_service_accounts.Request': 'security/get_service_accounts/GetServiceAccountsRequest.ts#L23-L44', 'security.get_service_accounts.Response': 'security/get_service_accounts/GetServiceAccountsResponse.ts#L23-L26', 'security.get_service_accounts.RoleDescriptorWrapper': 'security/get_service_accounts/types.ts#L22-L24', 'security.get_service_credentials.NodesCredentials': 'security/get_service_credentials/types.ts#L23-L28', 'security.get_service_credentials.NodesCredentialsFileToken': 'security/get_service_credentials/types.ts#L30-L32', -'security.get_service_credentials.Request': 'security/get_service_credentials/GetServiceCredentialsRequest.ts#L23-L39', +'security.get_service_credentials.Request': 'security/get_service_credentials/GetServiceCredentialsRequest.ts#L23-L41', 'security.get_service_credentials.Response': 'security/get_service_credentials/GetServiceCredentialsResponse.ts#L25-L33', 'security.get_token.AccessTokenGrantType': 'security/get_token/types.ts#L23-L28', 'security.get_token.AuthenticatedUser': 'security/get_token/types.ts#L40-L45', 'security.get_token.AuthenticationProvider': 'security/get_token/types.ts#L35-L38', -'security.get_token.Request': 'security/get_token/GetUserAccessTokenRequest.ts#L25-L39', +'security.get_token.Request': 'security/get_token/GetUserAccessTokenRequest.ts#L25-L42', 'security.get_token.Response': 'security/get_token/GetUserAccessTokenResponse.ts#L23-L33', 'security.get_token.UserRealm': 'security/get_token/types.ts#L30-L33', -'security.get_user.Request': 'security/get_user/SecurityGetUserRequest.ts#L23-L41', +'security.get_user.Request': 'security/get_user/SecurityGetUserRequest.ts#L23-L44', 'security.get_user.Response': 'security/get_user/SecurityGetUserResponse.ts#L23-L26', -'security.get_user_privileges.Request': 'security/get_user_privileges/SecurityGetUserPrivilegesRequest.ts#L23-L36', +'security.get_user_privileges.Request': 'security/get_user_privileges/SecurityGetUserPrivilegesRequest.ts#L23-L37', 'security.get_user_privileges.Response': 'security/get_user_privileges/SecurityGetUserPrivilegesResponse.ts#L26-L34', 'security.get_user_profile.GetUserProfileErrors': 'security/get_user_profile/types.ts#L25-L28', -'security.get_user_profile.Request': 'security/get_user_profile/Request.ts#L23-L46', +'security.get_user_profile.Request': 'security/get_user_profile/Request.ts#L23-L48', 'security.get_user_profile.Response': 'security/get_user_profile/Response.ts#L23-L28', 'security.grant_api_key.ApiKeyGrantType': 'security/grant_api_key/types.ts#L48-L51', 'security.grant_api_key.GrantApiKey': 'security/grant_api_key/types.ts#L25-L46', -'security.grant_api_key.Request': 'security/grant_api_key/SecurityGrantApiKeyRequest.ts#L24-L75', +'security.grant_api_key.Request': 'security/grant_api_key/SecurityGrantApiKeyRequest.ts#L24-L77', 'security.grant_api_key.Response': 'security/grant_api_key/SecurityGrantApiKeyResponse.ts#L23-L31', 'security.has_privileges.ApplicationPrivilegesCheck': 'security/has_privileges/types.ts#L24-L31', 'security.has_privileges.IndexPrivilegesCheck': 'security/has_privileges/types.ts#L33-L44', -'security.has_privileges.Request': 'security/has_privileges/SecurityHasPrivilegesRequest.ts#L25-L44', +'security.has_privileges.Request': 'security/has_privileges/SecurityHasPrivilegesRequest.ts#L25-L46', 'security.has_privileges.Response': 'security/has_privileges/SecurityHasPrivilegesResponse.ts#L24-L32', 'security.has_privileges_user_profile.HasPrivilegesUserProfileErrors': 'security/has_privileges_user_profile/types.ts#L39-L42', 'security.has_privileges_user_profile.PrivilegesCheck': 'security/has_privileges_user_profile/types.ts#L30-L37', -'security.has_privileges_user_profile.Request': 'security/has_privileges_user_profile/Request.ts#L24-L38', +'security.has_privileges_user_profile.Request': 'security/has_privileges_user_profile/Request.ts#L24-L42', 'security.has_privileges_user_profile.Response': 'security/has_privileges_user_profile/Response.ts#L23-L38', -'security.invalidate_api_key.Request': 'security/invalidate_api_key/SecurityInvalidateApiKeyRequest.ts#L23-L67', +'security.invalidate_api_key.Request': 'security/invalidate_api_key/SecurityInvalidateApiKeyRequest.ts#L23-L69', 'security.invalidate_api_key.Response': 'security/invalidate_api_key/SecurityInvalidateApiKeyResponse.ts#L23-L30', -'security.invalidate_token.Request': 'security/invalidate_token/SecurityInvalidateTokenRequest.ts#L23-L35', +'security.invalidate_token.Request': 'security/invalidate_token/SecurityInvalidateTokenRequest.ts#L23-L43', 'security.invalidate_token.Response': 'security/invalidate_token/SecurityInvalidateTokenResponse.ts#L23-L30', 'security.put_privileges.Actions': 'security/put_privileges/types.ts#L22-L27', -'security.put_privileges.Request': 'security/put_privileges/SecurityPutPrivilegesRequest.ts#L25-L37', +'security.put_privileges.Request': 'security/put_privileges/SecurityPutPrivilegesRequest.ts#L25-L38', 'security.put_privileges.Response': 'security/put_privileges/SecurityPutPrivilegesResponse.ts#L23-L26', -'security.put_role.Request': 'security/put_role/SecurityPutRoleRequest.ts#L31-L91', +'security.put_role.Request': 'security/put_role/SecurityPutRoleRequest.ts#L31-L95', 'security.put_role.Response': 'security/put_role/SecurityPutRoleResponse.ts#L22-L24', -'security.put_role_mapping.Request': 'security/put_role_mapping/SecurityPutRoleMappingRequest.ts#L25-L47', +'security.put_role_mapping.Request': 'security/put_role_mapping/SecurityPutRoleMappingRequest.ts#L25-L56', 'security.put_role_mapping.Response': 'security/put_role_mapping/SecurityPutRoleMappingResponse.ts#L22-L24', -'security.put_user.Request': 'security/put_user/SecurityPutUserRequest.ts#L23-L44', +'security.put_user.Request': 'security/put_user/SecurityPutUserRequest.ts#L23-L48', 'security.put_user.Response': 'security/put_user/SecurityPutUserResponse.ts#L20-L22', 'security.query_api_keys.ApiKeyAggregate': 'security/query_api_keys/types.ts#L122-L139', 'security.query_api_keys.ApiKeyAggregationContainer': 'security/query_api_keys/types.ts#L63-L120', 'security.query_api_keys.ApiKeyFiltersAggregation': 'security/query_api_keys/types.ts#L207-L227', 'security.query_api_keys.ApiKeyQueryContainer': 'security/query_api_keys/types.ts#L141-L205', -'security.query_api_keys.Request': 'security/query_api_keys/QueryApiKeysRequest.ts#L26-L100', +'security.query_api_keys.Request': 'security/query_api_keys/QueryApiKeysRequest.ts#L26-L101', 'security.query_api_keys.Response': 'security/query_api_keys/QueryApiKeysResponse.ts#L26-L45', 'security.query_role.QueryRole': 'security/query_role/types.ts#L103-L109', -'security.query_role.Request': 'security/query_role/QueryRolesRequest.ts#L25-L67', +'security.query_role.Request': 'security/query_role/QueryRolesRequest.ts#L25-L69', 'security.query_role.Response': 'security/query_role/QueryRolesResponse.ts#L23-L38', 'security.query_role.RoleQueryContainer': 'security/query_role/types.ts#L37-L101', 'security.query_user.QueryUser': 'security/query_user/types.ts#L103-L105', -'security.query_user.Request': 'security/query_user/SecurityQueryUserRequest.ts#L25-L72', +'security.query_user.Request': 'security/query_user/SecurityQueryUserRequest.ts#L25-L75', 'security.query_user.Response': 'security/query_user/SecurityQueryUserResponse.ts#L23-L38', 'security.query_user.UserQueryContainer': 'security/query_user/types.ts#L37-L101', -'security.saml_authenticate.Request': 'security/saml_authenticate/Request.ts#L23-L38', +'security.saml_authenticate.Request': 'security/saml_authenticate/Request.ts#L23-L40', 'security.saml_authenticate.Response': 'security/saml_authenticate/Response.ts#L22-L30', -'security.saml_complete_logout.Request': 'security/saml_complete_logout/Request.ts#L23-L40', -'security.saml_invalidate.Request': 'security/saml_invalidate/Request.ts#L22-L43', +'security.saml_complete_logout.Request': 'security/saml_complete_logout/Request.ts#L23-L42', +'security.saml_invalidate.Request': 'security/saml_invalidate/Request.ts#L22-L45', 'security.saml_invalidate.Response': 'security/saml_invalidate/Response.ts#L22-L28', -'security.saml_logout.Request': 'security/saml_logout/Request.ts#L22-L41', +'security.saml_logout.Request': 'security/saml_logout/Request.ts#L22-L43', 'security.saml_logout.Response': 'security/saml_logout/Response.ts#L20-L24', -'security.saml_prepare_authentication.Request': 'security/saml_prepare_authentication/Request.ts#L22-L46', +'security.saml_prepare_authentication.Request': 'security/saml_prepare_authentication/Request.ts#L22-L48', 'security.saml_prepare_authentication.Response': 'security/saml_prepare_authentication/Response.ts#L22-L28', -'security.saml_service_provider_metadata.Request': 'security/saml_service_provider_metadata/Request.ts#L23-L34', +'security.saml_service_provider_metadata.Request': 'security/saml_service_provider_metadata/Request.ts#L23-L36', 'security.saml_service_provider_metadata.Response': 'security/saml_service_provider_metadata/Response.ts#L20-L24', 'security.suggest_user_profiles.Hint': 'security/suggest_user_profiles/types.ts#L23-L34', -'security.suggest_user_profiles.Request': 'security/suggest_user_profiles/Request.ts#L24-L66', +'security.suggest_user_profiles.Request': 'security/suggest_user_profiles/Request.ts#L24-L68', 'security.suggest_user_profiles.Response': 'security/suggest_user_profiles/Response.ts#L29-L35', 'security.suggest_user_profiles.TotalUserProfiles': 'security/suggest_user_profiles/Response.ts#L24-L27', -'security.update_api_key.Request': 'security/update_api_key/Request.ts#L26-L66', +'security.update_api_key.Request': 'security/update_api_key/Request.ts#L26-L67', 'security.update_api_key.Response': 'security/update_api_key/Response.ts#L20-L28', -'security.update_user_profile_data.Request': 'security/update_user_profile_data/Request.ts#L27-L70', +'security.update_user_profile_data.Request': 'security/update_user_profile_data/Request.ts#L27-L72', 'security.update_user_profile_data.Response': 'security/update_user_profile_data/Response.ts#L22-L24', 'shutdown._types.Type': 'shutdown/_types/types.ts#L20-L24', 'shutdown.delete_node.Request': 'shutdown/delete_node/ShutdownDeleteNodeRequest.ts#L24-L44', @@ -2661,7 +2669,7 @@ 'sql.translate.Request': 'sql/translate/TranslateSqlRequest.ts#L25-L54', 'sql.translate.Response': 'sql/translate/TranslateSqlResponse.ts#L27-L37', 'ssl.certificates.CertificateInformation': 'ssl/certificates/types.ts#L22-L31', -'ssl.certificates.Request': 'ssl/certificates/GetCertificatesRequest.ts#L22-L27', +'ssl.certificates.Request': 'ssl/certificates/GetCertificatesRequest.ts#L22-L45', 'ssl.certificates.Response': 'ssl/certificates/GetCertificatesResponse.ts#L22-L24', 'synonyms._types.SynonymRule': 'synonyms/_types/SynonymRule.ts#L26-L35', 'synonyms._types.SynonymRuleRead': 'synonyms/_types/SynonymRule.ts#L38-L47', @@ -2935,10 +2943,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/0259789f2ae6b18140b3cdef034e9d331def278d/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/88226e10e8f12f9165e8e7871840765042f55ba8/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java index 4002a1336..84b491e2b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java @@ -39,6 +39,7 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; +import java.lang.Integer; import java.lang.Number; import java.lang.String; import java.util.HashMap; @@ -103,6 +104,9 @@ public class EqlSearchRequest extends RequestBase implements JsonpSerializable { @Nullable private final Boolean keepOnCompletion; + @Nullable + private final Integer maxSamplesPerKey; + private final String query; @Nullable @@ -137,6 +141,7 @@ private EqlSearchRequest(Builder builder) { this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); this.keepAlive = builder.keepAlive; this.keepOnCompletion = builder.keepOnCompletion; + this.maxSamplesPerKey = builder.maxSamplesPerKey; this.query = ApiTypeHelper.requireNonNull(builder.query, this, "query"); this.resultPosition = builder.resultPosition; this.runtimeMappings = ApiTypeHelper.unmodifiable(builder.runtimeMappings); @@ -249,6 +254,21 @@ public final Boolean keepOnCompletion() { return this.keepOnCompletion; } + /** + * By default, the response of a sample query contains up to 10 + * samples, with one sample per unique set of join keys. Use the + * size parameter to get a smaller or larger set of samples. To + * retrieve more than one sample per set of join keys, use the + * max_samples_per_key parameter. Pipes are not supported for + * sample queries. + *

+ * API name: {@code max_samples_per_key} + */ + @Nullable + public final Integer maxSamplesPerKey() { + return this.maxSamplesPerKey; + } + /** * Required - EQL query you wish to run. *

@@ -367,6 +387,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("keep_on_completion"); generator.write(this.keepOnCompletion); + } + if (this.maxSamplesPerKey != null) { + generator.writeKey("max_samples_per_key"); + generator.write(this.maxSamplesPerKey); + } generator.writeKey("query"); generator.write(this.query); @@ -450,6 +475,9 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private Boolean keepOnCompletion; + @Nullable + private Integer maxSamplesPerKey; + private String query; @Nullable @@ -659,6 +687,21 @@ public final Builder keepOnCompletion(@Nullable Boolean value) { return this; } + /** + * By default, the response of a sample query contains up to 10 + * samples, with one sample per unique set of join keys. Use the + * size parameter to get a smaller or larger set of samples. To + * retrieve more than one sample per set of join keys, use the + * max_samples_per_key parameter. Pipes are not supported for + * sample queries. + *

+ * API name: {@code max_samples_per_key} + */ + public final Builder maxSamplesPerKey(@Nullable Integer value) { + this.maxSamplesPerKey = value; + return this; + } + /** * Required - EQL query you wish to run. *

@@ -788,6 +831,7 @@ protected static void setupEqlSearchRequestDeserializer(ObjectDeserializeranalysis + * on a text string and returns the resulting tokens. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java index 7d8973e75..db24b9183 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -67,20 +68,29 @@ public class DataStreamLifecycle implements JsonpSerializable { @Nullable private final DataStreamLifecycleDownsampling downsampling; + @Nullable + private final Boolean enabled; + // --------------------------------------------------------------------------------------------- - private DataStreamLifecycle(Builder builder) { + protected DataStreamLifecycle(AbstractBuilder builder) { this.dataRetention = builder.dataRetention; this.downsampling = builder.downsampling; + this.enabled = builder.enabled; } - public static DataStreamLifecycle of(Function> fn) { + public static DataStreamLifecycle dataStreamLifecycleOf(Function> fn) { return fn.apply(new Builder()).build(); } /** + * If defined, every document added to this data stream will be stored at least + * for this time frame. Any time after this duration the document could be + * deleted. When empty, every document in this data stream will be stored + * indefinitely. + *

* API name: {@code data_retention} */ @Nullable @@ -89,6 +99,9 @@ public final Time dataRetention() { } /** + * The downsampling configuration to execute for the managed backing index after + * rollover. + *

* API name: {@code downsampling} */ @Nullable @@ -96,6 +109,19 @@ public final DataStreamLifecycleDownsampling downsampling() { return this.downsampling; } + /** + * If defined, it turns data stream lifecycle on/off + * (true/false) for this data stream. A data stream + * lifecycle that's disabled (enabled: false) will have no effect + * on the data stream. + *

+ * API name: {@code enabled} + */ + @Nullable + public final Boolean enabled() { + return this.enabled; + } + /** * Serialize this object to JSON. */ @@ -117,6 +143,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.downsampling.serialize(generator, mapper); } + if (this.enabled != null) { + generator.writeKey("enabled"); + generator.write(this.enabled); + + } } @@ -131,62 +162,101 @@ public String toString() { * Builder for {@link DataStreamLifecycle}. */ - public static class Builder extends WithJsonObjectBuilderBase + public static class Builder extends DataStreamLifecycle.AbstractBuilder implements ObjectBuilder { + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DataStreamLifecycle}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DataStreamLifecycle build() { + _checkSingleUse(); + + return new DataStreamLifecycle(this); + } + } + + public abstract static class AbstractBuilder> + extends + WithJsonObjectBuilderBase { @Nullable private Time dataRetention; @Nullable private DataStreamLifecycleDownsampling downsampling; + @Nullable + private Boolean enabled; + /** + * If defined, every document added to this data stream will be stored at least + * for this time frame. Any time after this duration the document could be + * deleted. When empty, every document in this data stream will be stored + * indefinitely. + *

* API name: {@code data_retention} */ - public final Builder dataRetention(@Nullable Time value) { + public final BuilderT dataRetention(@Nullable Time value) { this.dataRetention = value; - return this; + return self(); } /** + * If defined, every document added to this data stream will be stored at least + * for this time frame. Any time after this duration the document could be + * deleted. When empty, every document in this data stream will be stored + * indefinitely. + *

* API name: {@code data_retention} */ - public final Builder dataRetention(Function> fn) { + public final BuilderT dataRetention(Function> fn) { return this.dataRetention(fn.apply(new Time.Builder()).build()); } /** + * The downsampling configuration to execute for the managed backing index after + * rollover. + *

* API name: {@code downsampling} */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { + public final BuilderT downsampling(@Nullable DataStreamLifecycleDownsampling value) { this.downsampling = value; - return this; + return self(); } /** + * The downsampling configuration to execute for the managed backing index after + * rollover. + *

* API name: {@code downsampling} */ - public final Builder downsampling( + public final BuilderT downsampling( Function> fn) { return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); } - @Override - protected Builder self() { - return this; - } - /** - * Builds a {@link DataStreamLifecycle}. - * - * @throws NullPointerException - * if some of the required fields are null. + * If defined, it turns data stream lifecycle on/off + * (true/false) for this data stream. A data stream + * lifecycle that's disabled (enabled: false) will have no effect + * on the data stream. + *

+ * API name: {@code enabled} */ - public DataStreamLifecycle build() { - _checkSingleUse(); - - return new DataStreamLifecycle(this); + public final BuilderT enabled(@Nullable Boolean value) { + this.enabled = value; + return self(); } + + protected abstract BuilderT self(); + } // --------------------------------------------------------------------------------------------- @@ -197,10 +267,12 @@ public DataStreamLifecycle build() { public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer .lazy(Builder::new, DataStreamLifecycle::setupDataStreamLifecycleDeserializer); - protected static void setupDataStreamLifecycleDeserializer(ObjectDeserializer op) { + protected static > void setupDataStreamLifecycleDeserializer( + ObjectDeserializer op) { - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); + op.add(AbstractBuilder::dataRetention, Time._DESERIALIZER, "data_retention"); + op.add(AbstractBuilder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); + op.add(AbstractBuilder::enabled, JsonpDeserializer.booleanDeserializer(), "enabled"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java index 14e94e6e1..b16773b7d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java @@ -19,16 +19,12 @@ package co.elastic.clients.elasticsearch.indices; -import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.util.Objects; import java.util.function.Function; @@ -60,22 +56,15 @@ * specification */ @JsonpDeserializable -public class DataStreamLifecycleWithRollover implements JsonpSerializable { - @Nullable - private final Time dataRetention; - - @Nullable - private final DataStreamLifecycleDownsampling downsampling; - +public class DataStreamLifecycleWithRollover extends DataStreamLifecycle { @Nullable private final DataStreamLifecycleRolloverConditions rollover; // --------------------------------------------------------------------------------------------- private DataStreamLifecycleWithRollover(Builder builder) { + super(builder); - this.dataRetention = builder.dataRetention; - this.downsampling = builder.downsampling; this.rollover = builder.rollover; } @@ -85,30 +74,6 @@ public static DataStreamLifecycleWithRollover of( return fn.apply(new Builder()).build(); } - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

- * API name: {@code data_retention} - */ - @Nullable - public final Time dataRetention() { - return this.dataRetention; - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

- * API name: {@code downsampling} - */ - @Nullable - public final DataStreamLifecycleDownsampling downsampling() { - return this.downsampling; - } - /** * The conditions which will trigger the rollover of a backing index as * configured by the cluster setting @@ -124,27 +89,9 @@ public final DataStreamLifecycleRolloverConditions rollover() { return this.rollover; } - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.dataRetention != null) { - generator.writeKey("data_retention"); - this.dataRetention.serialize(generator, mapper); - - } - if (this.downsampling != null) { - generator.writeKey("downsampling"); - this.downsampling.serialize(generator, mapper); - - } + super.serializeInternal(generator, mapper); if (this.rollover != null) { generator.writeKey("rollover"); this.rollover.serialize(generator, mapper); @@ -153,76 +100,18 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } - @Override - public String toString() { - return JsonpUtils.toString(this); - } - // --------------------------------------------------------------------------------------------- /** * Builder for {@link DataStreamLifecycleWithRollover}. */ - public static class Builder extends WithJsonObjectBuilderBase + public static class Builder extends DataStreamLifecycle.AbstractBuilder implements ObjectBuilder { - @Nullable - private Time dataRetention; - - @Nullable - private DataStreamLifecycleDownsampling downsampling; - @Nullable private DataStreamLifecycleRolloverConditions rollover; - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

- * API name: {@code data_retention} - */ - public final Builder dataRetention(@Nullable Time value) { - this.dataRetention = value; - return this; - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

- * API name: {@code data_retention} - */ - public final Builder dataRetention(Function> fn) { - return this.dataRetention(fn.apply(new Time.Builder()).build()); - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

- * API name: {@code downsampling} - */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { - this.downsampling = value; - return this; - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

- * API name: {@code downsampling} - */ - public final Builder downsampling( - Function> fn) { - return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); - } - /** * The conditions which will trigger the rollover of a backing index as * configured by the cluster setting @@ -281,9 +170,7 @@ public DataStreamLifecycleWithRollover build() { protected static void setupDataStreamLifecycleWithRolloverDeserializer( ObjectDeserializer op) { - - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); + DataStreamLifecycle.setupDataStreamLifecycleDeserializer(op); op.add(Builder::rollover, DataStreamLifecycleRolloverConditions._DESERIALIZER, "rollover"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java index 8212e5402..6017306b2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java @@ -106,7 +106,9 @@ public final CompletableFuture addBlock( // ----- Endpoint: indices.analyze /** - * Performs analysis on a text string and returns the resulting tokens. + * Get tokens from text analysis. The analyze API performs analysis + * on a text string and returns the resulting tokens. * * @see Documentation @@ -121,7 +123,9 @@ public CompletableFuture analyze(AnalyzeRequest request) { } /** - * Performs analysis on a text string and returns the resulting tokens. + * Get tokens from text analysis. The analyze API performs analysis + * on a text string and returns the resulting tokens. * * @param fn * a function that initializes a builder to create the @@ -137,7 +141,9 @@ public final CompletableFuture analyze( } /** - * Performs analysis on a text string and returns the resulting tokens. + * Get tokens from text analysis. The analyze API performs analysis + * on a text string and returns the resulting tokens. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java index 9657e3907..60e3b5bd8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java @@ -104,7 +104,9 @@ public final AddBlockResponse addBlock(Functionanalysis + * on a text string and returns the resulting tokens. * * @see Documentation @@ -119,7 +121,9 @@ public AnalyzeResponse analyze(AnalyzeRequest request) throws IOException, Elast } /** - * Performs analysis on a text string and returns the resulting tokens. + * Get tokens from text analysis. The analyze API performs analysis + * on a text string and returns the resulting tokens. * * @param fn * a function that initializes a builder to create the @@ -135,7 +139,9 @@ public final AnalyzeResponse analyze(Functionanalysis + * on a text string and returns the resulting tokens. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java index 00ad95dc1..52b6a95b6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java @@ -34,6 +34,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import jakarta.json.stream.JsonParser; import java.lang.String; import java.util.HashMap; import java.util.List; @@ -70,12 +71,6 @@ */ @JsonpDeserializable public class PutDataLifecycleRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Time dataRetention; - - @Nullable - private final DataStreamLifecycleDownsampling downsampling; - private final List expandWildcards; @Nullable @@ -86,16 +81,17 @@ public class PutDataLifecycleRequest extends RequestBase implements JsonpSeriali @Nullable private final Time timeout; + private final DataStreamLifecycle lifecycle; + // --------------------------------------------------------------------------------------------- private PutDataLifecycleRequest(Builder builder) { - this.dataRetention = builder.dataRetention; - this.downsampling = builder.downsampling; this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); this.timeout = builder.timeout; + this.lifecycle = ApiTypeHelper.requireNonNull(builder.lifecycle, this, "lifecycle"); } @@ -103,31 +99,6 @@ public static PutDataLifecycleRequest of(Function - * API name: {@code data_retention} - */ - @Nullable - public final Time dataRetention() { - return this.dataRetention; - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

- * API name: {@code downsampling} - */ - @Nullable - public final DataStreamLifecycleDownsampling downsampling() { - return this.downsampling; - } - /** * Type of data stream that wildcard patterns can match. Supports * comma-separated values, such as open,hidden. Valid values are: @@ -174,26 +145,17 @@ public final Time timeout() { } /** - * Serialize this object to JSON. + * Required - Request body. */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); + public final DataStreamLifecycle lifecycle() { + return this.lifecycle; } - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.dataRetention != null) { - generator.writeKey("data_retention"); - this.dataRetention.serialize(generator, mapper); - - } - if (this.downsampling != null) { - generator.writeKey("downsampling"); - this.downsampling.serialize(generator, mapper); - - } + /** + * Serialize this value to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + this.lifecycle.serialize(generator, mapper); } @@ -206,12 +168,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Time dataRetention; - - @Nullable - private DataStreamLifecycleDownsampling downsampling; - @Nullable private List expandWildcards; @@ -223,54 +179,7 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private Time timeout; - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

- * API name: {@code data_retention} - */ - public final Builder dataRetention(@Nullable Time value) { - this.dataRetention = value; - return this; - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

- * API name: {@code data_retention} - */ - public final Builder dataRetention(Function> fn) { - return this.dataRetention(fn.apply(new Time.Builder()).build()); - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

- * API name: {@code downsampling} - */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { - this.downsampling = value; - return this; - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

- * API name: {@code downsampling} - */ - public final Builder downsampling( - Function> fn) { - return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); - } + private DataStreamLifecycle lifecycle; /** * Type of data stream that wildcard patterns can match. Supports @@ -372,6 +281,30 @@ public final Builder timeout(Function> fn) { return this.timeout(fn.apply(new Time.Builder()).build()); } + /** + * Required - Request body. + */ + public final Builder lifecycle(DataStreamLifecycle value) { + this.lifecycle = value; + return this; + } + + /** + * Required - Request body. + */ + public final Builder lifecycle(Function> fn) { + return this.lifecycle(fn.apply(new DataStreamLifecycle.Builder()).build()); + } + + @Override + public Builder withJson(JsonParser parser, JsonpMapper mapper) { + + @SuppressWarnings("unchecked") + DataStreamLifecycle value = (DataStreamLifecycle) DataStreamLifecycle._DESERIALIZER.deserialize(parser, + mapper); + return this.lifecycle(value); + } + @Override protected Builder self() { return this; @@ -390,20 +323,13 @@ public PutDataLifecycleRequest build() { } } - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutDataLifecycleRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutDataLifecycleRequest::setupPutDataLifecycleRequestDeserializer); - - protected static void setupPutDataLifecycleRequestDeserializer( - ObjectDeserializer op) { + public static final JsonpDeserializer _DESERIALIZER = createPutDataLifecycleRequestDeserializer(); + protected static JsonpDeserializer createPutDataLifecycleRequestDeserializer() { - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); + JsonpDeserializer valueDeserializer = DataStreamLifecycle._DESERIALIZER; + return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() + .lifecycle(valueDeserializer.deserialize(parser, mapper, event)).build()); } // --------------------------------------------------------------------------------------------- diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java index c0f1c5612..4a1ae5cdf 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java @@ -19,7 +19,7 @@ package co.elastic.clients.elasticsearch.indices.get_data_lifecycle; -import co.elastic.clients.elasticsearch.indices.DataStreamLifecycle; +import co.elastic.clients.elasticsearch.indices.DataStreamLifecycleWithRollover; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -64,7 +64,7 @@ public class DataStreamWithLifecycle implements JsonpSerializable { private final String name; @Nullable - private final DataStreamLifecycle lifecycle; + private final DataStreamLifecycleWithRollover lifecycle; // --------------------------------------------------------------------------------------------- @@ -90,7 +90,7 @@ public final String name() { * API name: {@code lifecycle} */ @Nullable - public final DataStreamLifecycle lifecycle() { + public final DataStreamLifecycleWithRollover lifecycle() { return this.lifecycle; } @@ -133,7 +133,7 @@ public static class Builder extends WithJsonObjectBuilderBase private String name; @Nullable - private DataStreamLifecycle lifecycle; + private DataStreamLifecycleWithRollover lifecycle; /** * Required - API name: {@code name} @@ -146,7 +146,7 @@ public final Builder name(String value) { /** * API name: {@code lifecycle} */ - public final Builder lifecycle(@Nullable DataStreamLifecycle value) { + public final Builder lifecycle(@Nullable DataStreamLifecycleWithRollover value) { this.lifecycle = value; return this; } @@ -154,8 +154,9 @@ public final Builder lifecycle(@Nullable DataStreamLifecycle value) { /** * API name: {@code lifecycle} */ - public final Builder lifecycle(Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycle.Builder()).build()); + public final Builder lifecycle( + Function> fn) { + return this.lifecycle(fn.apply(new DataStreamLifecycleWithRollover.Builder()).build()); } @Override @@ -188,7 +189,7 @@ protected static void setupDataStreamWithLifecycleDeserializer( ObjectDeserializer op) { op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::lifecycle, DataStreamLifecycle._DESERIALIZER, "lifecycle"); + op.add(Builder::lifecycle, DataStreamLifecycleWithRollover._DESERIALIZER, "lifecycle"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/CommunityIDProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/CommunityIDProcessor.java new file mode 100644 index 000000000..df31bb45c --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/CommunityIDProcessor.java @@ -0,0 +1,502 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.CommunityIDProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class CommunityIDProcessor extends ProcessorBase implements ProcessorVariant { + @Nullable + private final String sourceIp; + + @Nullable + private final String sourcePort; + + @Nullable + private final String destinationIp; + + @Nullable + private final String destinationPort; + + @Nullable + private final String ianaNumber; + + @Nullable + private final String icmpType; + + @Nullable + private final String icmpCode; + + @Nullable + private final String transport; + + @Nullable + private final String targetField; + + @Nullable + private final Integer seed; + + @Nullable + private final Boolean ignoreMissing; + + // --------------------------------------------------------------------------------------------- + + private CommunityIDProcessor(Builder builder) { + super(builder); + + this.sourceIp = builder.sourceIp; + this.sourcePort = builder.sourcePort; + this.destinationIp = builder.destinationIp; + this.destinationPort = builder.destinationPort; + this.ianaNumber = builder.ianaNumber; + this.icmpType = builder.icmpType; + this.icmpCode = builder.icmpCode; + this.transport = builder.transport; + this.targetField = builder.targetField; + this.seed = builder.seed; + this.ignoreMissing = builder.ignoreMissing; + + } + + public static CommunityIDProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.CommunityId; + } + + /** + * Field containing the source IP address. + *

+ * API name: {@code source_ip} + */ + @Nullable + public final String sourceIp() { + return this.sourceIp; + } + + /** + * Field containing the source port. + *

+ * API name: {@code source_port} + */ + @Nullable + public final String sourcePort() { + return this.sourcePort; + } + + /** + * Field containing the destination IP address. + *

+ * API name: {@code destination_ip} + */ + @Nullable + public final String destinationIp() { + return this.destinationIp; + } + + /** + * Field containing the destination port. + *

+ * API name: {@code destination_port} + */ + @Nullable + public final String destinationPort() { + return this.destinationPort; + } + + /** + * Field containing the IANA number. + *

+ * API name: {@code iana_number} + */ + @Nullable + public final String ianaNumber() { + return this.ianaNumber; + } + + /** + * Field containing the ICMP type. + *

+ * API name: {@code icmp_type} + */ + @Nullable + public final String icmpType() { + return this.icmpType; + } + + /** + * Field containing the ICMP code. + *

+ * API name: {@code icmp_code} + */ + @Nullable + public final String icmpCode() { + return this.icmpCode; + } + + /** + * Field containing the transport protocol name or number. Used only when the + * iana_number field is not present. The following protocol names are currently + * supported: eigrp, gre, icmp, icmpv6, igmp, ipv6-icmp, ospf, pim, sctp, tcp, + * udp + *

+ * API name: {@code transport} + */ + @Nullable + public final String transport() { + return this.transport; + } + + /** + * Output field for the community ID. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * Seed for the community ID hash. Must be between 0 and 65535 (inclusive). The + * seed can prevent hash collisions between network domains, such as a staging + * and production network that use the same addressing scheme. + *

+ * API name: {@code seed} + */ + @Nullable + public final Integer seed() { + return this.seed; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (this.sourceIp != null) { + generator.writeKey("source_ip"); + generator.write(this.sourceIp); + + } + if (this.sourcePort != null) { + generator.writeKey("source_port"); + generator.write(this.sourcePort); + + } + if (this.destinationIp != null) { + generator.writeKey("destination_ip"); + generator.write(this.destinationIp); + + } + if (this.destinationPort != null) { + generator.writeKey("destination_port"); + generator.write(this.destinationPort); + + } + if (this.ianaNumber != null) { + generator.writeKey("iana_number"); + generator.write(this.ianaNumber); + + } + if (this.icmpType != null) { + generator.writeKey("icmp_type"); + generator.write(this.icmpType); + + } + if (this.icmpCode != null) { + generator.writeKey("icmp_code"); + generator.write(this.icmpCode); + + } + if (this.transport != null) { + generator.writeKey("transport"); + generator.write(this.transport); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (this.seed != null) { + generator.writeKey("seed"); + generator.write(this.seed); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link CommunityIDProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private String sourceIp; + + @Nullable + private String sourcePort; + + @Nullable + private String destinationIp; + + @Nullable + private String destinationPort; + + @Nullable + private String ianaNumber; + + @Nullable + private String icmpType; + + @Nullable + private String icmpCode; + + @Nullable + private String transport; + + @Nullable + private String targetField; + + @Nullable + private Integer seed; + + @Nullable + private Boolean ignoreMissing; + + /** + * Field containing the source IP address. + *

+ * API name: {@code source_ip} + */ + public final Builder sourceIp(@Nullable String value) { + this.sourceIp = value; + return this; + } + + /** + * Field containing the source port. + *

+ * API name: {@code source_port} + */ + public final Builder sourcePort(@Nullable String value) { + this.sourcePort = value; + return this; + } + + /** + * Field containing the destination IP address. + *

+ * API name: {@code destination_ip} + */ + public final Builder destinationIp(@Nullable String value) { + this.destinationIp = value; + return this; + } + + /** + * Field containing the destination port. + *

+ * API name: {@code destination_port} + */ + public final Builder destinationPort(@Nullable String value) { + this.destinationPort = value; + return this; + } + + /** + * Field containing the IANA number. + *

+ * API name: {@code iana_number} + */ + public final Builder ianaNumber(@Nullable String value) { + this.ianaNumber = value; + return this; + } + + /** + * Field containing the ICMP type. + *

+ * API name: {@code icmp_type} + */ + public final Builder icmpType(@Nullable String value) { + this.icmpType = value; + return this; + } + + /** + * Field containing the ICMP code. + *

+ * API name: {@code icmp_code} + */ + public final Builder icmpCode(@Nullable String value) { + this.icmpCode = value; + return this; + } + + /** + * Field containing the transport protocol name or number. Used only when the + * iana_number field is not present. The following protocol names are currently + * supported: eigrp, gre, icmp, icmpv6, igmp, ipv6-icmp, ospf, pim, sctp, tcp, + * udp + *

+ * API name: {@code transport} + */ + public final Builder transport(@Nullable String value) { + this.transport = value; + return this; + } + + /** + * Output field for the community ID. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * Seed for the community ID hash. Must be between 0 and 65535 (inclusive). The + * seed can prevent hash collisions between network domains, such as a staging + * and production network that use the same addressing scheme. + *

+ * API name: {@code seed} + */ + public final Builder seed(@Nullable Integer value) { + this.seed = value; + return this; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link CommunityIDProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public CommunityIDProcessor build() { + _checkSingleUse(); + + return new CommunityIDProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link CommunityIDProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, CommunityIDProcessor::setupCommunityIDProcessorDeserializer); + + protected static void setupCommunityIDProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::sourceIp, JsonpDeserializer.stringDeserializer(), "source_ip"); + op.add(Builder::sourcePort, JsonpDeserializer.stringDeserializer(), "source_port"); + op.add(Builder::destinationIp, JsonpDeserializer.stringDeserializer(), "destination_ip"); + op.add(Builder::destinationPort, JsonpDeserializer.stringDeserializer(), "destination_port"); + op.add(Builder::ianaNumber, JsonpDeserializer.stringDeserializer(), "iana_number"); + op.add(Builder::icmpType, JsonpDeserializer.stringDeserializer(), "icmp_type"); + op.add(Builder::icmpCode, JsonpDeserializer.stringDeserializer(), "icmp_code"); + op.add(Builder::transport, JsonpDeserializer.stringDeserializer(), "transport"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::seed, JsonpDeserializer.integerDeserializer(), "seed"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertType.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertType.java index 8b3d5efdb..7ca65bbcd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertType.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertType.java @@ -49,14 +49,16 @@ public enum ConvertType implements JsonEnum { Long("long"), - Float("float"), - Double("double"), - String("string"), + Float("float"), Boolean("boolean"), + Ip("ip"), + + String("string"), + Auto("auto"), ; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DateProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DateProcessor.java index 00e807ebd..2fc7265d1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DateProcessor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DateProcessor.java @@ -70,6 +70,9 @@ public class DateProcessor extends ProcessorBase implements ProcessorVariant { @Nullable private final String timezone; + @Nullable + private final String outputFormat; + // --------------------------------------------------------------------------------------------- private DateProcessor(Builder builder) { @@ -80,6 +83,7 @@ private DateProcessor(Builder builder) { this.locale = builder.locale; this.targetField = builder.targetField; this.timezone = builder.timezone; + this.outputFormat = builder.outputFormat; } @@ -145,6 +149,17 @@ public final String timezone() { return this.timezone; } + /** + * The format to use when writing the date to target_field. Must be a valid java + * time pattern. + *

+ * API name: {@code output_format} + */ + @Nullable + public final String outputFormat() { + return this.outputFormat; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { super.serializeInternal(generator, mapper); @@ -176,6 +191,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.timezone); } + if (this.outputFormat != null) { + generator.writeKey("output_format"); + generator.write(this.outputFormat); + + } } @@ -199,6 +219,9 @@ public static class Builder extends ProcessorBase.AbstractBuilder imple @Nullable private String timezone; + @Nullable + private String outputFormat; + /** * Required - The field to get the date from. *

@@ -266,6 +289,17 @@ public final Builder timezone(@Nullable String value) { return this; } + /** + * The format to use when writing the date to target_field. Must be a valid java + * time pattern. + *

+ * API name: {@code output_format} + */ + public final Builder outputFormat(@Nullable String value) { + this.outputFormat = value; + return this; + } + @Override protected Builder self() { return this; @@ -300,6 +334,7 @@ protected static void setupDateProcessorDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public enum FingerprintDigest implements JsonEnum { + Md5("MD5"), + + Sha1("SHA-1"), + + Sha256("SHA-256"), + + Sha512("SHA-512"), + + MurmurHash3("MurmurHash3"), + + ; + + private final String jsonValue; + + FingerprintDigest(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + FingerprintDigest.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/FingerprintProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/FingerprintProcessor.java new file mode 100644 index 000000000..0c17aa105 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/FingerprintProcessor.java @@ -0,0 +1,318 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.FingerprintProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class FingerprintProcessor extends ProcessorBase implements ProcessorVariant { + private final List fields; + + @Nullable + private final String targetField; + + @Nullable + private final String salt; + + @Nullable + private final FingerprintDigest method; + + @Nullable + private final Boolean ignoreMissing; + + // --------------------------------------------------------------------------------------------- + + private FingerprintProcessor(Builder builder) { + super(builder); + + this.fields = ApiTypeHelper.unmodifiableRequired(builder.fields, this, "fields"); + this.targetField = builder.targetField; + this.salt = builder.salt; + this.method = builder.method; + this.ignoreMissing = builder.ignoreMissing; + + } + + public static FingerprintProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.Fingerprint; + } + + /** + * Required - Array of fields to include in the fingerprint. For objects, the + * processor hashes both the field key and value. For other fields, the + * processor hashes only the field value. + *

+ * API name: {@code fields} + */ + public final List fields() { + return this.fields; + } + + /** + * Output field for the fingerprint. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * Salt value for the hash function. + *

+ * API name: {@code salt} + */ + @Nullable + public final String salt() { + return this.salt; + } + + /** + * The hash method used to compute the fingerprint. Must be one of MD5, SHA-1, + * SHA-256, SHA-512, or MurmurHash3. + *

+ * API name: {@code method} + */ + @Nullable + public final FingerprintDigest method() { + return this.method; + } + + /** + * If true, the processor ignores any missing fields. If all fields are missing, + * the processor silently exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (ApiTypeHelper.isDefined(this.fields)) { + generator.writeKey("fields"); + generator.writeStartArray(); + for (String item0 : this.fields) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (this.salt != null) { + generator.writeKey("salt"); + generator.write(this.salt); + + } + if (this.method != null) { + generator.writeKey("method"); + this.method.serialize(generator, mapper); + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link FingerprintProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private List fields; + + @Nullable + private String targetField; + + @Nullable + private String salt; + + @Nullable + private FingerprintDigest method; + + @Nullable + private Boolean ignoreMissing; + + /** + * Required - Array of fields to include in the fingerprint. For objects, the + * processor hashes both the field key and value. For other fields, the + * processor hashes only the field value. + *

+ * API name: {@code fields} + *

+ * Adds all elements of list to fields. + */ + public final Builder fields(List list) { + this.fields = _listAddAll(this.fields, list); + return this; + } + + /** + * Required - Array of fields to include in the fingerprint. For objects, the + * processor hashes both the field key and value. For other fields, the + * processor hashes only the field value. + *

+ * API name: {@code fields} + *

+ * Adds one or more values to fields. + */ + public final Builder fields(String value, String... values) { + this.fields = _listAdd(this.fields, value, values); + return this; + } + + /** + * Output field for the fingerprint. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * Salt value for the hash function. + *

+ * API name: {@code salt} + */ + public final Builder salt(@Nullable String value) { + this.salt = value; + return this; + } + + /** + * The hash method used to compute the fingerprint. Must be one of MD5, SHA-1, + * SHA-256, SHA-512, or MurmurHash3. + *

+ * API name: {@code method} + */ + public final Builder method(@Nullable FingerprintDigest value) { + this.method = value; + return this; + } + + /** + * If true, the processor ignores any missing fields. If all fields are missing, + * the processor silently exits without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link FingerprintProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public FingerprintProcessor build() { + _checkSingleUse(); + + return new FingerprintProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link FingerprintProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, FingerprintProcessor::setupFingerprintProcessorDeserializer); + + protected static void setupFingerprintProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::fields, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "fields"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::salt, JsonpDeserializer.stringDeserializer(), "salt"); + op.add(Builder::method, FingerprintDigest._DESERIALIZER, "method"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GrokProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GrokProcessor.java index e3ce15c28..30ef80165 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GrokProcessor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GrokProcessor.java @@ -59,6 +59,9 @@ */ @JsonpDeserializable public class GrokProcessor extends ProcessorBase implements ProcessorVariant { + @Nullable + private final String ecsCompatibility; + private final String field; @Nullable @@ -76,6 +79,7 @@ public class GrokProcessor extends ProcessorBase implements ProcessorVariant { private GrokProcessor(Builder builder) { super(builder); + this.ecsCompatibility = builder.ecsCompatibility; this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); this.ignoreMissing = builder.ignoreMissing; this.patternDefinitions = ApiTypeHelper.unmodifiable(builder.patternDefinitions); @@ -96,6 +100,17 @@ public Processor.Kind _processorKind() { return Processor.Kind.Grok; } + /** + * Must be disabled or v1. If v1, the processor uses patterns with Elastic + * Common Schema (ECS) field names. + *

+ * API name: {@code ecs_compatibility} + */ + @Nullable + public final String ecsCompatibility() { + return this.ecsCompatibility; + } + /** * Required - The field to use for grok expression parsing. *

@@ -153,6 +168,11 @@ public final Boolean traceMatch() { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { super.serializeInternal(generator, mapper); + if (this.ecsCompatibility != null) { + generator.writeKey("ecs_compatibility"); + generator.write(this.ecsCompatibility); + + } generator.writeKey("field"); generator.write(this.field); @@ -197,6 +217,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { */ public static class Builder extends ProcessorBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private String ecsCompatibility; + private String field; @Nullable @@ -210,6 +233,17 @@ public static class Builder extends ProcessorBase.AbstractBuilder imple @Nullable private Boolean traceMatch; + /** + * Must be disabled or v1. If v1, the processor uses patterns with Elastic + * Common Schema (ECS) field names. + *

+ * API name: {@code ecs_compatibility} + */ + public final Builder ecsCompatibility(@Nullable String value) { + this.ecsCompatibility = value; + return this; + } + /** * Required - The field to use for grok expression parsing. *

@@ -326,6 +360,7 @@ public GrokProcessor build() { protected static void setupGrokProcessorDeserializer(ObjectDeserializer op) { ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::ecsCompatibility, JsonpDeserializer.stringDeserializer(), "ecs_compatibility"); op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); op.add(Builder::patternDefinitions, diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/NetworkDirectionProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/NetworkDirectionProcessor.java new file mode 100644 index 000000000..ed92fcf48 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/NetworkDirectionProcessor.java @@ -0,0 +1,358 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.NetworkDirectionProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class NetworkDirectionProcessor extends ProcessorBase implements ProcessorVariant { + @Nullable + private final String sourceIp; + + @Nullable + private final String destinationIp; + + @Nullable + private final String targetField; + + private final List internalNetworks; + + @Nullable + private final String internalNetworksField; + + @Nullable + private final Boolean ignoreMissing; + + // --------------------------------------------------------------------------------------------- + + private NetworkDirectionProcessor(Builder builder) { + super(builder); + + this.sourceIp = builder.sourceIp; + this.destinationIp = builder.destinationIp; + this.targetField = builder.targetField; + this.internalNetworks = ApiTypeHelper.unmodifiable(builder.internalNetworks); + this.internalNetworksField = builder.internalNetworksField; + this.ignoreMissing = builder.ignoreMissing; + + } + + public static NetworkDirectionProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.NetworkDirection; + } + + /** + * Field containing the source IP address. + *

+ * API name: {@code source_ip} + */ + @Nullable + public final String sourceIp() { + return this.sourceIp; + } + + /** + * Field containing the destination IP address. + *

+ * API name: {@code destination_ip} + */ + @Nullable + public final String destinationIp() { + return this.destinationIp; + } + + /** + * Output field for the network direction. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * List of internal networks. Supports IPv4 and IPv6 addresses and ranges in + * CIDR notation. Also supports the named ranges listed below. These may be + * constructed with template snippets. Must specify only one of + * internal_networks or internal_networks_field. + *

+ * API name: {@code internal_networks} + */ + public final List internalNetworks() { + return this.internalNetworks; + } + + /** + * A field on the given document to read the internal_networks configuration + * from. + *

+ * API name: {@code internal_networks_field} + */ + @Nullable + public final String internalNetworksField() { + return this.internalNetworksField; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (this.sourceIp != null) { + generator.writeKey("source_ip"); + generator.write(this.sourceIp); + + } + if (this.destinationIp != null) { + generator.writeKey("destination_ip"); + generator.write(this.destinationIp); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (ApiTypeHelper.isDefined(this.internalNetworks)) { + generator.writeKey("internal_networks"); + generator.writeStartArray(); + for (String item0 : this.internalNetworks) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.internalNetworksField != null) { + generator.writeKey("internal_networks_field"); + generator.write(this.internalNetworksField); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link NetworkDirectionProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private String sourceIp; + + @Nullable + private String destinationIp; + + @Nullable + private String targetField; + + @Nullable + private List internalNetworks; + + @Nullable + private String internalNetworksField; + + @Nullable + private Boolean ignoreMissing; + + /** + * Field containing the source IP address. + *

+ * API name: {@code source_ip} + */ + public final Builder sourceIp(@Nullable String value) { + this.sourceIp = value; + return this; + } + + /** + * Field containing the destination IP address. + *

+ * API name: {@code destination_ip} + */ + public final Builder destinationIp(@Nullable String value) { + this.destinationIp = value; + return this; + } + + /** + * Output field for the network direction. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * List of internal networks. Supports IPv4 and IPv6 addresses and ranges in + * CIDR notation. Also supports the named ranges listed below. These may be + * constructed with template snippets. Must specify only one of + * internal_networks or internal_networks_field. + *

+ * API name: {@code internal_networks} + *

+ * Adds all elements of list to internalNetworks. + */ + public final Builder internalNetworks(List list) { + this.internalNetworks = _listAddAll(this.internalNetworks, list); + return this; + } + + /** + * List of internal networks. Supports IPv4 and IPv6 addresses and ranges in + * CIDR notation. Also supports the named ranges listed below. These may be + * constructed with template snippets. Must specify only one of + * internal_networks or internal_networks_field. + *

+ * API name: {@code internal_networks} + *

+ * Adds one or more values to internalNetworks. + */ + public final Builder internalNetworks(String value, String... values) { + this.internalNetworks = _listAdd(this.internalNetworks, value, values); + return this; + } + + /** + * A field on the given document to read the internal_networks configuration + * from. + *

+ * API name: {@code internal_networks_field} + */ + public final Builder internalNetworksField(@Nullable String value) { + this.internalNetworksField = value; + return this; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link NetworkDirectionProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public NetworkDirectionProcessor build() { + _checkSingleUse(); + + return new NetworkDirectionProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link NetworkDirectionProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, NetworkDirectionProcessor::setupNetworkDirectionProcessorDeserializer); + + protected static void setupNetworkDirectionProcessorDeserializer( + ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::sourceIp, JsonpDeserializer.stringDeserializer(), "source_ip"); + op.add(Builder::destinationIp, JsonpDeserializer.stringDeserializer(), "destination_ip"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::internalNetworks, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "internal_networks"); + op.add(Builder::internalNetworksField, JsonpDeserializer.stringDeserializer(), "internal_networks_field"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java index 75ac6415e..489acf9e6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java @@ -82,6 +82,8 @@ public enum Kind implements JsonEnum { Circle("circle"), + CommunityId("community_id"), + Convert("convert"), Csv("csv"), @@ -100,6 +102,8 @@ public enum Kind implements JsonEnum { Fail("fail"), + Fingerprint("fingerprint"), + Foreach("foreach"), GeoGrid("geo_grid"), @@ -122,10 +126,14 @@ public enum Kind implements JsonEnum { Lowercase("lowercase"), + NetworkDirection("network_direction"), + Pipeline("pipeline"), Redact("redact"), + RegisteredDomain("registered_domain"), + Remove("remove"), Rename("rename"), @@ -272,6 +280,23 @@ public CircleProcessor circle() { return TaggedUnionUtils.get(this, Kind.Circle); } + /** + * Is this variant instance of kind {@code community_id}? + */ + public boolean isCommunityId() { + return _kind == Kind.CommunityId; + } + + /** + * Get the {@code community_id} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code community_id} kind. + */ + public CommunityIDProcessor communityId() { + return TaggedUnionUtils.get(this, Kind.CommunityId); + } + /** * Is this variant instance of kind {@code convert}? */ @@ -426,6 +451,23 @@ public FailProcessor fail() { return TaggedUnionUtils.get(this, Kind.Fail); } + /** + * Is this variant instance of kind {@code fingerprint}? + */ + public boolean isFingerprint() { + return _kind == Kind.Fingerprint; + } + + /** + * Get the {@code fingerprint} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code fingerprint} kind. + */ + public FingerprintProcessor fingerprint() { + return TaggedUnionUtils.get(this, Kind.Fingerprint); + } + /** * Is this variant instance of kind {@code foreach}? */ @@ -613,6 +655,24 @@ public LowercaseProcessor lowercase() { return TaggedUnionUtils.get(this, Kind.Lowercase); } + /** + * Is this variant instance of kind {@code network_direction}? + */ + public boolean isNetworkDirection() { + return _kind == Kind.NetworkDirection; + } + + /** + * Get the {@code network_direction} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code network_direction} + * kind. + */ + public NetworkDirectionProcessor networkDirection() { + return TaggedUnionUtils.get(this, Kind.NetworkDirection); + } + /** * Is this variant instance of kind {@code pipeline}? */ @@ -647,6 +707,24 @@ public RedactProcessor redact() { return TaggedUnionUtils.get(this, Kind.Redact); } + /** + * Is this variant instance of kind {@code registered_domain}? + */ + public boolean isRegisteredDomain() { + return _kind == Kind.RegisteredDomain; + } + + /** + * Get the {@code registered_domain} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code registered_domain} + * kind. + */ + public RegisteredDomainProcessor registeredDomain() { + return TaggedUnionUtils.get(this, Kind.RegisteredDomain); + } + /** * Is this variant instance of kind {@code remove}? */ @@ -985,6 +1063,17 @@ public ObjectBuilder circle(Function communityId(CommunityIDProcessor v) { + this._kind = Kind.CommunityId; + this._value = v; + return this; + } + + public ObjectBuilder communityId( + Function> fn) { + return this.communityId(fn.apply(new CommunityIDProcessor.Builder()).build()); + } + public ObjectBuilder convert(ConvertProcessor v) { this._kind = Kind.Convert; this._value = v; @@ -1079,6 +1168,17 @@ public ObjectBuilder fail(Function fingerprint(FingerprintProcessor v) { + this._kind = Kind.Fingerprint; + this._value = v; + return this; + } + + public ObjectBuilder fingerprint( + Function> fn) { + return this.fingerprint(fn.apply(new FingerprintProcessor.Builder()).build()); + } + public ObjectBuilder foreach(ForeachProcessor v) { this._kind = Kind.Foreach; this._value = v; @@ -1194,6 +1294,17 @@ public ObjectBuilder lowercase( return this.lowercase(fn.apply(new LowercaseProcessor.Builder()).build()); } + public ObjectBuilder networkDirection(NetworkDirectionProcessor v) { + this._kind = Kind.NetworkDirection; + this._value = v; + return this; + } + + public ObjectBuilder networkDirection( + Function> fn) { + return this.networkDirection(fn.apply(new NetworkDirectionProcessor.Builder()).build()); + } + public ObjectBuilder pipeline(PipelineProcessor v) { this._kind = Kind.Pipeline; this._value = v; @@ -1215,6 +1326,17 @@ public ObjectBuilder redact(Function registeredDomain(RegisteredDomainProcessor v) { + this._kind = Kind.RegisteredDomain; + this._value = v; + return this; + } + + public ObjectBuilder registeredDomain( + Function> fn) { + return this.registeredDomain(fn.apply(new RegisteredDomainProcessor.Builder()).build()); + } + public ObjectBuilder remove(RemoveProcessor v) { this._kind = Kind.Remove; this._value = v; @@ -1391,6 +1513,7 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::attachment, AttachmentProcessor._DESERIALIZER, "attachment"); op.add(Builder::bytes, BytesProcessor._DESERIALIZER, "bytes"); op.add(Builder::circle, CircleProcessor._DESERIALIZER, "circle"); + op.add(Builder::communityId, CommunityIDProcessor._DESERIALIZER, "community_id"); op.add(Builder::convert, ConvertProcessor._DESERIALIZER, "convert"); op.add(Builder::csv, CsvProcessor._DESERIALIZER, "csv"); op.add(Builder::date, DateProcessor._DESERIALIZER, "date"); @@ -1400,6 +1523,7 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::drop, DropProcessor._DESERIALIZER, "drop"); op.add(Builder::enrich, EnrichProcessor._DESERIALIZER, "enrich"); op.add(Builder::fail, FailProcessor._DESERIALIZER, "fail"); + op.add(Builder::fingerprint, FingerprintProcessor._DESERIALIZER, "fingerprint"); op.add(Builder::foreach, ForeachProcessor._DESERIALIZER, "foreach"); op.add(Builder::geoGrid, GeoGridProcessor._DESERIALIZER, "geo_grid"); op.add(Builder::geoip, GeoIpProcessor._DESERIALIZER, "geoip"); @@ -1411,8 +1535,10 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::json, JsonProcessor._DESERIALIZER, "json"); op.add(Builder::kv, KeyValueProcessor._DESERIALIZER, "kv"); op.add(Builder::lowercase, LowercaseProcessor._DESERIALIZER, "lowercase"); + op.add(Builder::networkDirection, NetworkDirectionProcessor._DESERIALIZER, "network_direction"); op.add(Builder::pipeline, PipelineProcessor._DESERIALIZER, "pipeline"); op.add(Builder::redact, RedactProcessor._DESERIALIZER, "redact"); + op.add(Builder::registeredDomain, RegisteredDomainProcessor._DESERIALIZER, "registered_domain"); op.add(Builder::remove, RemoveProcessor._DESERIALIZER, "remove"); op.add(Builder::rename, RenameProcessor._DESERIALIZER, "rename"); op.add(Builder::reroute, RerouteProcessor._DESERIALIZER, "reroute"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java index 52356f7b5..6aa09cbed 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java @@ -116,6 +116,25 @@ public static Processor circle(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.communityId(fn.apply(new CommunityIDProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link ConvertProcessor convert} {@code Processor} * variant. @@ -279,6 +298,25 @@ public static Processor fail(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.fingerprint(fn.apply(new FingerprintProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link ForeachProcessor foreach} {@code Processor} * variant. @@ -477,6 +515,25 @@ public static Processor lowercase(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.networkDirection(fn.apply(new NetworkDirectionProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link PipelineProcessor pipeline} * {@code Processor} variant. @@ -513,6 +570,25 @@ public static Processor redact(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.registeredDomain(fn.apply(new RegisteredDomainProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link RemoveProcessor remove} {@code Processor} * variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RegisteredDomainProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RegisteredDomainProcessor.java new file mode 100644 index 000000000..3b8e22459 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/RegisteredDomainProcessor.java @@ -0,0 +1,226 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.RegisteredDomainProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RegisteredDomainProcessor extends ProcessorBase implements ProcessorVariant { + private final String field; + + @Nullable + private final String targetField; + + @Nullable + private final Boolean ignoreMissing; + + // --------------------------------------------------------------------------------------------- + + private RegisteredDomainProcessor(Builder builder) { + super(builder); + + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.targetField = builder.targetField; + this.ignoreMissing = builder.ignoreMissing; + + } + + public static RegisteredDomainProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.RegisteredDomain; + } + + /** + * Required - Field containing the source FQDN. + *

+ * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * Object field containing extracted domain components. If an empty string, the + * processor adds components to the document’s root. + *

+ * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("field"); + generator.write(this.field); + + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RegisteredDomainProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + private String field; + + @Nullable + private String targetField; + + @Nullable + private Boolean ignoreMissing; + + /** + * Required - Field containing the source FQDN. + *

+ * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * Object field containing extracted domain components. If an empty string, the + * processor adds components to the document’s root. + *

+ * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * If true and any required fields are missing, the processor quietly exits + * without modifying the document. + *

+ * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RegisteredDomainProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RegisteredDomainProcessor build() { + _checkSingleUse(); + + return new RegisteredDomainProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RegisteredDomainProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, RegisteredDomainProcessor::setupRegisteredDomainProcessorDeserializer); + + protected static void setupRegisteredDomainProcessorDeserializer( + ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoSettingsNetwork.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoSettingsNetwork.java index 961b646d0..6e32f6f0d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoSettingsNetwork.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/info/NodeInfoSettingsNetwork.java @@ -26,10 +26,12 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -59,14 +61,13 @@ */ @JsonpDeserializable public class NodeInfoSettingsNetwork implements JsonpSerializable { - @Nullable - private final String host; + private final List host; // --------------------------------------------------------------------------------------------- private NodeInfoSettingsNetwork(Builder builder) { - this.host = builder.host; + this.host = ApiTypeHelper.unmodifiable(builder.host); } @@ -77,8 +78,7 @@ public static NodeInfoSettingsNetwork of(Function host() { return this.host; } @@ -93,9 +93,14 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.host != null) { + if (ApiTypeHelper.isDefined(this.host)) { generator.writeKey("host"); - generator.write(this.host); + generator.writeStartArray(); + for (String item0 : this.host) { + generator.write(item0); + + } + generator.writeEnd(); } @@ -116,13 +121,25 @@ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { @Nullable - private String host; + private List host; + + /** + * API name: {@code host} + *

+ * Adds all elements of list to host. + */ + public final Builder host(List list) { + this.host = _listAddAll(this.host, list); + return this; + } /** * API name: {@code host} + *

+ * Adds one or more values to host. */ - public final Builder host(@Nullable String value) { - this.host = value; + public final Builder host(String value, String... values) { + this.host = _listAdd(this.host, value, values); return this; } @@ -155,7 +172,7 @@ public NodeInfoSettingsNetwork build() { protected static void setupNodeInfoSettingsNetworkDeserializer( ObjectDeserializer op) { - op.add(Builder::host, JsonpDeserializer.stringDeserializer(), "host"); + op.add(Builder::host, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "host"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java index d46a11ef2..7c322da2b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java @@ -311,4 +311,36 @@ public final CompletableFuture putRuleset( return putRuleset(fn.apply(new PutRulesetRequest.Builder()).build()); } + // ----- Endpoint: query_rules.test + + /** + * Creates or updates a query ruleset. + * + * @see Documentation + * on elastic.co + */ + + public CompletableFuture test(TestRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) TestRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Creates or updates a query ruleset. + * + * @param fn + * a function that initializes a builder to create the + * {@link TestRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture test(Function> fn) { + return test(fn.apply(new TestRequest.Builder()).build()); + } + } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java index 50ddc779c..53367ecde 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java @@ -313,4 +313,37 @@ public final PutRulesetResponse putRuleset(FunctionDocumentation + * on elastic.co + */ + + public TestResponse test(TestRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) TestRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Creates or updates a query ruleset. + * + * @param fn + * a function that initializes a builder to create the + * {@link TestRequest} + * @see Documentation + * on elastic.co + */ + + public final TestResponse test(Function> fn) + throws IOException, ElasticsearchException { + return test(fn.apply(new TestRequest.Builder()).build()); + } + } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java new file mode 100644 index 000000000..9c7777941 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java @@ -0,0 +1,257 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.query_rules; + +import co.elastic.clients.elasticsearch._types.ErrorResponse; +import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.transport.Endpoint; +import co.elastic.clients.transport.endpoints.SimpleEndpoint; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: query_rules.test.Request + +/** + * Creates or updates a query ruleset. + * + * @see API + * specification + */ +@JsonpDeserializable +public class TestRequest extends RequestBase implements JsonpSerializable { + private final Map matchCriteria; + + private final String rulesetId; + + // --------------------------------------------------------------------------------------------- + + private TestRequest(Builder builder) { + + this.matchCriteria = ApiTypeHelper.unmodifiableRequired(builder.matchCriteria, this, "matchCriteria"); + this.rulesetId = ApiTypeHelper.requireNonNull(builder.rulesetId, this, "rulesetId"); + + } + + public static TestRequest of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code match_criteria} + */ + public final Map matchCriteria() { + return this.matchCriteria; + } + + /** + * Required - The unique identifier of the query ruleset to be created or + * updated + *

+ * API name: {@code ruleset_id} + */ + public final String rulesetId() { + return this.rulesetId; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.matchCriteria)) { + generator.writeKey("match_criteria"); + generator.writeStartObject(); + for (Map.Entry item0 : this.matchCriteria.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TestRequest}. + */ + + public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + private Map matchCriteria; + + private String rulesetId; + + /** + * Required - API name: {@code match_criteria} + *

+ * Adds all entries of map to matchCriteria. + */ + public final Builder matchCriteria(Map map) { + this.matchCriteria = _mapPutAll(this.matchCriteria, map); + return this; + } + + /** + * Required - API name: {@code match_criteria} + *

+ * Adds an entry to matchCriteria. + */ + public final Builder matchCriteria(String key, JsonData value) { + this.matchCriteria = _mapPut(this.matchCriteria, key, value); + return this; + } + + /** + * Required - The unique identifier of the query ruleset to be created or + * updated + *

+ * API name: {@code ruleset_id} + */ + public final Builder rulesetId(String value) { + this.rulesetId = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TestRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TestRequest build() { + _checkSingleUse(); + + return new TestRequest(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TestRequest} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + TestRequest::setupTestRequestDeserializer); + + protected static void setupTestRequestDeserializer(ObjectDeserializer op) { + + op.add(Builder::matchCriteria, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), + "match_criteria"); + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Endpoint "{@code query_rules.test}". + */ + public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( + "es/query_rules.test", + + // Request method + request -> { + return "POST"; + + }, + + // Request path + request -> { + final int _rulesetId = 1 << 0; + + int propsSet = 0; + + propsSet |= _rulesetId; + + if (propsSet == (_rulesetId)) { + StringBuilder buf = new StringBuilder(); + buf.append("/_query_rules"); + buf.append("/"); + SimpleEndpoint.pathEncode(request.rulesetId, buf); + buf.append("/_test"); + return buf.toString(); + } + throw SimpleEndpoint.noPathTemplateFound("path"); + + }, + + // Path parameters + request -> { + Map params = new HashMap<>(); + final int _rulesetId = 1 << 0; + + int propsSet = 0; + + propsSet |= _rulesetId; + + if (propsSet == (_rulesetId)) { + params.put("rulesetId", request.rulesetId); + } + return params; + }, + + // Request parameters + request -> { + return Collections.emptyMap(); + + }, SimpleEndpoint.emptyMap(), true, TestResponse._DESERIALIZER); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestResponse.java new file mode 100644 index 000000000..c1a655ce6 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestResponse.java @@ -0,0 +1,210 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.query_rules; + +import co.elastic.clients.elasticsearch.query_rules.test.QueryRulesetMatchedRule; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: query_rules.test.Response + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class TestResponse implements JsonpSerializable { + private final int totalMatchedRules; + + private final List matchedRules; + + // --------------------------------------------------------------------------------------------- + + private TestResponse(Builder builder) { + + this.totalMatchedRules = ApiTypeHelper.requireNonNull(builder.totalMatchedRules, this, "totalMatchedRules"); + this.matchedRules = ApiTypeHelper.unmodifiableRequired(builder.matchedRules, this, "matchedRules"); + + } + + public static TestResponse of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code total_matched_rules} + */ + public final int totalMatchedRules() { + return this.totalMatchedRules; + } + + /** + * Required - API name: {@code matched_rules} + */ + public final List matchedRules() { + return this.matchedRules; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("total_matched_rules"); + generator.write(this.totalMatchedRules); + + if (ApiTypeHelper.isDefined(this.matchedRules)) { + generator.writeKey("matched_rules"); + generator.writeStartArray(); + for (QueryRulesetMatchedRule item0 : this.matchedRules) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TestResponse}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Integer totalMatchedRules; + + private List matchedRules; + + /** + * Required - API name: {@code total_matched_rules} + */ + public final Builder totalMatchedRules(int value) { + this.totalMatchedRules = value; + return this; + } + + /** + * Required - API name: {@code matched_rules} + *

+ * Adds all elements of list to matchedRules. + */ + public final Builder matchedRules(List list) { + this.matchedRules = _listAddAll(this.matchedRules, list); + return this; + } + + /** + * Required - API name: {@code matched_rules} + *

+ * Adds one or more values to matchedRules. + */ + public final Builder matchedRules(QueryRulesetMatchedRule value, QueryRulesetMatchedRule... values) { + this.matchedRules = _listAdd(this.matchedRules, value, values); + return this; + } + + /** + * Required - API name: {@code matched_rules} + *

+ * Adds a value to matchedRules using a builder lambda. + */ + public final Builder matchedRules( + Function> fn) { + return matchedRules(fn.apply(new QueryRulesetMatchedRule.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TestResponse}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TestResponse build() { + _checkSingleUse(); + + return new TestResponse(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TestResponse} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + TestResponse::setupTestResponseDeserializer); + + protected static void setupTestResponseDeserializer(ObjectDeserializer op) { + + op.add(Builder::totalMatchedRules, JsonpDeserializer.integerDeserializer(), "total_matched_rules"); + op.add(Builder::matchedRules, JsonpDeserializer.arrayDeserializer(QueryRulesetMatchedRule._DESERIALIZER), + "matched_rules"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/test/QueryRulesetMatchedRule.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/test/QueryRulesetMatchedRule.java new file mode 100644 index 000000000..897df01eb --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/test/QueryRulesetMatchedRule.java @@ -0,0 +1,189 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.query_rules.test; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: query_rules.test.QueryRulesetMatchedRule + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class QueryRulesetMatchedRule implements JsonpSerializable { + private final String rulesetId; + + private final String ruleId; + + // --------------------------------------------------------------------------------------------- + + private QueryRulesetMatchedRule(Builder builder) { + + this.rulesetId = ApiTypeHelper.requireNonNull(builder.rulesetId, this, "rulesetId"); + this.ruleId = ApiTypeHelper.requireNonNull(builder.ruleId, this, "ruleId"); + + } + + public static QueryRulesetMatchedRule of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - Ruleset unique identifier + *

+ * API name: {@code ruleset_id} + */ + public final String rulesetId() { + return this.rulesetId; + } + + /** + * Required - Rule unique identifier within that ruleset + *

+ * API name: {@code rule_id} + */ + public final String ruleId() { + return this.ruleId; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("ruleset_id"); + generator.write(this.rulesetId); + + generator.writeKey("rule_id"); + generator.write(this.ruleId); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link QueryRulesetMatchedRule}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String rulesetId; + + private String ruleId; + + /** + * Required - Ruleset unique identifier + *

+ * API name: {@code ruleset_id} + */ + public final Builder rulesetId(String value) { + this.rulesetId = value; + return this; + } + + /** + * Required - Rule unique identifier within that ruleset + *

+ * API name: {@code rule_id} + */ + public final Builder ruleId(String value) { + this.ruleId = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link QueryRulesetMatchedRule}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public QueryRulesetMatchedRule build() { + _checkSingleUse(); + + return new QueryRulesetMatchedRule(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link QueryRulesetMatchedRule} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, QueryRulesetMatchedRule::setupQueryRulesetMatchedRuleDeserializer); + + protected static void setupQueryRulesetMatchedRuleDeserializer( + ObjectDeserializer op) { + + op.add(Builder::rulesetId, JsonpDeserializer.stringDeserializer(), "ruleset_id"); + op.add(Builder::ruleId, JsonpDeserializer.stringDeserializer(), "rule_id"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ListResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ListResponse.java index 26a914f44..80c24551d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ListResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ListResponse.java @@ -19,7 +19,6 @@ package co.elastic.clients.elasticsearch.search_application; -import co.elastic.clients.elasticsearch.search_application.list.SearchApplicationListItem; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -64,7 +63,7 @@ public class ListResponse implements JsonpSerializable { private final long count; - private final List results; + private final List results; // --------------------------------------------------------------------------------------------- @@ -89,7 +88,7 @@ public final long count() { /** * Required - API name: {@code results} */ - public final List results() { + public final List results() { return this.results; } @@ -110,7 +109,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.results)) { generator.writeKey("results"); generator.writeStartArray(); - for (SearchApplicationListItem item0 : this.results) { + for (SearchApplication item0 : this.results) { item0.serialize(generator, mapper); } @@ -134,7 +133,7 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { private Long count; - private List results; + private List results; /** * Required - API name: {@code count} @@ -149,7 +148,7 @@ public final Builder count(long value) { *

* Adds all elements of list to results. */ - public final Builder results(List list) { + public final Builder results(List list) { this.results = _listAddAll(this.results, list); return this; } @@ -159,7 +158,7 @@ public final Builder results(List list) { *

* Adds one or more values to results. */ - public final Builder results(SearchApplicationListItem value, SearchApplicationListItem... values) { + public final Builder results(SearchApplication value, SearchApplication... values) { this.results = _listAdd(this.results, value, values); return this; } @@ -169,9 +168,8 @@ public final Builder results(SearchApplicationListItem value, SearchApplicationL *

* Adds a value to results using a builder lambda. */ - public final Builder results( - Function> fn) { - return results(fn.apply(new SearchApplicationListItem.Builder()).build()); + public final Builder results(Function> fn) { + return results(fn.apply(new SearchApplication.Builder()).build()); } @Override @@ -203,8 +201,7 @@ public ListResponse build() { protected static void setupListResponseDeserializer(ObjectDeserializer op) { op.add(Builder::count, JsonpDeserializer.longDeserializer(), "count"); - op.add(Builder::results, JsonpDeserializer.arrayDeserializer(SearchApplicationListItem._DESERIALIZER), - "results"); + op.add(Builder::results, JsonpDeserializer.arrayDeserializer(SearchApplication._DESERIALIZER), "results"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java index cec4f56f1..100047271 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java @@ -71,7 +71,7 @@ public class PutRequest extends RequestBase implements JsonpSerializable { private final String name; - private final SearchApplication searchApplication; + private final SearchApplicationParameters searchApplication; // --------------------------------------------------------------------------------------------- @@ -110,7 +110,7 @@ public final String name() { /** * Required - Request body. */ - public final SearchApplication searchApplication() { + public final SearchApplicationParameters searchApplication() { return this.searchApplication; } @@ -134,7 +134,7 @@ public static class Builder extends RequestBase.AbstractBuilder impleme private String name; - private SearchApplication searchApplication; + private SearchApplicationParameters searchApplication; /** * If true, this request cannot replace or update existing Search @@ -160,7 +160,7 @@ public final Builder name(String value) { /** * Required - Request body. */ - public final Builder searchApplication(SearchApplication value) { + public final Builder searchApplication(SearchApplicationParameters value) { this.searchApplication = value; return this; } @@ -169,15 +169,16 @@ public final Builder searchApplication(SearchApplication value) { * Required - Request body. */ public final Builder searchApplication( - Function> fn) { - return this.searchApplication(fn.apply(new SearchApplication.Builder()).build()); + Function> fn) { + return this.searchApplication(fn.apply(new SearchApplicationParameters.Builder()).build()); } @Override public Builder withJson(JsonParser parser, JsonpMapper mapper) { @SuppressWarnings("unchecked") - SearchApplication value = (SearchApplication) SearchApplication._DESERIALIZER.deserialize(parser, mapper); + SearchApplicationParameters value = (SearchApplicationParameters) SearchApplicationParameters._DESERIALIZER + .deserialize(parser, mapper); return this.searchApplication(value); } @@ -202,7 +203,7 @@ public PutRequest build() { public static final JsonpDeserializer _DESERIALIZER = createPutRequestDeserializer(); protected static JsonpDeserializer createPutRequestDeserializer() { - JsonpDeserializer valueDeserializer = SearchApplication._DESERIALIZER; + JsonpDeserializer valueDeserializer = SearchApplicationParameters._DESERIALIZER; return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() .searchApplication(valueDeserializer.deserialize(parser, mapper, event)).build()); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplication.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplication.java index 0e34c6ab7..2ad9829b0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplication.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplication.java @@ -22,8 +22,6 @@ import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ApiTypeHelper; @@ -32,7 +30,6 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Long; import java.lang.String; -import java.util.List; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -61,28 +58,18 @@ * specification */ @JsonpDeserializable -public class SearchApplication implements JsonpSerializable { +public class SearchApplication extends SearchApplicationParameters { private final String name; - private final List indices; - private final long updatedAtMillis; - @Nullable - private final String analyticsCollectionName; - - @Nullable - private final SearchApplicationTemplate template; - // --------------------------------------------------------------------------------------------- protected SearchApplication(AbstractBuilder builder) { + super(builder); this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); this.updatedAtMillis = ApiTypeHelper.requireNonNull(builder.updatedAtMillis, this, "updatedAtMillis"); - this.analyticsCollectionName = builder.analyticsCollectionName; - this.template = builder.template; } @@ -91,7 +78,7 @@ public static SearchApplication searchApplicationOf(Function * API name: {@code name} */ @@ -99,15 +86,6 @@ public final String name() { return this.name; } - /** - * Required - Indices that are part of the Search Application. - *

- * API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - /** * Required - Last time the Search Application was updated. *

@@ -117,69 +95,15 @@ public final long updatedAtMillis() { return this.updatedAtMillis; } - /** - * Analytics collection associated to the Search Application. - *

- * API name: {@code analytics_collection_name} - */ - @Nullable - public final String analyticsCollectionName() { - return this.analyticsCollectionName; - } - - /** - * Search template to use on search operations. - *

- * API name: {@code template} - */ - @Nullable - public final SearchApplicationTemplate template() { - return this.template; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + super.serializeInternal(generator, mapper); generator.writeKey("name"); generator.write(this.name); - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (String item0 : this.indices) { - generator.write(item0); - - } - generator.writeEnd(); - - } generator.writeKey("updated_at_millis"); generator.write(this.updatedAtMillis); - if (this.analyticsCollectionName != null) { - generator.writeKey("analytics_collection_name"); - generator.write(this.analyticsCollectionName); - - } - if (this.template != null) { - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); } // --------------------------------------------------------------------------------------------- @@ -211,21 +135,13 @@ public SearchApplication build() { public abstract static class AbstractBuilder> extends - WithJsonObjectBuilderBase { + SearchApplicationParameters.AbstractBuilder { private String name; - private List indices; - private Long updatedAtMillis; - @Nullable - private String analyticsCollectionName; - - @Nullable - private SearchApplicationTemplate template; - /** - * Required - Search Application name. + * Required - Search Application name *

* API name: {@code name} */ @@ -234,30 +150,6 @@ public final BuilderT name(String value) { return self(); } - /** - * Required - Indices that are part of the Search Application. - *

- * API name: {@code indices} - *

- * Adds all elements of list to indices. - */ - public final BuilderT indices(List list) { - this.indices = _listAddAll(this.indices, list); - return self(); - } - - /** - * Required - Indices that are part of the Search Application. - *

- * API name: {@code indices} - *

- * Adds one or more values to indices. - */ - public final BuilderT indices(String value, String... values) { - this.indices = _listAdd(this.indices, value, values); - return self(); - } - /** * Required - Last time the Search Application was updated. *

@@ -268,38 +160,6 @@ public final BuilderT updatedAtMillis(long value) { return self(); } - /** - * Analytics collection associated to the Search Application. - *

- * API name: {@code analytics_collection_name} - */ - public final BuilderT analyticsCollectionName(@Nullable String value) { - this.analyticsCollectionName = value; - return self(); - } - - /** - * Search template to use on search operations. - *

- * API name: {@code template} - */ - public final BuilderT template(@Nullable SearchApplicationTemplate value) { - this.template = value; - return self(); - } - - /** - * Search template to use on search operations. - *

- * API name: {@code template} - */ - public final BuilderT template( - Function> fn) { - return this.template(fn.apply(new SearchApplicationTemplate.Builder()).build()); - } - - protected abstract BuilderT self(); - } // --------------------------------------------------------------------------------------------- @@ -312,14 +172,9 @@ public final BuilderT template( protected static > void setupSearchApplicationDeserializer( ObjectDeserializer op) { - + SearchApplicationParameters.setupSearchApplicationParametersDeserializer(op); op.add(AbstractBuilder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(AbstractBuilder::indices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "indices"); op.add(AbstractBuilder::updatedAtMillis, JsonpDeserializer.longDeserializer(), "updated_at_millis"); - op.add(AbstractBuilder::analyticsCollectionName, JsonpDeserializer.stringDeserializer(), - "analytics_collection_name"); - op.add(AbstractBuilder::template, SearchApplicationTemplate._DESERIALIZER, "template"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/list/SearchApplicationListItem.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationParameters.java similarity index 58% rename from java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/list/SearchApplicationListItem.java rename to java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationParameters.java index c75be3999..f8d57a04a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/list/SearchApplicationListItem.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationParameters.java @@ -17,7 +17,7 @@ * under the License. */ -package co.elastic.clients.elasticsearch.search_application.list; +package co.elastic.clients.elasticsearch.search_application; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -30,7 +30,6 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; -import java.lang.Long; import java.lang.String; import java.util.List; import java.util.Objects; @@ -52,51 +51,41 @@ // //---------------------------------------------------------------- -// typedef: search_application.list.SearchApplicationListItem +// typedef: search_application._types.SearchApplicationParameters /** * * @see API + * "../doc-files/api-spec.html#search_application._types.SearchApplicationParameters">API * specification */ @JsonpDeserializable -public class SearchApplicationListItem implements JsonpSerializable { - private final String name; - +public class SearchApplicationParameters implements JsonpSerializable { private final List indices; - private final long updatedAtMillis; - @Nullable private final String analyticsCollectionName; + @Nullable + private final SearchApplicationTemplate template; + // --------------------------------------------------------------------------------------------- - private SearchApplicationListItem(Builder builder) { + protected SearchApplicationParameters(AbstractBuilder builder) { - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - this.updatedAtMillis = ApiTypeHelper.requireNonNull(builder.updatedAtMillis, this, "updatedAtMillis"); this.analyticsCollectionName = builder.analyticsCollectionName; + this.template = builder.template; } - public static SearchApplicationListItem of(Function> fn) { + public static SearchApplicationParameters searchApplicationParametersOf( + Function> fn) { return fn.apply(new Builder()).build(); } /** - * Required - Search Application name - *

- * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - Indices that are part of the Search Application + * Required - Indices that are part of the Search Application. *

* API name: {@code indices} */ @@ -105,22 +94,23 @@ public final List indices() { } /** - * Required - Last time the Search Application was updated + * Analytics collection associated to the Search Application. *

- * API name: {@code updated_at_millis} + * API name: {@code analytics_collection_name} */ - public final long updatedAtMillis() { - return this.updatedAtMillis; + @Nullable + public final String analyticsCollectionName() { + return this.analyticsCollectionName; } /** - * Analytics collection associated to the Search Application + * Search template to use on search operations. *

- * API name: {@code analytics_collection_name} + * API name: {@code template} */ @Nullable - public final String analyticsCollectionName() { - return this.analyticsCollectionName; + public final SearchApplicationTemplate template() { + return this.template; } /** @@ -134,9 +124,6 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("name"); - generator.write(this.name); - if (ApiTypeHelper.isDefined(this.indices)) { generator.writeKey("indices"); generator.writeStartArray(); @@ -147,14 +134,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - generator.writeKey("updated_at_millis"); - generator.write(this.updatedAtMillis); - if (this.analyticsCollectionName != null) { generator.writeKey("analytics_collection_name"); generator.write(this.analyticsCollectionName); } + if (this.template != null) { + generator.writeKey("template"); + this.template.serialize(generator, mapper); + + } } @@ -166,109 +155,115 @@ public String toString() { // --------------------------------------------------------------------------------------------- /** - * Builder for {@link SearchApplicationListItem}. + * Builder for {@link SearchApplicationParameters}. */ - public static class Builder extends WithJsonObjectBuilderBase + public static class Builder extends SearchApplicationParameters.AbstractBuilder implements - ObjectBuilder { - private String name; + ObjectBuilder { + @Override + protected Builder self() { + return this; + } - private List indices; + /** + * Builds a {@link SearchApplicationParameters}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SearchApplicationParameters build() { + _checkSingleUse(); - private Long updatedAtMillis; + return new SearchApplicationParameters(this); + } + } + + public abstract static class AbstractBuilder> + extends + WithJsonObjectBuilderBase { + private List indices; @Nullable private String analyticsCollectionName; - /** - * Required - Search Application name - *

- * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } + @Nullable + private SearchApplicationTemplate template; /** - * Required - Indices that are part of the Search Application + * Required - Indices that are part of the Search Application. *

* API name: {@code indices} *

* Adds all elements of list to indices. */ - public final Builder indices(List list) { + public final BuilderT indices(List list) { this.indices = _listAddAll(this.indices, list); - return this; + return self(); } /** - * Required - Indices that are part of the Search Application + * Required - Indices that are part of the Search Application. *

* API name: {@code indices} *

* Adds one or more values to indices. */ - public final Builder indices(String value, String... values) { + public final BuilderT indices(String value, String... values) { this.indices = _listAdd(this.indices, value, values); - return this; + return self(); } /** - * Required - Last time the Search Application was updated + * Analytics collection associated to the Search Application. *

- * API name: {@code updated_at_millis} + * API name: {@code analytics_collection_name} */ - public final Builder updatedAtMillis(long value) { - this.updatedAtMillis = value; - return this; + public final BuilderT analyticsCollectionName(@Nullable String value) { + this.analyticsCollectionName = value; + return self(); } /** - * Analytics collection associated to the Search Application + * Search template to use on search operations. *

- * API name: {@code analytics_collection_name} + * API name: {@code template} */ - public final Builder analyticsCollectionName(@Nullable String value) { - this.analyticsCollectionName = value; - return this; - } - - @Override - protected Builder self() { - return this; + public final BuilderT template(@Nullable SearchApplicationTemplate value) { + this.template = value; + return self(); } /** - * Builds a {@link SearchApplicationListItem}. - * - * @throws NullPointerException - * if some of the required fields are null. + * Search template to use on search operations. + *

+ * API name: {@code template} */ - public SearchApplicationListItem build() { - _checkSingleUse(); - - return new SearchApplicationListItem(this); + public final BuilderT template( + Function> fn) { + return this.template(fn.apply(new SearchApplicationTemplate.Builder()).build()); } + + protected abstract BuilderT self(); + } // --------------------------------------------------------------------------------------------- /** - * Json deserializer for {@link SearchApplicationListItem} + * Json deserializer for {@link SearchApplicationParameters} */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SearchApplicationListItem::setupSearchApplicationListItemDeserializer); + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, SearchApplicationParameters::setupSearchApplicationParametersDeserializer); - protected static void setupSearchApplicationListItemDeserializer( - ObjectDeserializer op) { + protected static > void setupSearchApplicationParametersDeserializer( + ObjectDeserializer op) { - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + op.add(AbstractBuilder::indices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "indices"); - op.add(Builder::updatedAtMillis, JsonpDeserializer.longDeserializer(), "updated_at_millis"); - op.add(Builder::analyticsCollectionName, JsonpDeserializer.stringDeserializer(), "analytics_collection_name"); + op.add(AbstractBuilder::analyticsCollectionName, JsonpDeserializer.stringDeserializer(), + "analytics_collection_name"); + op.add(AbstractBuilder::template, SearchApplicationTemplate._DESERIALIZER, "template"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ActivateUserProfileRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ActivateUserProfileRequest.java index 5003b9e24..dc0bee82b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ActivateUserProfileRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ActivateUserProfileRequest.java @@ -56,7 +56,9 @@ // typedef: security.activate_user_profile.Request /** - * Creates or updates a user profile on behalf of another user. + * Activate a user profile. + *

+ * Create or update a user profile on behalf of another user. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateRequest.java index f1a8037d5..19e78387f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateRequest.java @@ -50,8 +50,10 @@ // typedef: security.authenticate.Request /** - * Authenticate a user. Authenticates a user and returns information about the - * authenticated user. Include the user information in a + * Authenticate a user. + *

+ * Authenticates a user and returns information about the authenticated user. + * Include the user information in a * basic * auth header. A successful call returns a JSON structure that shows user * information such as their username, the roles that are assigned to the user, diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkDeleteRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkDeleteRoleRequest.java index 899040aa4..a580fdbd1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkDeleteRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkDeleteRoleRequest.java @@ -60,6 +60,8 @@ // typedef: security.bulk_delete_role.Request /** + * Bulk delete roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk delete roles API * cannot delete roles that are defined in roles files. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkPutRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkPutRoleRequest.java index 1dd5efc93..daa4adc2b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkPutRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/BulkPutRoleRequest.java @@ -59,6 +59,8 @@ // typedef: security.bulk_put_role.Request /** + * Bulk create or update roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk create or update roles * API cannot update roles that are defined in roles files. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ChangePasswordRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ChangePasswordRequest.java index 2d29ec47f..d1968a48d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ChangePasswordRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ChangePasswordRequest.java @@ -57,7 +57,9 @@ // typedef: security.change_password.Request /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

+ * Change the passwords of users in the native realm and built-in users. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearApiKeyCacheRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearApiKeyCacheRequest.java index 8ebb2f665..b8126ae2c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearApiKeyCacheRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearApiKeyCacheRequest.java @@ -58,7 +58,9 @@ // typedef: security.clear_api_key_cache.Request /** - * Evicts a subset of all entries from the API key cache. The cache is also + * Clear the API key cache. + *

+ * Evict a subset of all entries from the API key cache. The cache is also * automatically cleared on state changes of the security index. * * @see + * Evict privileges from the native application privilege cache. The cache is + * also automatically cleared for applications that have their privileges + * updated. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedRealmsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedRealmsRequest.java index 364a2e127..98b7b2420 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedRealmsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedRealmsRequest.java @@ -57,7 +57,9 @@ // typedef: security.clear_cached_realms.Request /** - * Evicts users from the user cache. Can completely clear the cache or evict + * Clear the user cache. + *

+ * Evict users from the user cache. You can completely clear the cache or evict * specific users. * * @see + * Evict roles from the native role cache. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedServiceTokensRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedServiceTokensRequest.java index 860b496f7..f87bf788a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedServiceTokensRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClearCachedServiceTokensRequest.java @@ -58,7 +58,9 @@ // typedef: security.clear_cached_service_tokens.Request /** - * Evicts tokens from the service account token caches. + * Clear service account token caches. + *

+ * Evict a subset of all entries from the service account token caches. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyRequest.java index c2f678172..6b318ffd5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyRequest.java @@ -61,12 +61,13 @@ // typedef: security.create_api_key.Request /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

+ * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateServiceTokenRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateServiceTokenRequest.java index 66a805adf..d0b6ddb29 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateServiceTokenRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateServiceTokenRequest.java @@ -56,7 +56,9 @@ // typedef: security.create_service_token.Request /** - * Creates a service accounts token for access without requiring basic + * Create a service account token. + *

+ * Create a service accounts token for access without requiring basic * authentication. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleMappingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleMappingRequest.java index e7be6f8e9..b8ec4bf25 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleMappingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleMappingRequest.java @@ -56,7 +56,7 @@ // typedef: security.delete_role_mapping.Request /** - * Removes role mappings. + * Delete role mappings. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleRequest.java index bb507f192..ff4f0ca86 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteRoleRequest.java @@ -56,7 +56,9 @@ // typedef: security.delete_role.Request /** - * Removes roles in the native realm. + * Delete roles. + *

+ * Delete roles in the native realm. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteServiceTokenRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteServiceTokenRequest.java index 472826c6f..16dcca7cb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteServiceTokenRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteServiceTokenRequest.java @@ -56,7 +56,9 @@ // typedef: security.delete_service_token.Request /** - * Deletes a service account token. + * Delete service account tokens. + *

+ * Delete service account tokens for a service in a specified namespace. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteUserRequest.java index 9b384598f..aaa1f0738 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DeleteUserRequest.java @@ -56,7 +56,9 @@ // typedef: security.delete_user.Request /** - * Deletes users from the native realm. + * Delete users. + *

+ * Delete users from the native realm. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserProfileRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserProfileRequest.java index e8a5d0e87..f3e6ff021 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserProfileRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserProfileRequest.java @@ -56,7 +56,9 @@ // typedef: security.disable_user_profile.Request /** - * Disables a user profile so it's not visible in user profile searches. + * Disable a user profile. + *

+ * Disable user profiles so that they are not visible in user profile searches. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserRequest.java index 6cb1ab919..b236a270b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/DisableUserRequest.java @@ -56,7 +56,9 @@ // typedef: security.disable_user.Request /** - * Disables users in the native realm. + * Disable users. + *

+ * Disable users in the native realm. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java index 15a98eaad..a42b5db74 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java @@ -71,7 +71,9 @@ public ElasticsearchSecurityAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: security.activate_user_profile /** - * Creates or updates a user profile on behalf of another user. + * Activate a user profile. + *

+ * Create or update a user profile on behalf of another user. * * @see Documentation @@ -86,7 +88,9 @@ public CompletableFuture activateUserProfile(Activa } /** - * Creates or updates a user profile on behalf of another user. + * Activate a user profile. + *

+ * Create or update a user profile on behalf of another user. * * @param fn * a function that initializes a builder to create the @@ -104,8 +108,10 @@ public final CompletableFuture activateUserProfile( // ----- Endpoint: security.authenticate /** - * Authenticate a user. Authenticates a user and returns information about the - * authenticated user. Include the user information in a + * Authenticate a user. + *

+ * Authenticates a user and returns information about the authenticated user. + * Include the user information in a * basic * auth header. A successful call returns a JSON structure that shows user * information such as their username, the roles that are assigned to the user, @@ -125,6 +131,8 @@ public CompletableFuture authenticate() { // ----- Endpoint: security.bulk_delete_role /** + * Bulk delete roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk delete roles API * cannot delete roles that are defined in roles files. @@ -142,6 +150,8 @@ public CompletableFuture bulkDeleteRole(BulkDeleteRoleRe } /** + * Bulk delete roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk delete roles API * cannot delete roles that are defined in roles files. @@ -162,6 +172,8 @@ public final CompletableFuture bulkDeleteRole( // ----- Endpoint: security.bulk_put_role /** + * Bulk create or update roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk create or update roles * API cannot update roles that are defined in roles files. @@ -179,6 +191,8 @@ public CompletableFuture bulkPutRole(BulkPutRoleRequest req } /** + * Bulk create or update roles. + *

* The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk create or update roles * API cannot update roles that are defined in roles files. @@ -199,7 +213,9 @@ public final CompletableFuture bulkPutRole( // ----- Endpoint: security.change_password /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

+ * Change the passwords of users in the native realm and built-in users. * * @see Documentation @@ -214,7 +230,9 @@ public CompletableFuture changePassword(ChangePasswordRe } /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

+ * Change the passwords of users in the native realm and built-in users. * * @param fn * a function that initializes a builder to create the @@ -230,7 +248,9 @@ public final CompletableFuture changePassword( } /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

+ * Change the passwords of users in the native realm and built-in users. * * @see Documentation @@ -245,7 +265,9 @@ public CompletableFuture changePassword() { // ----- Endpoint: security.clear_api_key_cache /** - * Evicts a subset of all entries from the API key cache. The cache is also + * Clear the API key cache. + *

+ * Evict a subset of all entries from the API key cache. The cache is also * automatically cleared on state changes of the security index. * * @see clearApiKeyCache(ClearApiKeyC } /** - * Evicts a subset of all entries from the API key cache. The cache is also + * Clear the API key cache. + *

+ * Evict a subset of all entries from the API key cache. The cache is also * automatically cleared on state changes of the security index. * * @param fn @@ -280,7 +304,11 @@ public final CompletableFuture clearApiKeyCache( // ----- Endpoint: security.clear_cached_privileges /** - * Evicts application privileges from the native application privileges cache. + * Clear the privileges cache. + *

+ * Evict privileges from the native application privilege cache. The cache is + * also automatically cleared for applications that have their privileges + * updated. * * @see Documentation @@ -296,7 +324,11 @@ public CompletableFuture clearCachedPrivileges( } /** - * Evicts application privileges from the native application privileges cache. + * Clear the privileges cache. + *

+ * Evict privileges from the native application privilege cache. The cache is + * also automatically cleared for applications that have their privileges + * updated. * * @param fn * a function that initializes a builder to create the @@ -314,7 +346,9 @@ public final CompletableFuture clearCachedPrivile // ----- Endpoint: security.clear_cached_realms /** - * Evicts users from the user cache. Can completely clear the cache or evict + * Clear the user cache. + *

+ * Evict users from the user cache. You can completely clear the cache or evict * specific users. * * @see clearCachedRealms(ClearCache } /** - * Evicts users from the user cache. Can completely clear the cache or evict + * Clear the user cache. + *

+ * Evict users from the user cache. You can completely clear the cache or evict * specific users. * * @param fn @@ -349,7 +385,9 @@ public final CompletableFuture clearCachedRealms( // ----- Endpoint: security.clear_cached_roles /** - * Evicts roles from the native role cache. + * Clear the roles cache. + *

+ * Evict roles from the native role cache. * * @see Documentation @@ -364,7 +402,9 @@ public CompletableFuture clearCachedRoles(ClearCachedR } /** - * Evicts roles from the native role cache. + * Clear the roles cache. + *

+ * Evict roles from the native role cache. * * @param fn * a function that initializes a builder to create the @@ -382,7 +422,9 @@ public final CompletableFuture clearCachedRoles( // ----- Endpoint: security.clear_cached_service_tokens /** - * Evicts tokens from the service account token caches. + * Clear service account token caches. + *

+ * Evict a subset of all entries from the service account token caches. * * @see Documentation @@ -398,7 +440,9 @@ public CompletableFuture clearCachedServiceTok } /** - * Evicts tokens from the service account token caches. + * Clear service account token caches. + *

+ * Evict a subset of all entries from the service account token caches. * * @param fn * a function that initializes a builder to create the @@ -416,12 +460,13 @@ public final CompletableFuture clearCachedServ // ----- Endpoint: security.create_api_key /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

+ * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @see Documentation @@ -436,12 +481,13 @@ public CompletableFuture createApiKey(CreateApiKeyRequest } /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

+ * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @param fn * a function that initializes a builder to create the @@ -457,12 +503,13 @@ public final CompletableFuture createApiKey( } /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

+ * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @see Documentation @@ -477,7 +524,9 @@ public CompletableFuture createApiKey() { // ----- Endpoint: security.create_service_token /** - * Creates a service accounts token for access without requiring basic + * Create a service account token. + *

+ * Create a service accounts token for access without requiring basic * authentication. * * @see createServiceToken(CreateSe } /** - * Creates a service accounts token for access without requiring basic + * Create a service account token. + *

+ * Create a service accounts token for access without requiring basic * authentication. * * @param fn @@ -512,7 +563,7 @@ public final CompletableFuture createServiceToken( // ----- Endpoint: security.delete_privileges /** - * Removes application privileges. + * Delete application privileges. * * @see Documentation @@ -527,7 +578,7 @@ public CompletableFuture deletePrivileges(DeletePrivil } /** - * Removes application privileges. + * Delete application privileges. * * @param fn * a function that initializes a builder to create the @@ -545,7 +596,9 @@ public final CompletableFuture deletePrivileges( // ----- Endpoint: security.delete_role /** - * Removes roles in the native realm. + * Delete roles. + *

+ * Delete roles in the native realm. * * @see Documentation @@ -560,7 +613,9 @@ public CompletableFuture deleteRole(DeleteRoleRequest reques } /** - * Removes roles in the native realm. + * Delete roles. + *

+ * Delete roles in the native realm. * * @param fn * a function that initializes a builder to create the @@ -578,7 +633,7 @@ public final CompletableFuture deleteRole( // ----- Endpoint: security.delete_role_mapping /** - * Removes role mappings. + * Delete role mappings. * * @see Documentation @@ -593,7 +648,7 @@ public CompletableFuture deleteRoleMapping(DeleteRole } /** - * Removes role mappings. + * Delete role mappings. * * @param fn * a function that initializes a builder to create the @@ -611,7 +666,9 @@ public final CompletableFuture deleteRoleMapping( // ----- Endpoint: security.delete_service_token /** - * Deletes a service account token. + * Delete service account tokens. + *

+ * Delete service account tokens for a service in a specified namespace. * * @see Documentation @@ -626,7 +683,9 @@ public CompletableFuture deleteServiceToken(DeleteSe } /** - * Deletes a service account token. + * Delete service account tokens. + *

+ * Delete service account tokens for a service in a specified namespace. * * @param fn * a function that initializes a builder to create the @@ -644,7 +703,9 @@ public final CompletableFuture deleteServiceToken( // ----- Endpoint: security.delete_user /** - * Deletes users from the native realm. + * Delete users. + *

+ * Delete users from the native realm. * * @see Documentation @@ -659,7 +720,9 @@ public CompletableFuture deleteUser(DeleteUserRequest reques } /** - * Deletes users from the native realm. + * Delete users. + *

+ * Delete users from the native realm. * * @param fn * a function that initializes a builder to create the @@ -677,7 +740,9 @@ public final CompletableFuture deleteUser( // ----- Endpoint: security.disable_user /** - * Disables users in the native realm. + * Disable users. + *

+ * Disable users in the native realm. * * @see Documentation @@ -692,7 +757,9 @@ public CompletableFuture disableUser(DisableUserRequest req } /** - * Disables users in the native realm. + * Disable users. + *

+ * Disable users in the native realm. * * @param fn * a function that initializes a builder to create the @@ -710,7 +777,9 @@ public final CompletableFuture disableUser( // ----- Endpoint: security.disable_user_profile /** - * Disables a user profile so it's not visible in user profile searches. + * Disable a user profile. + *

+ * Disable user profiles so that they are not visible in user profile searches. * * @see Documentation @@ -725,7 +794,9 @@ public CompletableFuture disableUserProfile(DisableU } /** - * Disables a user profile so it's not visible in user profile searches. + * Disable a user profile. + *

+ * Disable user profiles so that they are not visible in user profile searches. * * @param fn * a function that initializes a builder to create the @@ -743,7 +814,9 @@ public final CompletableFuture disableUserProfile( // ----- Endpoint: security.enable_user /** - * Enables users in the native realm. + * Enable users. + *

+ * Enable users in the native realm. * * @see Documentation @@ -758,7 +831,9 @@ public CompletableFuture enableUser(EnableUserRequest reques } /** - * Enables users in the native realm. + * Enable users. + *

+ * Enable users in the native realm. * * @param fn * a function that initializes a builder to create the @@ -776,7 +851,9 @@ public final CompletableFuture enableUser( // ----- Endpoint: security.enable_user_profile /** - * Enables a user profile so it's visible in user profile searches. + * Enable a user profile. + *

+ * Enable user profiles to make them visible in user profile searches. * * @see Documentation @@ -791,7 +868,9 @@ public CompletableFuture enableUserProfile(EnableUser } /** - * Enables a user profile so it's visible in user profile searches. + * Enable a user profile. + *

+ * Enable user profiles to make them visible in user profile searches. * * @param fn * a function that initializes a builder to create the @@ -809,8 +888,10 @@ public final CompletableFuture enableUserProfile( // ----- Endpoint: security.enroll_kibana /** - * Enables a Kibana instance to configure itself for communication with a - * secured Elasticsearch cluster. + * Enroll Kibana. + *

+ * Enable a Kibana instance to configure itself for communication with a secured + * Elasticsearch cluster. * * @see Documentation @@ -824,7 +905,10 @@ public CompletableFuture enrollKibana() { // ----- Endpoint: security.enroll_node /** - * Allows a new node to join an existing cluster with security features enabled. + * Enroll a node. + *

+ * Enroll a new node to allow it to join an existing cluster with security + * features enabled. * * @see Documentation @@ -838,12 +922,14 @@ public CompletableFuture enrollNode() { // ----- Endpoint: security.get_api_key /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

+ * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @see Documentation @@ -858,12 +944,14 @@ public CompletableFuture getApiKey(GetApiKeyRequest request) } /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

+ * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @param fn * a function that initializes a builder to create the @@ -879,12 +967,14 @@ public final CompletableFuture getApiKey( } /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

+ * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @see Documentation @@ -899,8 +989,10 @@ public CompletableFuture getApiKey() { // ----- Endpoint: security.get_builtin_privileges /** - * Retrieves the list of cluster privileges and index privileges that are - * available in this version of Elasticsearch. + * Get builtin privileges. + *

+ * Get the list of cluster privileges and index privileges that are available in + * this version of Elasticsearch. * * @see Documentation @@ -914,7 +1006,7 @@ public CompletableFuture getBuiltinPrivileges() { // ----- Endpoint: security.get_privileges /** - * Retrieves application privileges. + * Get application privileges. * * @see Documentation @@ -929,7 +1021,7 @@ public CompletableFuture getPrivileges(GetPrivilegesReque } /** - * Retrieves application privileges. + * Get application privileges. * * @param fn * a function that initializes a builder to create the @@ -945,7 +1037,7 @@ public final CompletableFuture getPrivileges( } /** - * Retrieves application privileges. + * Get application privileges. * * @see Documentation @@ -960,9 +1052,9 @@ public CompletableFuture getPrivileges() { // ----- Endpoint: security.get_role /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

+ * Get roles in the native realm. * * @see Documentation @@ -977,9 +1069,9 @@ public CompletableFuture getRole(GetRoleRequest request) { } /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

+ * Get roles in the native realm. * * @param fn * a function that initializes a builder to create the @@ -995,9 +1087,9 @@ public final CompletableFuture getRole( } /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

+ * Get roles in the native realm. * * @see Documentation @@ -1012,7 +1104,12 @@ public CompletableFuture getRole() { // ----- Endpoint: security.get_role_mapping /** - * Retrieves role mappings. + * Get role mappings. + *

+ * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @see Documentation @@ -1027,7 +1124,12 @@ public CompletableFuture getRoleMapping(GetRoleMappingRe } /** - * Retrieves role mappings. + * Get role mappings. + *

+ * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @param fn * a function that initializes a builder to create the @@ -1043,7 +1145,12 @@ public final CompletableFuture getRoleMapping( } /** - * Retrieves role mappings. + * Get role mappings. + *

+ * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @see Documentation @@ -1058,8 +1165,9 @@ public CompletableFuture getRoleMapping() { // ----- Endpoint: security.get_service_accounts /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

+ * Get a list of service accounts that match the provided path parameters. * * @see Documentation @@ -1074,8 +1182,9 @@ public CompletableFuture getServiceAccounts(GetServi } /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

+ * Get a list of service accounts that match the provided path parameters. * * @param fn * a function that initializes a builder to create the @@ -1091,8 +1200,9 @@ public final CompletableFuture getServiceAccounts( } /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

+ * Get a list of service accounts that match the provided path parameters. * * @see Documentation @@ -1107,7 +1217,7 @@ public CompletableFuture getServiceAccounts() { // ----- Endpoint: security.get_service_credentials /** - * Retrieves information of all service credentials for a service account. + * Get service account credentials. * * @see Documentation @@ -1123,7 +1233,7 @@ public CompletableFuture getServiceCredentials( } /** - * Retrieves information of all service credentials for a service account. + * Get service account credentials. * * @param fn * a function that initializes a builder to create the @@ -1141,7 +1251,9 @@ public final CompletableFuture getServiceCredenti // ----- Endpoint: security.get_token /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

+ * Create a bearer token for access without requiring basic authentication. * * @see Documentation @@ -1156,7 +1268,9 @@ public CompletableFuture getToken(GetTokenRequest request) { } /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

+ * Create a bearer token for access without requiring basic authentication. * * @param fn * a function that initializes a builder to create the @@ -1172,7 +1286,9 @@ public final CompletableFuture getToken( } /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

+ * Create a bearer token for access without requiring basic authentication. * * @see Documentation @@ -1187,7 +1303,9 @@ public CompletableFuture getToken() { // ----- Endpoint: security.get_user /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

+ * Get information about users in the native realm and built-in users. * * @see Documentation @@ -1202,7 +1320,9 @@ public CompletableFuture getUser(GetUserRequest request) { } /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

+ * Get information about users in the native realm and built-in users. * * @param fn * a function that initializes a builder to create the @@ -1218,7 +1338,9 @@ public final CompletableFuture getUser( } /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

+ * Get information about users in the native realm and built-in users. * * @see Documentation @@ -1233,7 +1355,7 @@ public CompletableFuture getUser() { // ----- Endpoint: security.get_user_privileges /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @see Documentation @@ -1248,7 +1370,7 @@ public CompletableFuture getUserPrivileges(GetUserPri } /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @param fn * a function that initializes a builder to create the @@ -1264,7 +1386,7 @@ public final CompletableFuture getUserPrivileges( } /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @see Documentation @@ -1279,7 +1401,9 @@ public CompletableFuture getUserPrivileges() { // ----- Endpoint: security.get_user_profile /** - * Retrieves a user's profile using the unique profile ID. + * Get a user profile. + *

+ * Get a user's profile using the unique profile ID. * * @see Documentation @@ -1294,7 +1418,9 @@ public CompletableFuture getUserProfile(GetUserProfileRe } /** - * Retrieves a user's profile using the unique profile ID. + * Get a user profile. + *

+ * Get a user's profile using the unique profile ID. * * @param fn * a function that initializes a builder to create the @@ -1312,15 +1438,17 @@ public final CompletableFuture getUserProfile( // ----- Endpoint: security.grant_api_key /** - * Creates an API key on behalf of another user. This API is similar to Create - * API keys, however it creates the API key for a user that is different than - * the user that runs the API. The caller must have authentication credentials - * (either an access token, or a username and password) for the user on whose - * behalf the API key will be created. It is not possible to use this API to - * create an API key without that user’s credentials. The user, for whom the - * authentication credentials is provided, can optionally "run as" - * (impersonate) another user. In this case, the API key will be created on - * behalf of the impersonated user. + * Grant an API key. + *

+ * Create an API key on behalf of another user. This API is similar to the + * create API keys API, however it creates the API key for a user that is + * different than the user that runs the API. The caller must have + * authentication credentials (either an access token, or a username and + * password) for the user on whose behalf the API key will be created. It is not + * possible to use this API to create an API key without that user’s + * credentials. The user, for whom the authentication credentials is provided, + * can optionally "run as" (impersonate) another user. In this case, + * the API key will be created on behalf of the impersonated user. *

* This API is intended be used by applications that need to create and manage * API keys for end users, but cannot guarantee that those users have permission @@ -1346,15 +1474,17 @@ public CompletableFuture grantApiKey(GrantApiKeyRequest req } /** - * Creates an API key on behalf of another user. This API is similar to Create - * API keys, however it creates the API key for a user that is different than - * the user that runs the API. The caller must have authentication credentials - * (either an access token, or a username and password) for the user on whose - * behalf the API key will be created. It is not possible to use this API to - * create an API key without that user’s credentials. The user, for whom the - * authentication credentials is provided, can optionally "run as" - * (impersonate) another user. In this case, the API key will be created on - * behalf of the impersonated user. + * Grant an API key. + *

+ * Create an API key on behalf of another user. This API is similar to the + * create API keys API, however it creates the API key for a user that is + * different than the user that runs the API. The caller must have + * authentication credentials (either an access token, or a username and + * password) for the user on whose behalf the API key will be created. It is not + * possible to use this API to create an API key without that user’s + * credentials. The user, for whom the authentication credentials is provided, + * can optionally "run as" (impersonate) another user. In this case, + * the API key will be created on behalf of the impersonated user. *

* This API is intended be used by applications that need to create and manage * API keys for end users, but cannot guarantee that those users have permission @@ -1383,8 +1513,9 @@ public final CompletableFuture grantApiKey( // ----- Endpoint: security.has_privileges /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

+ * Determine whether the specified user has a specified list of privileges. * * @see Documentation @@ -1399,8 +1530,9 @@ public CompletableFuture hasPrivileges(HasPrivilegesReque } /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

+ * Determine whether the specified user has a specified list of privileges. * * @param fn * a function that initializes a builder to create the @@ -1416,8 +1548,9 @@ public final CompletableFuture hasPrivileges( } /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

+ * Determine whether the specified user has a specified list of privileges. * * @see Documentation @@ -1432,8 +1565,10 @@ public CompletableFuture hasPrivileges() { // ----- Endpoint: security.has_privileges_user_profile /** - * Determines whether the users associated with the specified profile IDs have - * all the requested privileges. + * Check user profile privileges. + *

+ * Determine whether the users associated with the specified user profile IDs + * have all the requested privileges. * * @see Documentation @@ -1449,8 +1584,10 @@ public CompletableFuture hasPrivilegesUserProf } /** - * Determines whether the users associated with the specified profile IDs have - * all the requested privileges. + * Check user profile privileges. + *

+ * Determine whether the users associated with the specified user profile IDs + * have all the requested privileges. * * @param fn * a function that initializes a builder to create the @@ -1468,8 +1605,13 @@ public final CompletableFuture hasPrivilegesUs // ----- Endpoint: security.invalidate_api_key /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

+ * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1477,8 +1619,8 @@ public final CompletableFuture hasPrivilegesUs *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @see
    invalidateApiKey(InvalidateAp } /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1503,8 +1650,8 @@ public CompletableFuture invalidateApiKey(InvalidateAp *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @param fn @@ -1521,8 +1668,13 @@ public final CompletableFuture invalidateApiKey( } /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1530,8 +1682,8 @@ public final CompletableFuture invalidateApiKey( *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @see
    invalidateApiKey() { // ----- Endpoint: security.invalidate_token /** - * Invalidates one or more access tokens or refresh tokens. + * Invalidate a token. + *

    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @see Documentation @@ -1562,7 +1723,16 @@ public CompletableFuture invalidateToken(InvalidateToke } /** - * Invalidates one or more access tokens or refresh tokens. + * Invalidate a token. + *

    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @param fn * a function that initializes a builder to create the @@ -1578,7 +1748,16 @@ public final CompletableFuture invalidateToken( } /** - * Invalidates one or more access tokens or refresh tokens. + * Invalidate a token. + *

    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @see Documentation @@ -1593,7 +1772,7 @@ public CompletableFuture invalidateToken() { // ----- Endpoint: security.put_privileges /** - * Adds or updates application privileges. + * Create or update application privileges. * * @see Documentation @@ -1608,7 +1787,7 @@ public CompletableFuture putPrivileges(PutPrivilegesReque } /** - * Adds or updates application privileges. + * Create or update application privileges. * * @param fn * a function that initializes a builder to create the @@ -1624,7 +1803,7 @@ public final CompletableFuture putPrivileges( } /** - * Adds or updates application privileges. + * Create or update application privileges. * * @see Documentation @@ -1639,9 +1818,12 @@ public CompletableFuture putPrivileges() { // ----- Endpoint: security.put_role /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The create or update roles API - * cannot update roles that are defined in roles files. + * Create or update roles. + *

    + * The role management APIs are generally the preferred way to manage roles in + * the native realm, rather than using file-based role management. The create or + * update roles API cannot update roles that are defined in roles files. + * File-based role management is not available in Elastic Serverless. * * @see Documentation @@ -1656,9 +1838,12 @@ public CompletableFuture putRole(PutRoleRequest request) { } /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The create or update roles API - * cannot update roles that are defined in roles files. + * Create or update roles. + *

    + * The role management APIs are generally the preferred way to manage roles in + * the native realm, rather than using file-based role management. The create or + * update roles API cannot update roles that are defined in roles files. + * File-based role management is not available in Elastic Serverless. * * @param fn * a function that initializes a builder to create the @@ -1676,7 +1861,17 @@ public final CompletableFuture putRole( // ----- Endpoint: security.put_role_mapping /** - * Creates and updates role mappings. + * Create or update role mappings. + *

    + * Role mappings define which roles are assigned to each user. Each mapping has + * rules that identify users and a list of roles that are granted to those + * users. The role mapping APIs are generally the preferred way to manage role + * mappings rather than using role mapping files. The create or update role + * mappings API cannot update role mappings that are defined in role mapping + * files. + *

    + * This API does not create roles. Rather, it maps users to existing roles. + * Roles can be created by using the create or update roles API or roles files. * * @see Documentation @@ -1691,7 +1886,17 @@ public CompletableFuture putRoleMapping(PutRoleMappingRe } /** - * Creates and updates role mappings. + * Create or update role mappings. + *

    + * Role mappings define which roles are assigned to each user. Each mapping has + * rules that identify users and a list of roles that are granted to those + * users. The role mapping APIs are generally the preferred way to manage role + * mappings rather than using role mapping files. The create or update role + * mappings API cannot update role mappings that are defined in role mapping + * files. + *

    + * This API does not create roles. Rather, it maps users to existing roles. + * Roles can be created by using the create or update roles API or roles files. * * @param fn * a function that initializes a builder to create the @@ -1709,8 +1914,11 @@ public final CompletableFuture putRoleMapping( // ----- Endpoint: security.put_user /** - * Adds and updates users in the native realm. These users are commonly referred - * to as native users. + * Create or update users. + *

    + * A password is required for adding a new user but is optional when updating an + * existing user. To change a user’s password without updating any other fields, + * use the change password API. * * @see Documentation @@ -1725,8 +1933,11 @@ public CompletableFuture putUser(PutUserRequest request) { } /** - * Adds and updates users in the native realm. These users are commonly referred - * to as native users. + * Create or update users. + *

    + * A password is required for adding a new user but is optional when updating an + * existing user. To change a user’s password without updating any other fields, + * use the change password API. * * @param fn * a function that initializes a builder to create the @@ -1744,8 +1955,10 @@ public final CompletableFuture putUser( // ----- Endpoint: security.query_api_keys /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @see Documentation @@ -1760,8 +1973,10 @@ public CompletableFuture queryApiKeys(QueryApiKeysRequest } /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @param fn * a function that initializes a builder to create the @@ -1777,8 +1992,10 @@ public final CompletableFuture queryApiKeys( } /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @see Documentation @@ -1793,8 +2010,10 @@ public CompletableFuture queryApiKeys() { // ----- Endpoint: security.query_role /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @see Documentation @@ -1809,8 +2028,10 @@ public CompletableFuture queryRole(QueryRoleRequest request) } /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @param fn * a function that initializes a builder to create the @@ -1826,8 +2047,10 @@ public final CompletableFuture queryRole( } /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @see Documentation @@ -1842,8 +2065,10 @@ public CompletableFuture queryRole() { // ----- Endpoint: security.query_user /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @see Documentation @@ -1858,8 +2083,10 @@ public CompletableFuture queryUser(QueryUserRequest request) } /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @param fn * a function that initializes a builder to create the @@ -1875,8 +2102,10 @@ public final CompletableFuture queryUser( } /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @see Documentation @@ -1891,7 +2120,9 @@ public CompletableFuture queryUser() { // ----- Endpoint: security.saml_authenticate /** - * Submits a SAML Response message to Elasticsearch for consumption. + * Authenticate SAML. + *

    + * Submits a SAML response message to Elasticsearch for consumption. * * @see Documentation @@ -1906,7 +2137,9 @@ public CompletableFuture samlAuthenticate(SamlAuthenti } /** - * Submits a SAML Response message to Elasticsearch for consumption. + * Authenticate SAML. + *

    + * Submits a SAML response message to Elasticsearch for consumption. * * @param fn * a function that initializes a builder to create the @@ -1924,6 +2157,8 @@ public final CompletableFuture samlAuthenticate( // ----- Endpoint: security.saml_complete_logout /** + * Logout of SAML completely. + *

    * Verifies the logout response sent from the SAML IdP. * * @see samlCompleteLogout(SamlCompleteLogoutR } /** + * Logout of SAML completely. + *

    * Verifies the logout response sent from the SAML IdP. * * @param fn @@ -1957,6 +2194,8 @@ public final CompletableFuture samlCompleteLogout( // ----- Endpoint: security.saml_invalidate /** + * Invalidate SAML. + *

    * Submits a SAML LogoutRequest message to Elasticsearch for consumption. * * @see samlInvalidate(SamlInvalidateRe } /** + * Invalidate SAML. + *

    * Submits a SAML LogoutRequest message to Elasticsearch for consumption. * * @param fn @@ -1990,6 +2231,8 @@ public final CompletableFuture samlInvalidate( // ----- Endpoint: security.saml_logout /** + * Logout of SAML. + *

    * Submits a request to invalidate an access token and refresh token. * * @see samlLogout(SamlLogoutRequest reques } /** + * Logout of SAML. + *

    * Submits a request to invalidate an access token and refresh token. * * @param fn @@ -2023,8 +2268,11 @@ public final CompletableFuture samlLogout( // ----- Endpoint: security.saml_prepare_authentication /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @see Documentation @@ -2040,8 +2288,11 @@ public CompletableFuture samlPrepareAuthentic } /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @param fn * a function that initializes a builder to create the @@ -2057,8 +2308,11 @@ public final CompletableFuture samlPrepareAut } /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @see Documentation @@ -2073,6 +2327,8 @@ public CompletableFuture samlPrepareAuthentic // ----- Endpoint: security.saml_service_provider_metadata /** + * Create SAML service provider metadata. + *

    * Generate SAML metadata for a SAML 2.0 Service Provider. * * @see samlServiceProvide } /** + * Create SAML service provider metadata. + *

    * Generate SAML metadata for a SAML 2.0 Service Provider. * * @param fn @@ -2107,6 +2365,8 @@ public final CompletableFuture samlServiceP // ----- Endpoint: security.suggest_user_profiles /** + * Suggest a user profile. + *

    * Get suggestions for user profiles that match specified search criteria. * * @see suggestUserProfiles(Sugges } /** + * Suggest a user profile. + *

    * Get suggestions for user profiles that match specified search criteria. * * @param fn @@ -2138,6 +2400,8 @@ public final CompletableFuture suggestUserProfiles( } /** + * Suggest a user profile. + *

    * Get suggestions for user profiles that match specified search criteria. * * @see suggestUserProfiles() { // ----- Endpoint: security.update_api_key /** - * Update an API key. Updates attributes of an existing API key. Users can only - * update API keys that they created or that were granted to them. Use this API - * to update API keys created by the create API Key or grant API Key APIs. If - * you need to apply the same update to many API keys, you can use bulk update - * API Keys to reduce overhead. It’s not possible to update expired API keys, or - * API keys that have been invalidated by invalidate API Key. This API supports - * updates to an API key’s access scope and metadata. The access scope of an API - * key is derived from the role_descriptors you specify in the - * request, and a snapshot of the owner user’s permissions at the time of the - * request. The snapshot of the owner’s permissions is updated automatically on - * every call. If you don’t specify role_descriptors in the - * request, a call to this API might still change the API key’s access scope. - * This change can occur if the owner user’s permissions have changed since the - * API key was created or last modified. To update another user’s API key, use - * the run_as feature to submit a request on behalf of another - * user. IMPORTANT: It’s not possible to use an API key as the authentication + * Update an API key. + *

    + * Updates attributes of an existing API key. Users can only update API keys + * that they created or that were granted to them. Use this API to update API + * keys created by the create API Key or grant API Key APIs. If you need to + * apply the same update to many API keys, you can use bulk update API Keys to + * reduce overhead. It’s not possible to update expired API keys, or API keys + * that have been invalidated by invalidate API Key. This API supports updates + * to an API key’s access scope and metadata. The access scope of an API key is + * derived from the role_descriptors you specify in the request, + * and a snapshot of the owner user’s permissions at the time of the request. + * The snapshot of the owner’s permissions is updated automatically on every + * call. If you don’t specify role_descriptors in the request, a + * call to this API might still change the API key’s access scope. This change + * can occur if the owner user’s permissions have changed since the API key was + * created or last modified. To update another user’s API key, use the + * run_as feature to submit a request on behalf of another user. + * IMPORTANT: It’s not possible to use an API key as the authentication * credential for this API. To update an API key, the owner user’s credentials * are required. * @@ -2185,22 +2451,24 @@ public CompletableFuture updateApiKey(UpdateApiKeyRequest } /** - * Update an API key. Updates attributes of an existing API key. Users can only - * update API keys that they created or that were granted to them. Use this API - * to update API keys created by the create API Key or grant API Key APIs. If - * you need to apply the same update to many API keys, you can use bulk update - * API Keys to reduce overhead. It’s not possible to update expired API keys, or - * API keys that have been invalidated by invalidate API Key. This API supports - * updates to an API key’s access scope and metadata. The access scope of an API - * key is derived from the role_descriptors you specify in the - * request, and a snapshot of the owner user’s permissions at the time of the - * request. The snapshot of the owner’s permissions is updated automatically on - * every call. If you don’t specify role_descriptors in the - * request, a call to this API might still change the API key’s access scope. - * This change can occur if the owner user’s permissions have changed since the - * API key was created or last modified. To update another user’s API key, use - * the run_as feature to submit a request on behalf of another - * user. IMPORTANT: It’s not possible to use an API key as the authentication + * Update an API key. + *

    + * Updates attributes of an existing API key. Users can only update API keys + * that they created or that were granted to them. Use this API to update API + * keys created by the create API Key or grant API Key APIs. If you need to + * apply the same update to many API keys, you can use bulk update API Keys to + * reduce overhead. It’s not possible to update expired API keys, or API keys + * that have been invalidated by invalidate API Key. This API supports updates + * to an API key’s access scope and metadata. The access scope of an API key is + * derived from the role_descriptors you specify in the request, + * and a snapshot of the owner user’s permissions at the time of the request. + * The snapshot of the owner’s permissions is updated automatically on every + * call. If you don’t specify role_descriptors in the request, a + * call to this API might still change the API key’s access scope. This change + * can occur if the owner user’s permissions have changed since the API key was + * created or last modified. To update another user’s API key, use the + * run_as feature to submit a request on behalf of another user. + * IMPORTANT: It’s not possible to use an API key as the authentication * credential for this API. To update an API key, the owner user’s credentials * are required. * @@ -2220,8 +2488,10 @@ public final CompletableFuture updateApiKey( // ----- Endpoint: security.update_user_profile_data /** - * Updates specific data for the user profile that's associated with the - * specified unique ID. + * Update user profile data. + *

    + * Update specific data for the user profile that is associated with a unique + * ID. * * @see Documentation @@ -2237,8 +2507,10 @@ public CompletableFuture updateUserProfileData( } /** - * Updates specific data for the user profile that's associated with the - * specified unique ID. + * Update user profile data. + *

    + * Update specific data for the user profile that is associated with a unique + * ID. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java index 4e49cc32e..dffaa29af 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java @@ -69,7 +69,9 @@ public ElasticsearchSecurityClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: security.activate_user_profile /** - * Creates or updates a user profile on behalf of another user. + * Activate a user profile. + *

    + * Create or update a user profile on behalf of another user. * * @see Documentation @@ -85,7 +87,9 @@ public ActivateUserProfileResponse activateUserProfile(ActivateUserProfileReques } /** - * Creates or updates a user profile on behalf of another user. + * Activate a user profile. + *

    + * Create or update a user profile on behalf of another user. * * @param fn * a function that initializes a builder to create the @@ -104,8 +108,10 @@ public final ActivateUserProfileResponse activateUserProfile( // ----- Endpoint: security.authenticate /** - * Authenticate a user. Authenticates a user and returns information about the - * authenticated user. Include the user information in a + * Authenticate a user. + *

    + * Authenticates a user and returns information about the authenticated user. + * Include the user information in a * basic * auth header. A successful call returns a JSON structure that shows user * information such as their username, the roles that are assigned to the user, @@ -125,6 +131,8 @@ public AuthenticateResponse authenticate() throws IOException, ElasticsearchExce // ----- Endpoint: security.bulk_delete_role /** + * Bulk delete roles. + *

    * The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk delete roles API * cannot delete roles that are defined in roles files. @@ -143,6 +151,8 @@ public BulkDeleteRoleResponse bulkDeleteRole(BulkDeleteRoleRequest request) } /** + * Bulk delete roles. + *

    * The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk delete roles API * cannot delete roles that are defined in roles files. @@ -164,6 +174,8 @@ public final BulkDeleteRoleResponse bulkDeleteRole( // ----- Endpoint: security.bulk_put_role /** + * Bulk create or update roles. + *

    * The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk create or update roles * API cannot update roles that are defined in roles files. @@ -181,6 +193,8 @@ public BulkPutRoleResponse bulkPutRole(BulkPutRoleRequest request) throws IOExce } /** + * Bulk create or update roles. + *

    * The role management APIs are generally the preferred way to manage roles, * rather than using file-based role management. The bulk create or update roles * API cannot update roles that are defined in roles files. @@ -202,7 +216,9 @@ public final BulkPutRoleResponse bulkPutRole( // ----- Endpoint: security.change_password /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

    + * Change the passwords of users in the native realm and built-in users. * * @see Documentation @@ -218,7 +234,9 @@ public ChangePasswordResponse changePassword(ChangePasswordRequest request) } /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

    + * Change the passwords of users in the native realm and built-in users. * * @param fn * a function that initializes a builder to create the @@ -235,7 +253,9 @@ public final ChangePasswordResponse changePassword( } /** - * Changes the passwords of users in the native realm and built-in users. + * Change passwords. + *

    + * Change the passwords of users in the native realm and built-in users. * * @see Documentation @@ -250,7 +270,9 @@ public ChangePasswordResponse changePassword() throws IOException, Elasticsearch // ----- Endpoint: security.clear_api_key_cache /** - * Evicts a subset of all entries from the API key cache. The cache is also + * Clear the API key cache. + *

    + * Evict a subset of all entries from the API key cache. The cache is also * automatically cleared on state changes of the security index. * * @see + * Evict a subset of all entries from the API key cache. The cache is also * automatically cleared on state changes of the security index. * * @param fn @@ -287,7 +311,11 @@ public final ClearApiKeyCacheResponse clearApiKeyCache( // ----- Endpoint: security.clear_cached_privileges /** - * Evicts application privileges from the native application privileges cache. + * Clear the privileges cache. + *

    + * Evict privileges from the native application privilege cache. The cache is + * also automatically cleared for applications that have their privileges + * updated. * * @see Documentation @@ -303,7 +331,11 @@ public ClearCachedPrivilegesResponse clearCachedPrivileges(ClearCachedPrivileges } /** - * Evicts application privileges from the native application privileges cache. + * Clear the privileges cache. + *

    + * Evict privileges from the native application privilege cache. The cache is + * also automatically cleared for applications that have their privileges + * updated. * * @param fn * a function that initializes a builder to create the @@ -322,7 +354,9 @@ public final ClearCachedPrivilegesResponse clearCachedPrivileges( // ----- Endpoint: security.clear_cached_realms /** - * Evicts users from the user cache. Can completely clear the cache or evict + * Clear the user cache. + *

    + * Evict users from the user cache. You can completely clear the cache or evict * specific users. * * @see + * Evict users from the user cache. You can completely clear the cache or evict * specific users. * * @param fn @@ -359,7 +395,9 @@ public final ClearCachedRealmsResponse clearCachedRealms( // ----- Endpoint: security.clear_cached_roles /** - * Evicts roles from the native role cache. + * Clear the roles cache. + *

    + * Evict roles from the native role cache. * * @see Documentation @@ -375,7 +413,9 @@ public ClearCachedRolesResponse clearCachedRoles(ClearCachedRolesRequest request } /** - * Evicts roles from the native role cache. + * Clear the roles cache. + *

    + * Evict roles from the native role cache. * * @param fn * a function that initializes a builder to create the @@ -394,7 +434,9 @@ public final ClearCachedRolesResponse clearCachedRoles( // ----- Endpoint: security.clear_cached_service_tokens /** - * Evicts tokens from the service account token caches. + * Clear service account token caches. + *

    + * Evict a subset of all entries from the service account token caches. * * @see Documentation @@ -410,7 +452,9 @@ public ClearCachedServiceTokensResponse clearCachedServiceTokens(ClearCachedServ } /** - * Evicts tokens from the service account token caches. + * Clear service account token caches. + *

    + * Evict a subset of all entries from the service account token caches. * * @param fn * a function that initializes a builder to create the @@ -429,12 +473,13 @@ public final ClearCachedServiceTokensResponse clearCachedServiceTokens( // ----- Endpoint: security.create_api_key /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

    + * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @see Documentation @@ -449,12 +494,13 @@ public CreateApiKeyResponse createApiKey(CreateApiKeyRequest request) throws IOE } /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

    + * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @param fn * a function that initializes a builder to create the @@ -471,12 +517,13 @@ public final CreateApiKeyResponse createApiKey( } /** - * Create an API key. Creates an API key for access without requiring basic - * authentication. A successful request returns a JSON structure that contains - * the API key, its unique id, and its name. If applicable, it also returns - * expiration information for the API key in milliseconds. NOTE: By default, API - * keys never expire. You can specify expiration information when you create the - * API keys. + * Create an API key. + *

    + * Create an API key for access without requiring basic authentication. A + * successful request returns a JSON structure that contains the API key, its + * unique id, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. NOTE: By default, API keys never + * expire. You can specify expiration information when you create the API keys. * * @see Documentation @@ -491,7 +538,9 @@ public CreateApiKeyResponse createApiKey() throws IOException, ElasticsearchExce // ----- Endpoint: security.create_service_token /** - * Creates a service accounts token for access without requiring basic + * Create a service account token. + *

    + * Create a service accounts token for access without requiring basic * authentication. * * @see + * Create a service accounts token for access without requiring basic * authentication. * * @param fn @@ -528,7 +579,7 @@ public final CreateServiceTokenResponse createServiceToken( // ----- Endpoint: security.delete_privileges /** - * Removes application privileges. + * Delete application privileges. * * @see Documentation @@ -544,7 +595,7 @@ public DeletePrivilegesResponse deletePrivileges(DeletePrivilegesRequest request } /** - * Removes application privileges. + * Delete application privileges. * * @param fn * a function that initializes a builder to create the @@ -563,7 +614,9 @@ public final DeletePrivilegesResponse deletePrivileges( // ----- Endpoint: security.delete_role /** - * Removes roles in the native realm. + * Delete roles. + *

    + * Delete roles in the native realm. * * @see Documentation @@ -578,7 +631,9 @@ public DeleteRoleResponse deleteRole(DeleteRoleRequest request) throws IOExcepti } /** - * Removes roles in the native realm. + * Delete roles. + *

    + * Delete roles in the native realm. * * @param fn * a function that initializes a builder to create the @@ -596,7 +651,7 @@ public final DeleteRoleResponse deleteRole(FunctionDocumentation @@ -612,7 +667,7 @@ public DeleteRoleMappingResponse deleteRoleMapping(DeleteRoleMappingRequest requ } /** - * Removes role mappings. + * Delete role mappings. * * @param fn * a function that initializes a builder to create the @@ -631,7 +686,9 @@ public final DeleteRoleMappingResponse deleteRoleMapping( // ----- Endpoint: security.delete_service_token /** - * Deletes a service account token. + * Delete service account tokens. + *

    + * Delete service account tokens for a service in a specified namespace. * * @see Documentation @@ -647,7 +704,9 @@ public DeleteServiceTokenResponse deleteServiceToken(DeleteServiceTokenRequest r } /** - * Deletes a service account token. + * Delete service account tokens. + *

    + * Delete service account tokens for a service in a specified namespace. * * @param fn * a function that initializes a builder to create the @@ -666,7 +725,9 @@ public final DeleteServiceTokenResponse deleteServiceToken( // ----- Endpoint: security.delete_user /** - * Deletes users from the native realm. + * Delete users. + *

    + * Delete users from the native realm. * * @see Documentation @@ -681,7 +742,9 @@ public DeleteUserResponse deleteUser(DeleteUserRequest request) throws IOExcepti } /** - * Deletes users from the native realm. + * Delete users. + *

    + * Delete users from the native realm. * * @param fn * a function that initializes a builder to create the @@ -699,7 +762,9 @@ public final DeleteUserResponse deleteUser(Function + * Disable users in the native realm. * * @see Documentation @@ -714,7 +779,9 @@ public DisableUserResponse disableUser(DisableUserRequest request) throws IOExce } /** - * Disables users in the native realm. + * Disable users. + *

    + * Disable users in the native realm. * * @param fn * a function that initializes a builder to create the @@ -733,7 +800,9 @@ public final DisableUserResponse disableUser( // ----- Endpoint: security.disable_user_profile /** - * Disables a user profile so it's not visible in user profile searches. + * Disable a user profile. + *

    + * Disable user profiles so that they are not visible in user profile searches. * * @see Documentation @@ -749,7 +818,9 @@ public DisableUserProfileResponse disableUserProfile(DisableUserProfileRequest r } /** - * Disables a user profile so it's not visible in user profile searches. + * Disable a user profile. + *

    + * Disable user profiles so that they are not visible in user profile searches. * * @param fn * a function that initializes a builder to create the @@ -768,7 +839,9 @@ public final DisableUserProfileResponse disableUserProfile( // ----- Endpoint: security.enable_user /** - * Enables users in the native realm. + * Enable users. + *

    + * Enable users in the native realm. * * @see Documentation @@ -783,7 +856,9 @@ public EnableUserResponse enableUser(EnableUserRequest request) throws IOExcepti } /** - * Enables users in the native realm. + * Enable users. + *

    + * Enable users in the native realm. * * @param fn * a function that initializes a builder to create the @@ -801,7 +876,9 @@ public final EnableUserResponse enableUser(Function + * Enable user profiles to make them visible in user profile searches. * * @see Documentation @@ -817,7 +894,9 @@ public EnableUserProfileResponse enableUserProfile(EnableUserProfileRequest requ } /** - * Enables a user profile so it's visible in user profile searches. + * Enable a user profile. + *

    + * Enable user profiles to make them visible in user profile searches. * * @param fn * a function that initializes a builder to create the @@ -836,8 +915,10 @@ public final EnableUserProfileResponse enableUserProfile( // ----- Endpoint: security.enroll_kibana /** - * Enables a Kibana instance to configure itself for communication with a - * secured Elasticsearch cluster. + * Enroll Kibana. + *

    + * Enable a Kibana instance to configure itself for communication with a secured + * Elasticsearch cluster. * * @see Documentation @@ -851,7 +932,10 @@ public EnrollKibanaResponse enrollKibana() throws IOException, ElasticsearchExce // ----- Endpoint: security.enroll_node /** - * Allows a new node to join an existing cluster with security features enabled. + * Enroll a node. + *

    + * Enroll a new node to allow it to join an existing cluster with security + * features enabled. * * @see Documentation @@ -865,12 +949,14 @@ public EnrollNodeResponse enrollNode() throws IOException, ElasticsearchExceptio // ----- Endpoint: security.get_api_key /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

    + * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @see Documentation @@ -885,12 +971,14 @@ public GetApiKeyResponse getApiKey(GetApiKeyRequest request) throws IOException, } /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

    + * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @param fn * a function that initializes a builder to create the @@ -906,12 +994,14 @@ public final GetApiKeyResponse getApiKey(Functionmanage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

    + * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @see Documentation @@ -926,8 +1016,10 @@ public GetApiKeyResponse getApiKey() throws IOException, ElasticsearchException // ----- Endpoint: security.get_builtin_privileges /** - * Retrieves the list of cluster privileges and index privileges that are - * available in this version of Elasticsearch. + * Get builtin privileges. + *

    + * Get the list of cluster privileges and index privileges that are available in + * this version of Elasticsearch. * * @see Documentation @@ -941,7 +1033,7 @@ public GetBuiltinPrivilegesResponse getBuiltinPrivileges() throws IOException, E // ----- Endpoint: security.get_privileges /** - * Retrieves application privileges. + * Get application privileges. * * @see Documentation @@ -957,7 +1049,7 @@ public GetPrivilegesResponse getPrivileges(GetPrivilegesRequest request) } /** - * Retrieves application privileges. + * Get application privileges. * * @param fn * a function that initializes a builder to create the @@ -974,7 +1066,7 @@ public final GetPrivilegesResponse getPrivileges( } /** - * Retrieves application privileges. + * Get application privileges. * * @see Documentation @@ -989,9 +1081,9 @@ public GetPrivilegesResponse getPrivileges() throws IOException, ElasticsearchEx // ----- Endpoint: security.get_role /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

    + * Get roles in the native realm. * * @see Documentation @@ -1006,9 +1098,9 @@ public GetRoleResponse getRole(GetRoleRequest request) throws IOException, Elast } /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

    + * Get roles in the native realm. * * @param fn * a function that initializes a builder to create the @@ -1024,9 +1116,9 @@ public final GetRoleResponse getRole(Function + * Get roles in the native realm. * * @see Documentation @@ -1041,7 +1133,12 @@ public GetRoleResponse getRole() throws IOException, ElasticsearchException { // ----- Endpoint: security.get_role_mapping /** - * Retrieves role mappings. + * Get role mappings. + *

    + * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @see Documentation @@ -1057,7 +1154,12 @@ public GetRoleMappingResponse getRoleMapping(GetRoleMappingRequest request) } /** - * Retrieves role mappings. + * Get role mappings. + *

    + * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @param fn * a function that initializes a builder to create the @@ -1074,7 +1176,12 @@ public final GetRoleMappingResponse getRoleMapping( } /** - * Retrieves role mappings. + * Get role mappings. + *

    + * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @see Documentation @@ -1089,8 +1196,9 @@ public GetRoleMappingResponse getRoleMapping() throws IOException, Elasticsearch // ----- Endpoint: security.get_service_accounts /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

    + * Get a list of service accounts that match the provided path parameters. * * @see Documentation @@ -1106,8 +1214,9 @@ public GetServiceAccountsResponse getServiceAccounts(GetServiceAccountsRequest r } /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

    + * Get a list of service accounts that match the provided path parameters. * * @param fn * a function that initializes a builder to create the @@ -1124,8 +1233,9 @@ public final GetServiceAccountsResponse getServiceAccounts( } /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

    + * Get a list of service accounts that match the provided path parameters. * * @see Documentation @@ -1140,7 +1250,7 @@ public GetServiceAccountsResponse getServiceAccounts() throws IOException, Elast // ----- Endpoint: security.get_service_credentials /** - * Retrieves information of all service credentials for a service account. + * Get service account credentials. * * @see Documentation @@ -1156,7 +1266,7 @@ public GetServiceCredentialsResponse getServiceCredentials(GetServiceCredentials } /** - * Retrieves information of all service credentials for a service account. + * Get service account credentials. * * @param fn * a function that initializes a builder to create the @@ -1175,7 +1285,9 @@ public final GetServiceCredentialsResponse getServiceCredentials( // ----- Endpoint: security.get_token /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

    + * Create a bearer token for access without requiring basic authentication. * * @see Documentation @@ -1190,7 +1302,9 @@ public GetTokenResponse getToken(GetTokenRequest request) throws IOException, El } /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

    + * Create a bearer token for access without requiring basic authentication. * * @param fn * a function that initializes a builder to create the @@ -1206,7 +1320,9 @@ public final GetTokenResponse getToken(Function + * Create a bearer token for access without requiring basic authentication. * * @see Documentation @@ -1221,7 +1337,9 @@ public GetTokenResponse getToken() throws IOException, ElasticsearchException { // ----- Endpoint: security.get_user /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

    + * Get information about users in the native realm and built-in users. * * @see Documentation @@ -1236,7 +1354,9 @@ public GetUserResponse getUser(GetUserRequest request) throws IOException, Elast } /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

    + * Get information about users in the native realm and built-in users. * * @param fn * a function that initializes a builder to create the @@ -1252,7 +1372,9 @@ public final GetUserResponse getUser(Function + * Get information about users in the native realm and built-in users. * * @see Documentation @@ -1267,7 +1389,7 @@ public GetUserResponse getUser() throws IOException, ElasticsearchException { // ----- Endpoint: security.get_user_privileges /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @see Documentation @@ -1283,7 +1405,7 @@ public GetUserPrivilegesResponse getUserPrivileges(GetUserPrivilegesRequest requ } /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @param fn * a function that initializes a builder to create the @@ -1300,7 +1422,7 @@ public final GetUserPrivilegesResponse getUserPrivileges( } /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @see Documentation @@ -1315,7 +1437,9 @@ public GetUserPrivilegesResponse getUserPrivileges() throws IOException, Elastic // ----- Endpoint: security.get_user_profile /** - * Retrieves a user's profile using the unique profile ID. + * Get a user profile. + *

    + * Get a user's profile using the unique profile ID. * * @see Documentation @@ -1331,7 +1455,9 @@ public GetUserProfileResponse getUserProfile(GetUserProfileRequest request) } /** - * Retrieves a user's profile using the unique profile ID. + * Get a user profile. + *

    + * Get a user's profile using the unique profile ID. * * @param fn * a function that initializes a builder to create the @@ -1350,15 +1476,17 @@ public final GetUserProfileResponse getUserProfile( // ----- Endpoint: security.grant_api_key /** - * Creates an API key on behalf of another user. This API is similar to Create - * API keys, however it creates the API key for a user that is different than - * the user that runs the API. The caller must have authentication credentials - * (either an access token, or a username and password) for the user on whose - * behalf the API key will be created. It is not possible to use this API to - * create an API key without that user’s credentials. The user, for whom the - * authentication credentials is provided, can optionally "run as" - * (impersonate) another user. In this case, the API key will be created on - * behalf of the impersonated user. + * Grant an API key. + *

    + * Create an API key on behalf of another user. This API is similar to the + * create API keys API, however it creates the API key for a user that is + * different than the user that runs the API. The caller must have + * authentication credentials (either an access token, or a username and + * password) for the user on whose behalf the API key will be created. It is not + * possible to use this API to create an API key without that user’s + * credentials. The user, for whom the authentication credentials is provided, + * can optionally "run as" (impersonate) another user. In this case, + * the API key will be created on behalf of the impersonated user. *

    * This API is intended be used by applications that need to create and manage * API keys for end users, but cannot guarantee that those users have permission @@ -1384,15 +1512,17 @@ public GrantApiKeyResponse grantApiKey(GrantApiKeyRequest request) throws IOExce } /** - * Creates an API key on behalf of another user. This API is similar to Create - * API keys, however it creates the API key for a user that is different than - * the user that runs the API. The caller must have authentication credentials - * (either an access token, or a username and password) for the user on whose - * behalf the API key will be created. It is not possible to use this API to - * create an API key without that user’s credentials. The user, for whom the - * authentication credentials is provided, can optionally "run as" - * (impersonate) another user. In this case, the API key will be created on - * behalf of the impersonated user. + * Grant an API key. + *

    + * Create an API key on behalf of another user. This API is similar to the + * create API keys API, however it creates the API key for a user that is + * different than the user that runs the API. The caller must have + * authentication credentials (either an access token, or a username and + * password) for the user on whose behalf the API key will be created. It is not + * possible to use this API to create an API key without that user’s + * credentials. The user, for whom the authentication credentials is provided, + * can optionally "run as" (impersonate) another user. In this case, + * the API key will be created on behalf of the impersonated user. *

    * This API is intended be used by applications that need to create and manage * API keys for end users, but cannot guarantee that those users have permission @@ -1422,8 +1552,9 @@ public final GrantApiKeyResponse grantApiKey( // ----- Endpoint: security.has_privileges /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

    + * Determine whether the specified user has a specified list of privileges. * * @see Documentation @@ -1439,8 +1570,9 @@ public HasPrivilegesResponse hasPrivileges(HasPrivilegesRequest request) } /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

    + * Determine whether the specified user has a specified list of privileges. * * @param fn * a function that initializes a builder to create the @@ -1457,8 +1589,9 @@ public final HasPrivilegesResponse hasPrivileges( } /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

    + * Determine whether the specified user has a specified list of privileges. * * @see Documentation @@ -1473,8 +1606,10 @@ public HasPrivilegesResponse hasPrivileges() throws IOException, ElasticsearchEx // ----- Endpoint: security.has_privileges_user_profile /** - * Determines whether the users associated with the specified profile IDs have - * all the requested privileges. + * Check user profile privileges. + *

    + * Determine whether the users associated with the specified user profile IDs + * have all the requested privileges. * * @see Documentation @@ -1490,8 +1625,10 @@ public HasPrivilegesUserProfileResponse hasPrivilegesUserProfile(HasPrivilegesUs } /** - * Determines whether the users associated with the specified profile IDs have - * all the requested privileges. + * Check user profile privileges. + *

    + * Determine whether the users associated with the specified user profile IDs + * have all the requested privileges. * * @param fn * a function that initializes a builder to create the @@ -1510,8 +1647,13 @@ public final HasPrivilegesUserProfileResponse hasPrivilegesUserProfile( // ----- Endpoint: security.invalidate_api_key /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1519,8 +1661,8 @@ public final HasPrivilegesUserProfileResponse hasPrivilegesUserProfile( *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @see
    manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1546,8 +1693,8 @@ public InvalidateApiKeyResponse invalidateApiKey(InvalidateApiKeyRequest request *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @param fn @@ -1565,8 +1712,13 @@ public final InvalidateApiKeyResponse invalidateApiKey( } /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -1574,8 +1726,8 @@ public final InvalidateApiKeyResponse invalidateApiKey( *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @see
    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @see Documentation @@ -1607,7 +1768,16 @@ public InvalidateTokenResponse invalidateToken(InvalidateTokenRequest request) } /** - * Invalidates one or more access tokens or refresh tokens. + * Invalidate a token. + *

    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @param fn * a function that initializes a builder to create the @@ -1624,7 +1794,16 @@ public final InvalidateTokenResponse invalidateToken( } /** - * Invalidates one or more access tokens or refresh tokens. + * Invalidate a token. + *

    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @see Documentation @@ -1639,7 +1818,7 @@ public InvalidateTokenResponse invalidateToken() throws IOException, Elasticsear // ----- Endpoint: security.put_privileges /** - * Adds or updates application privileges. + * Create or update application privileges. * * @see Documentation @@ -1655,7 +1834,7 @@ public PutPrivilegesResponse putPrivileges(PutPrivilegesRequest request) } /** - * Adds or updates application privileges. + * Create or update application privileges. * * @param fn * a function that initializes a builder to create the @@ -1672,7 +1851,7 @@ public final PutPrivilegesResponse putPrivileges( } /** - * Adds or updates application privileges. + * Create or update application privileges. * * @see Documentation @@ -1687,9 +1866,12 @@ public PutPrivilegesResponse putPrivileges() throws IOException, ElasticsearchEx // ----- Endpoint: security.put_role /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The create or update roles API - * cannot update roles that are defined in roles files. + * Create or update roles. + *

    + * The role management APIs are generally the preferred way to manage roles in + * the native realm, rather than using file-based role management. The create or + * update roles API cannot update roles that are defined in roles files. + * File-based role management is not available in Elastic Serverless. * * @see Documentation @@ -1704,9 +1886,12 @@ public PutRoleResponse putRole(PutRoleRequest request) throws IOException, Elast } /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The create or update roles API - * cannot update roles that are defined in roles files. + * Create or update roles. + *

    + * The role management APIs are generally the preferred way to manage roles in + * the native realm, rather than using file-based role management. The create or + * update roles API cannot update roles that are defined in roles files. + * File-based role management is not available in Elastic Serverless. * * @param fn * a function that initializes a builder to create the @@ -1724,7 +1909,17 @@ public final PutRoleResponse putRole(Function + * Role mappings define which roles are assigned to each user. Each mapping has + * rules that identify users and a list of roles that are granted to those + * users. The role mapping APIs are generally the preferred way to manage role + * mappings rather than using role mapping files. The create or update role + * mappings API cannot update role mappings that are defined in role mapping + * files. + *

    + * This API does not create roles. Rather, it maps users to existing roles. + * Roles can be created by using the create or update roles API or roles files. * * @see Documentation @@ -1740,7 +1935,17 @@ public PutRoleMappingResponse putRoleMapping(PutRoleMappingRequest request) } /** - * Creates and updates role mappings. + * Create or update role mappings. + *

    + * Role mappings define which roles are assigned to each user. Each mapping has + * rules that identify users and a list of roles that are granted to those + * users. The role mapping APIs are generally the preferred way to manage role + * mappings rather than using role mapping files. The create or update role + * mappings API cannot update role mappings that are defined in role mapping + * files. + *

    + * This API does not create roles. Rather, it maps users to existing roles. + * Roles can be created by using the create or update roles API or roles files. * * @param fn * a function that initializes a builder to create the @@ -1759,8 +1964,11 @@ public final PutRoleMappingResponse putRoleMapping( // ----- Endpoint: security.put_user /** - * Adds and updates users in the native realm. These users are commonly referred - * to as native users. + * Create or update users. + *

    + * A password is required for adding a new user but is optional when updating an + * existing user. To change a user’s password without updating any other fields, + * use the change password API. * * @see Documentation @@ -1775,8 +1983,11 @@ public PutUserResponse putUser(PutUserRequest request) throws IOException, Elast } /** - * Adds and updates users in the native realm. These users are commonly referred - * to as native users. + * Create or update users. + *

    + * A password is required for adding a new user but is optional when updating an + * existing user. To change a user’s password without updating any other fields, + * use the change password API. * * @param fn * a function that initializes a builder to create the @@ -1794,8 +2005,10 @@ public final PutUserResponse putUser(Function + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @see Documentation @@ -1810,8 +2023,10 @@ public QueryApiKeysResponse queryApiKeys(QueryApiKeysRequest request) throws IOE } /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @param fn * a function that initializes a builder to create the @@ -1828,8 +2043,10 @@ public final QueryApiKeysResponse queryApiKeys( } /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @see Documentation @@ -1844,8 +2061,10 @@ public QueryApiKeysResponse queryApiKeys() throws IOException, ElasticsearchExce // ----- Endpoint: security.query_role /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @see Documentation @@ -1860,8 +2079,10 @@ public QueryRoleResponse queryRole(QueryRoleRequest request) throws IOException, } /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @param fn * a function that initializes a builder to create the @@ -1877,8 +2098,10 @@ public final QueryRoleResponse queryRole(Function + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @see Documentation @@ -1893,8 +2116,10 @@ public QueryRoleResponse queryRole() throws IOException, ElasticsearchException // ----- Endpoint: security.query_user /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @see Documentation @@ -1909,8 +2134,10 @@ public QueryUserResponse queryUser(QueryUserRequest request) throws IOException, } /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @param fn * a function that initializes a builder to create the @@ -1926,8 +2153,10 @@ public final QueryUserResponse queryUser(Function + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @see Documentation @@ -1942,7 +2171,9 @@ public QueryUserResponse queryUser() throws IOException, ElasticsearchException // ----- Endpoint: security.saml_authenticate /** - * Submits a SAML Response message to Elasticsearch for consumption. + * Authenticate SAML. + *

    + * Submits a SAML response message to Elasticsearch for consumption. * * @see Documentation @@ -1958,7 +2189,9 @@ public SamlAuthenticateResponse samlAuthenticate(SamlAuthenticateRequest request } /** - * Submits a SAML Response message to Elasticsearch for consumption. + * Authenticate SAML. + *

    + * Submits a SAML response message to Elasticsearch for consumption. * * @param fn * a function that initializes a builder to create the @@ -1977,6 +2210,8 @@ public final SamlAuthenticateResponse samlAuthenticate( // ----- Endpoint: security.saml_complete_logout /** + * Logout of SAML completely. + *

    * Verifies the logout response sent from the SAML IdP. * * @see * Verifies the logout response sent from the SAML IdP. * * @param fn @@ -2012,6 +2249,8 @@ public final BooleanResponse samlCompleteLogout( // ----- Endpoint: security.saml_invalidate /** + * Invalidate SAML. + *

    * Submits a SAML LogoutRequest message to Elasticsearch for consumption. * * @see * Submits a SAML LogoutRequest message to Elasticsearch for consumption. * * @param fn @@ -2047,6 +2288,8 @@ public final SamlInvalidateResponse samlInvalidate( // ----- Endpoint: security.saml_logout /** + * Logout of SAML. + *

    * Submits a request to invalidate an access token and refresh token. * * @see * Submits a request to invalidate an access token and refresh token. * * @param fn @@ -2080,8 +2325,11 @@ public final SamlLogoutResponse samlLogout(Function + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @see Documentation @@ -2097,8 +2345,11 @@ public SamlPrepareAuthenticationResponse samlPrepareAuthentication(SamlPrepareAu } /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @param fn * a function that initializes a builder to create the @@ -2115,8 +2366,11 @@ public final SamlPrepareAuthenticationResponse samlPrepareAuthentication( } /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @see Documentation @@ -2131,6 +2385,8 @@ public SamlPrepareAuthenticationResponse samlPrepareAuthentication() throws IOEx // ----- Endpoint: security.saml_service_provider_metadata /** + * Create SAML service provider metadata. + *

    * Generate SAML metadata for a SAML 2.0 Service Provider. * * @see * Generate SAML metadata for a SAML 2.0 Service Provider. * * @param fn @@ -2166,6 +2424,8 @@ public final SamlServiceProviderMetadataResponse samlServiceProviderMetadata( // ----- Endpoint: security.suggest_user_profiles /** + * Suggest a user profile. + *

    * Get suggestions for user profiles that match specified search criteria. * * @see * Get suggestions for user profiles that match specified search criteria. * * @param fn @@ -2199,6 +2461,8 @@ public final SuggestUserProfilesResponse suggestUserProfiles( } /** + * Suggest a user profile. + *

    * Get suggestions for user profiles that match specified search criteria. * * @see role_descriptors you specify in the - * request, and a snapshot of the owner user’s permissions at the time of the - * request. The snapshot of the owner’s permissions is updated automatically on - * every call. If you don’t specify role_descriptors in the - * request, a call to this API might still change the API key’s access scope. - * This change can occur if the owner user’s permissions have changed since the - * API key was created or last modified. To update another user’s API key, use - * the run_as feature to submit a request on behalf of another - * user. IMPORTANT: It’s not possible to use an API key as the authentication + * Update an API key. + *

    + * Updates attributes of an existing API key. Users can only update API keys + * that they created or that were granted to them. Use this API to update API + * keys created by the create API Key or grant API Key APIs. If you need to + * apply the same update to many API keys, you can use bulk update API Keys to + * reduce overhead. It’s not possible to update expired API keys, or API keys + * that have been invalidated by invalidate API Key. This API supports updates + * to an API key’s access scope and metadata. The access scope of an API key is + * derived from the role_descriptors you specify in the request, + * and a snapshot of the owner user’s permissions at the time of the request. + * The snapshot of the owner’s permissions is updated automatically on every + * call. If you don’t specify role_descriptors in the request, a + * call to this API might still change the API key’s access scope. This change + * can occur if the owner user’s permissions have changed since the API key was + * created or last modified. To update another user’s API key, use the + * run_as feature to submit a request on behalf of another user. + * IMPORTANT: It’s not possible to use an API key as the authentication * credential for this API. To update an API key, the owner user’s credentials * are required. * @@ -2246,22 +2512,24 @@ public UpdateApiKeyResponse updateApiKey(UpdateApiKeyRequest request) throws IOE } /** - * Update an API key. Updates attributes of an existing API key. Users can only - * update API keys that they created or that were granted to them. Use this API - * to update API keys created by the create API Key or grant API Key APIs. If - * you need to apply the same update to many API keys, you can use bulk update - * API Keys to reduce overhead. It’s not possible to update expired API keys, or - * API keys that have been invalidated by invalidate API Key. This API supports - * updates to an API key’s access scope and metadata. The access scope of an API - * key is derived from the role_descriptors you specify in the - * request, and a snapshot of the owner user’s permissions at the time of the - * request. The snapshot of the owner’s permissions is updated automatically on - * every call. If you don’t specify role_descriptors in the - * request, a call to this API might still change the API key’s access scope. - * This change can occur if the owner user’s permissions have changed since the - * API key was created or last modified. To update another user’s API key, use - * the run_as feature to submit a request on behalf of another - * user. IMPORTANT: It’s not possible to use an API key as the authentication + * Update an API key. + *

    + * Updates attributes of an existing API key. Users can only update API keys + * that they created or that were granted to them. Use this API to update API + * keys created by the create API Key or grant API Key APIs. If you need to + * apply the same update to many API keys, you can use bulk update API Keys to + * reduce overhead. It’s not possible to update expired API keys, or API keys + * that have been invalidated by invalidate API Key. This API supports updates + * to an API key’s access scope and metadata. The access scope of an API key is + * derived from the role_descriptors you specify in the request, + * and a snapshot of the owner user’s permissions at the time of the request. + * The snapshot of the owner’s permissions is updated automatically on every + * call. If you don’t specify role_descriptors in the request, a + * call to this API might still change the API key’s access scope. This change + * can occur if the owner user’s permissions have changed since the API key was + * created or last modified. To update another user’s API key, use the + * run_as feature to submit a request on behalf of another user. + * IMPORTANT: It’s not possible to use an API key as the authentication * credential for this API. To update an API key, the owner user’s credentials * are required. * @@ -2282,8 +2550,10 @@ public final UpdateApiKeyResponse updateApiKey( // ----- Endpoint: security.update_user_profile_data /** - * Updates specific data for the user profile that's associated with the - * specified unique ID. + * Update user profile data. + *

    + * Update specific data for the user profile that is associated with a unique + * ID. * * @see Documentation @@ -2299,8 +2569,10 @@ public UpdateUserProfileDataResponse updateUserProfileData(UpdateUserProfileData } /** - * Updates specific data for the user profile that's associated with the - * specified unique ID. + * Update user profile data. + *

    + * Update specific data for the user profile that is associated with a unique + * ID. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserProfileRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserProfileRequest.java index 580bbcbc9..0e4b496a6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserProfileRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserProfileRequest.java @@ -56,7 +56,9 @@ // typedef: security.enable_user_profile.Request /** - * Enables a user profile so it's visible in user profile searches. + * Enable a user profile. + *

    + * Enable user profiles to make them visible in user profile searches. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserRequest.java index 070414176..ad1101c67 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnableUserRequest.java @@ -56,7 +56,9 @@ // typedef: security.enable_user.Request /** - * Enables users in the native realm. + * Enable users. + *

    + * Enable users in the native realm. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollKibanaRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollKibanaRequest.java index 619c539c7..1335a607b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollKibanaRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollKibanaRequest.java @@ -50,8 +50,10 @@ // typedef: security.enroll_kibana.Request /** - * Enables a Kibana instance to configure itself for communication with a - * secured Elasticsearch cluster. + * Enroll Kibana. + *

    + * Enable a Kibana instance to configure itself for communication with a secured + * Elasticsearch cluster. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollNodeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollNodeRequest.java index 6c28b50c3..0f7afec0f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollNodeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/EnrollNodeRequest.java @@ -50,7 +50,10 @@ // typedef: security.enroll_node.Request /** - * Allows a new node to join an existing cluster with security features enabled. + * Enroll a node. + *

    + * Enroll a new node to allow it to join an existing cluster with security + * features enabled. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyRequest.java index 73e424c8c..8dde456df 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyRequest.java @@ -56,12 +56,14 @@ // typedef: security.get_api_key.Request /** - * Get API key information. Retrieves information for one or more API keys. - * NOTE: If you have only the manage_own_api_key privilege, this - * API returns only the API keys that you own. If you have - * read_security, manage_api_key or greater privileges - * (including manage_security), this API returns all API keys - * regardless of ownership. + * Get API key information. + *

    + * Retrieves information for one or more API keys. NOTE: If you have only the + * manage_own_api_key privilege, this API returns only the API keys + * that you own. If you have read_security, + * manage_api_key or greater privileges (including + * manage_security), this API returns all API keys regardless of + * ownership. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetBuiltinPrivilegesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetBuiltinPrivilegesRequest.java index 5489ec422..9af8e46ab 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetBuiltinPrivilegesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetBuiltinPrivilegesRequest.java @@ -50,8 +50,10 @@ // typedef: security.get_builtin_privileges.Request /** - * Retrieves the list of cluster privileges and index privileges that are - * available in this version of Elasticsearch. + * Get builtin privileges. + *

    + * Get the list of cluster privileges and index privileges that are available in + * this version of Elasticsearch. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetPrivilegesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetPrivilegesRequest.java index 8124ab49f..c12f59e36 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetPrivilegesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetPrivilegesRequest.java @@ -58,7 +58,7 @@ // typedef: security.get_privileges.Request /** - * Retrieves application privileges. + * Get application privileges. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleMappingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleMappingRequest.java index ca0bacf24..dcd36c31b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleMappingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleMappingRequest.java @@ -58,7 +58,12 @@ // typedef: security.get_role_mapping.Request /** - * Retrieves role mappings. + * Get role mappings. + *

    + * Role mappings define which roles are assigned to each user. The role mapping + * APIs are generally the preferred way to manage role mappings rather than + * using role mapping files. The get role mappings API cannot retrieve role + * mappings that are defined in role mapping files. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleRequest.java index 30fb124c1..96243ac01 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetRoleRequest.java @@ -58,9 +58,9 @@ // typedef: security.get_role.Request /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The get roles API cannot - * retrieve roles that are defined in roles files. + * Get roles. + *

    + * Get roles in the native realm. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceAccountsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceAccountsRequest.java index ee3296530..fa2fa48bd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceAccountsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceAccountsRequest.java @@ -55,8 +55,9 @@ // typedef: security.get_service_accounts.Request /** - * This API returns a list of service accounts that match the provided path - * parameter(s). + * Get service accounts. + *

    + * Get a list of service accounts that match the provided path parameters. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceCredentialsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceCredentialsRequest.java index c6ba0bca5..60fc10153 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceCredentialsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetServiceCredentialsRequest.java @@ -56,7 +56,7 @@ // typedef: security.get_service_credentials.Request /** - * Retrieves information of all service credentials for a service account. + * Get service account credentials. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetTokenRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetTokenRequest.java index f2916572c..6bcac00cd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetTokenRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetTokenRequest.java @@ -56,7 +56,9 @@ // typedef: security.get_token.Request /** - * Creates a bearer token for access without requiring basic authentication. + * Get a token. + *

    + * Create a bearer token for access without requiring basic authentication. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserPrivilegesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserPrivilegesRequest.java index 14e30351b..0648dec1d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserPrivilegesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserPrivilegesRequest.java @@ -55,7 +55,7 @@ // typedef: security.get_user_privileges.Request /** - * Retrieves security privileges for the logged in user. + * Get user privileges. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserProfileRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserProfileRequest.java index d9de3be35..895c5d578 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserProfileRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserProfileRequest.java @@ -57,7 +57,9 @@ // typedef: security.get_user_profile.Request /** - * Retrieves a user's profile using the unique profile ID. + * Get a user profile. + *

    + * Get a user's profile using the unique profile ID. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserRequest.java index 3fb19f45c..0af7fb0ac 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GetUserRequest.java @@ -58,7 +58,9 @@ // typedef: security.get_user.Request /** - * Retrieves information about users in the native realm and built-in users. + * Get users. + *

    + * Get information about users in the native realm and built-in users. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GrantApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GrantApiKeyRequest.java index d412ddf6d..6b7d38048 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GrantApiKeyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GrantApiKeyRequest.java @@ -58,15 +58,17 @@ // typedef: security.grant_api_key.Request /** - * Creates an API key on behalf of another user. This API is similar to Create - * API keys, however it creates the API key for a user that is different than - * the user that runs the API. The caller must have authentication credentials - * (either an access token, or a username and password) for the user on whose - * behalf the API key will be created. It is not possible to use this API to - * create an API key without that user’s credentials. The user, for whom the - * authentication credentials is provided, can optionally "run as" - * (impersonate) another user. In this case, the API key will be created on - * behalf of the impersonated user. + * Grant an API key. + *

    + * Create an API key on behalf of another user. This API is similar to the + * create API keys API, however it creates the API key for a user that is + * different than the user that runs the API. The caller must have + * authentication credentials (either an access token, or a username and + * password) for the user on whose behalf the API key will be created. It is not + * possible to use this API to create an API key without that user’s + * credentials. The user, for whom the authentication credentials is provided, + * can optionally "run as" (impersonate) another user. In this case, + * the API key will be created on behalf of the impersonated user. *

    * This API is intended be used by applications that need to create and manage * API keys for end users, but cannot guarantee that those users have permission diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java index 31cac70f8..cd61ed5a1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java @@ -61,8 +61,9 @@ // typedef: security.has_privileges.Request /** - * Check user privileges. Determines whether the specified user has a specified - * list of privileges. + * Check user privileges. + *

    + * Determine whether the specified user has a specified list of privileges. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesUserProfileRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesUserProfileRequest.java index 0fe5fa138..60ddf80e4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesUserProfileRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesUserProfileRequest.java @@ -58,8 +58,10 @@ // typedef: security.has_privileges_user_profile.Request /** - * Determines whether the users associated with the specified profile IDs have - * all the requested privileges. + * Check user profile privileges. + *

    + * Determine whether the users associated with the specified user profile IDs + * have all the requested privileges. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyRequest.java index 6ff032513..aad803147 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyRequest.java @@ -58,8 +58,13 @@ // typedef: security.invalidate_api_key.Request /** - * Invalidate API keys. Invalidates one or more API keys. The - * manage_api_key privilege allows deleting any API keys. The + * Invalidate API keys. + *

    + * This API invalidates API keys created by the create API key or grant API key + * APIs. Invalidated API keys fail authentication, but they can still be viewed + * using the get API key information and query API key information APIs, for at + * least the configured retention period, until they are automatically deleted. + * The manage_api_key privilege allows deleting any API keys. The * manage_own_api_key only allows deleting API keys that are owned * by the user. In addition, with the manage_own_api_key privilege, * an invalidation request must be issued in one of the three formats: @@ -67,8 +72,8 @@ *

  • Set the parameter owner=true.
  • *
  • Or, set both username and realm_name to match * the user’s identity.
  • - *
  • Or, if the request is issued by an API key, i.e. an API key invalidates - * itself, specify its ID in the ids field.
  • + *
  • Or, if the request is issued by an API key, that is to say an API key + * invalidates itself, specify its ID in the ids field.
  • * * * @see
    + * The access tokens returned by the get token API have a finite period of time + * for which they are valid. After that time period, they can no longer be used. + * The time period is defined by the + * xpack.security.authc.token.timeout setting. + *

    + * The refresh tokens returned by the get token API are only valid for 24 hours. + * They can also be used exactly once. If you want to invalidate one or more + * access or refresh tokens immediately, use this invalidate token API. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutPrivilegesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutPrivilegesRequest.java index b189946e3..31efa457f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutPrivilegesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutPrivilegesRequest.java @@ -61,7 +61,7 @@ // typedef: security.put_privileges.Request /** - * Adds or updates application privileges. + * Create or update application privileges. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java index 392e380eb..2d7e02733 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java @@ -61,7 +61,17 @@ // typedef: security.put_role_mapping.Request /** - * Creates and updates role mappings. + * Create or update role mappings. + *

    + * Role mappings define which roles are assigned to each user. Each mapping has + * rules that identify users and a list of roles that are granted to those + * users. The role mapping APIs are generally the preferred way to manage role + * mappings rather than using role mapping files. The create or update role + * mappings API cannot update role mappings that are defined in role mapping + * files. + *

    + * This API does not create roles. Rather, it maps users to existing roles. + * Roles can be created by using the create or update roles API or roles files. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java index dd56ea6f4..a5381c075 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java @@ -60,9 +60,12 @@ // typedef: security.put_role.Request /** - * The role management APIs are generally the preferred way to manage roles, - * rather than using file-based role management. The create or update roles API - * cannot update roles that are defined in roles files. + * Create or update roles. + *

    + * The role management APIs are generally the preferred way to manage roles in + * the native realm, rather than using file-based role management. The create or + * update roles API cannot update roles that are defined in roles files. + * File-based role management is not available in Elastic Serverless. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutUserRequest.java index 46aa7966d..51130ee8d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutUserRequest.java @@ -61,8 +61,11 @@ // typedef: security.put_user.Request /** - * Adds and updates users in the native realm. These users are commonly referred - * to as native users. + * Create or update users. + *

    + * A password is required for adding a new user but is optional when updating an + * existing user. To change a user’s password without updating any other fields, + * use the change password API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java index 3be34b900..16a977bfe 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java @@ -66,8 +66,10 @@ // typedef: security.query_api_keys.Request /** - * Query API keys. Retrieves a paginated list of API keys and their information. - * You can optionally filter the results with a query. + * Find API keys with a query. + *

    + * Get a paginated list of API keys and their information. You can optionally + * filter the results with a query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java index fb6d185d8..218f16b9f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java @@ -61,8 +61,10 @@ // typedef: security.query_role.Request /** - * Retrieves roles in a paginated manner. You can optionally filter the results - * with a query. + * Find roles with a query. + *

    + * Get roles in a paginated manner. You can optionally filter the results with a + * query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java index 5ad39c13b..beb95376c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java @@ -64,8 +64,10 @@ // typedef: security.query_user.Request /** - * Retrieves information for Users in a paginated manner. You can optionally - * filter the results with a query. + * Find users with a query. + *

    + * Get information for users in a paginated manner. You can optionally filter + * the results with a query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlAuthenticateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlAuthenticateRequest.java index 77e887782..0c8e9d964 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlAuthenticateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlAuthenticateRequest.java @@ -57,7 +57,9 @@ // typedef: security.saml_authenticate.Request /** - * Submits a SAML Response message to Elasticsearch for consumption. + * Authenticate SAML. + *

    + * Submits a SAML response message to Elasticsearch for consumption. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlCompleteLogoutRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlCompleteLogoutRequest.java index ca4af24b6..8aec637c2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlCompleteLogoutRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlCompleteLogoutRequest.java @@ -59,6 +59,8 @@ // typedef: security.saml_complete_logout.Request /** + * Logout of SAML completely. + *

    * Verifies the logout response sent from the SAML IdP. * * @see * Submits a SAML LogoutRequest message to Elasticsearch for consumption. * * @see * Submits a request to invalidate an access token and refresh token. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlPrepareAuthenticationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlPrepareAuthenticationRequest.java index 4609f7093..5b9bdab57 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlPrepareAuthenticationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlPrepareAuthenticationRequest.java @@ -55,8 +55,11 @@ // typedef: security.saml_prepare_authentication.Request /** - * Creates a SAML authentication request (<AuthnRequest>) as a URL string, - * based on the configuration of the respective SAML realm in Elasticsearch. + * Prepare SAML authentication. + *

    + * Creates a SAML authentication request (<AuthnRequest>) as + * a URL string, based on the configuration of the respective SAML realm in + * Elasticsearch. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlServiceProviderMetadataRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlServiceProviderMetadataRequest.java index fe0e9443d..0526e4834 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlServiceProviderMetadataRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SamlServiceProviderMetadataRequest.java @@ -56,6 +56,8 @@ // typedef: security.saml_service_provider_metadata.Request /** + * Create SAML service provider metadata. + *

    * Generate SAML metadata for a SAML 2.0 Service Provider. * * @see * Get suggestions for user profiles that match specified search criteria. * * @see role_descriptors you specify in the - * request, and a snapshot of the owner user’s permissions at the time of the - * request. The snapshot of the owner’s permissions is updated automatically on - * every call. If you don’t specify role_descriptors in the - * request, a call to this API might still change the API key’s access scope. - * This change can occur if the owner user’s permissions have changed since the - * API key was created or last modified. To update another user’s API key, use - * the run_as feature to submit a request on behalf of another - * user. IMPORTANT: It’s not possible to use an API key as the authentication + * Update an API key. + *

    + * Updates attributes of an existing API key. Users can only update API keys + * that they created or that were granted to them. Use this API to update API + * keys created by the create API Key or grant API Key APIs. If you need to + * apply the same update to many API keys, you can use bulk update API Keys to + * reduce overhead. It’s not possible to update expired API keys, or API keys + * that have been invalidated by invalidate API Key. This API supports updates + * to an API key’s access scope and metadata. The access scope of an API key is + * derived from the role_descriptors you specify in the request, + * and a snapshot of the owner user’s permissions at the time of the request. + * The snapshot of the owner’s permissions is updated automatically on every + * call. If you don’t specify role_descriptors in the request, a + * call to this API might still change the API key’s access scope. This change + * can occur if the owner user’s permissions have changed since the API key was + * created or last modified. To update another user’s API key, use the + * run_as feature to submit a request on behalf of another user. + * IMPORTANT: It’s not possible to use an API key as the authentication * credential for this API. To update an API key, the owner user’s credentials * are required. * diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateUserProfileDataRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateUserProfileDataRequest.java index 1c95a1aa5..83a234b9d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateUserProfileDataRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateUserProfileDataRequest.java @@ -60,8 +60,10 @@ // typedef: security.update_user_profile_data.Request /** - * Updates specific data for the user profile that's associated with the - * specified unique ID. + * Update user profile data. + *

    + * Update specific data for the user profile that is associated with a unique + * ID. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/CertificatesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/CertificatesRequest.java index 2d635b689..7873ecbf7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/CertificatesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/CertificatesRequest.java @@ -50,8 +50,36 @@ // typedef: ssl.certificates.Request /** - * Retrieves information about the X.509 certificates used to encrypt - * communications in the cluster. + * Get SSL certificates. + *

    + * Get information about the X.509 certificates that are used to encrypt + * communications in the cluster. The API returns a list that includes + * certificates from all TLS contexts including: + *

    + *

    + * The list includes certificates that are used for configuring trust, such as + * those configured in the xpack.security.transport.ssl.truststore + * and xpack.security.transport.ssl.certificate_authorities + * settings. It also includes certificates that are used for configuring server + * identity, such as xpack.security.http.ssl.keystore and + * xpack.security.http.ssl.certificate settings. + *

    + * The list does not include certificates that are sourced from the default SSL + * context of the Java Runtime Environment (JRE), even if those certificates are + * in use within Elasticsearch. + *

    + * NOTE: When a PKCS#11 token is configured as the truststore of the JRE, the + * API returns all the certificates that are included in the PKCS#11 token + * irrespective of whether these are used in the Elasticsearch TLS + * configuration. + *

    + * If Elasticsearch is configured to use a keystore or truststore, the API + * output includes all certificates in that store, even though some of the + * certificates might not be in active use within the cluster. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslAsyncClient.java index ba2a85955..c4cc769e8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslAsyncClient.java @@ -65,8 +65,36 @@ public ElasticsearchSslAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: ssl.certificates /** - * Retrieves information about the X.509 certificates used to encrypt - * communications in the cluster. + * Get SSL certificates. + *

    + * Get information about the X.509 certificates that are used to encrypt + * communications in the cluster. The API returns a list that includes + * certificates from all TLS contexts including: + *

      + *
    • Settings for transport and HTTP interfaces
    • + *
    • TLS settings that are used within authentication realms
    • + *
    • TLS settings for remote monitoring exporters
    • + *
    + *

    + * The list includes certificates that are used for configuring trust, such as + * those configured in the xpack.security.transport.ssl.truststore + * and xpack.security.transport.ssl.certificate_authorities + * settings. It also includes certificates that are used for configuring server + * identity, such as xpack.security.http.ssl.keystore and + * xpack.security.http.ssl.certificate settings. + *

    + * The list does not include certificates that are sourced from the default SSL + * context of the Java Runtime Environment (JRE), even if those certificates are + * in use within Elasticsearch. + *

    + * NOTE: When a PKCS#11 token is configured as the truststore of the JRE, the + * API returns all the certificates that are included in the PKCS#11 token + * irrespective of whether these are used in the Elasticsearch TLS + * configuration. + *

    + * If Elasticsearch is configured to use a keystore or truststore, the API + * output includes all certificates in that store, even though some of the + * certificates might not be in active use within the cluster. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslClient.java index a2b597d3a..cc83cedce 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ssl/ElasticsearchSslClient.java @@ -66,8 +66,36 @@ public ElasticsearchSslClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: ssl.certificates /** - * Retrieves information about the X.509 certificates used to encrypt - * communications in the cluster. + * Get SSL certificates. + *

    + * Get information about the X.509 certificates that are used to encrypt + * communications in the cluster. The API returns a list that includes + * certificates from all TLS contexts including: + *

    + *

    + * The list includes certificates that are used for configuring trust, such as + * those configured in the xpack.security.transport.ssl.truststore + * and xpack.security.transport.ssl.certificate_authorities + * settings. It also includes certificates that are used for configuring server + * identity, such as xpack.security.http.ssl.keystore and + * xpack.security.http.ssl.certificate settings. + *

    + * The list does not include certificates that are sourced from the default SSL + * context of the Java Runtime Environment (JRE), even if those certificates are + * in use within Elasticsearch. + *

    + * NOTE: When a PKCS#11 token is configured as the truststore of the JRE, the + * API returns all the certificates that are included in the PKCS#11 token + * irrespective of whether these are used in the Elasticsearch TLS + * configuration. + *

    + * If Elasticsearch is configured to use a keystore or truststore, the API + * output includes all certificates in that store, even though some of the + * certificates might not be in active use within the cluster. * * @see Documentation From 4c4e89e2c9f3d62b44a5ce541fcce0f7e9074853 Mon Sep 17 00:00:00 2001 From: Emily S Date: Wed, 13 Nov 2024 18:18:34 +0100 Subject: [PATCH 014/106] Otel docs updates (#683) --- docs/setup/open-telemetry.asciidoc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/setup/open-telemetry.asciidoc b/docs/setup/open-telemetry.asciidoc index dd34fe8f0..92a4d749d 100644 --- a/docs/setup/open-telemetry.asciidoc +++ b/docs/setup/open-telemetry.asciidoc @@ -1,29 +1,30 @@ [[opentelemetry]] === Using OpenTelemetry -You can use https://opentelemetry.io/[OpenTelemetry] to monitor the performance and behavior of your Elasticsearch requests through the Java API Client. +You can use https://opentelemetry.io/[OpenTelemetry] to monitor the performance and behavior of your {es} requests through the Java API Client. The Java API Client comes with built-in OpenTelemetry instrumentation that emits https://www.elastic.co/guide/en/apm/guide/current/apm-distributed-tracing.html[distributed tracing spans] by default. -With that, applications https://opentelemetry.io/docs/instrumentation/java/manual/[instrumented with OpenTelemetry] or running the https://opentelemetry.io/docs/instrumentation/java/automatic/[OpenTelemetry Java Agent] are inherently enriched with additional spans that contain insightful information about the execution of the Elasticsearch requests. +With that, applications https://opentelemetry.io/docs/instrumentation/java/manual/[instrumented with OpenTelemetry] or running the https://opentelemetry.io/docs/instrumentation/java/automatic/[OpenTelemetry Java Agent] are inherently enriched with additional spans that contain insightful information about the execution of the {es} requests. -The native instrumentation in the Java API Client follows the https://opentelemetry.io/docs/specs/semconv/database/elasticsearch/[OpenTelemetry Semantic Conventions for Elasticsearch]. In particular, the instrumentation in the client covers the logical Elasticsearch request layer, thus, creates a single span per request the service executes against the Java API Client. The following image shows a resulting trace in which three different Elasticsearch requests are executed, i.e. an `index`, `get` and a search `request`: +The native instrumentation in the Java API Client follows the https://opentelemetry.io/docs/specs/semconv/database/elasticsearch/[OpenTelemetry Semantic Conventions for {es}]. In particular, the instrumentation in the client covers the logical layer of {es} requests. A single span per request is created that is processed by the service through the Java API Client. The following image shows a trace that records the handling of three different {es} requests: an `index`, `get` and a search `request`: [role="screenshot"] -image::images/otel-waterfall-instrumented-without-http.jpg[alt="Distributed trace with Elasticsearch spans",align="center"] +image::images/otel-waterfall-instrumented-without-http.jpg[alt="Distributed trace with {es} spans",align="center"] -Usually, OpenTelemetry agents and auto-instrumentation modules come with instrumentation support for HTTP-level communication. In this case, in addition to the logical Elasticsearch client requests, spans will be captured for the physical HTTP requests emitted by the client. The following image shows a trace with both, Elasticsearch spans (in blue) and the corresponding HTTP-level spans (in red): +Usually, OpenTelemetry agents and auto-instrumentation modules come with instrumentation support for HTTP-level communication. In this case, in addition to the logical {es} client requests, spans will be captured for the physical HTTP requests emitted by the client. The following image shows a trace with both, {es} spans (in blue) and the corresponding HTTP-level spans (in red): [role="screenshot"] -image::images/otel-waterfall-instrumented.jpg[alt="Distributed trace with Elasticsearch and HTTP spans",align="center"] +image::images/otel-waterfall-instrumented.jpg[alt="Distributed trace with {es} and HTTP spans",align="center"] -Advanced Java API Client behavior such as nodes round-robin and request retries are revealed through the combination of logical Elasticsearch spans and the physical HTTP spans. The following example shows an `index` request in a scenario with two Elasticsearch nodes: +Advanced Java API Client behavior such as nodes round-robin and request retries are revealed through the combination of logical {es} spans and the physical HTTP spans. The following example shows an `index` request in a scenario with two {es} nodes: [role="screenshot"] image::images/otel-waterfall-retries.jpg[alt="Distributed trace with request retries",align="center"] -The first node is unavailable and results in an HTTP error, while the retry to the second node succeeds. Both HTTP requests are subsumed by the logical Elasticsearch request span (in blue). +The first node is unavailable and results in an HTTP error, while the retry to the second node succeeds. Both HTTP requests are subsumed by the logical {es} request span (in blue). [discrete] ==== Setup the OpenTelemetry instrumentation + When using the https://opentelemetry.io/docs/instrumentation/java/manual[OpenTelemetry Java SDK manually] or using the https://opentelemetry.io/docs/instrumentation/java/automatic/[OpenTelemetry Java Agent], the Java API Client's OpenTelemetry instrumentation is enabled by default and uses the _globally_ registered OpenTelemetry SDK instance (i.e. `GlobalOpenTelemetry`). So, if you don't use a custom, local OpenTelemetry SDK instance, there is no explicit setup required to use the Java API Client's OpenTelemetry instrumentation. [discrete] @@ -57,7 +58,7 @@ With this configuration option you can enable (default) or disable the built-in [discrete] ===== Capture search request bodies -Per default, the built-in OpenTelemetry instrumentation does not capture request bodies because of data privacy reasons. You can use this option to enable capturing of search queries from the the request bodies of Elasticsearch search requests in case you wish to capture this information, regardless. +Per default, the built-in OpenTelemetry instrumentation does not capture request bodies due to data privacy considerations. You can use this option to enable capturing of search queries from the the request bodies of {es} search requests in case you wish to gather this information regardless. **Default:** `false` @@ -68,6 +69,7 @@ Per default, the built-in OpenTelemetry instrumentation does not capture request [discrete] ==== Overhead + The OpenTelemetry instrumentation (as any other monitoring approach) may come with a little overhead on CPU, memory and/or latency. The overhead may only occur when the instrumentation is enabled (default) and an OpenTelemetry SDK (or an OpenTelemetry Agent) is active in the target application. In case that either the instrumentation is disabled or no OpenTelemetry SDK (or OpenTelemetry Agent) is active with the target application, there is no monitoring overhead expected when using the client. Even when the instrumentation is enabled and is being actively used (by an OpenTelemetry SDK), in the vast majority of cases the overhead is very small and negligible. In edge cases in which there is a noticable overhead the <> to eliminate any potential overhead effect of the instrumentation. From 062eb1701d66cfdfc800eeec2827cdf4194af367 Mon Sep 17 00:00:00 2001 From: Srikanth Manvi Date: Wed, 13 Nov 2024 12:20:00 -0500 Subject: [PATCH 015/106] Update readme (#604) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 59a78fb39..30e100ab7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ Elastic logo # Elasticsearch Java Client +Elasticsearch is a distributed, RESTful search engine optimized for speed and relevance on production-scale workloads. You can use Elasticsearch to perform real-time search over massive datasets for applications including Vector search, Full-text search, Logs, Metrics, Application Performance Monitoring, Security Logs and more ! -The official Java client for [Elasticsearch](https://github.com/elastic/elasticsearch). +This repo has the official Java client for [Elasticsearch](https://github.com/elastic/elasticsearch). The Java client for Elasticsearch provides strongly typed requests and responses for all Elasticsearch APIs. It delegates protocol handling to an http client such as the [Elasticsearch Low Level REST client](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/java-rest-low.html) that takes care of all transport-level concerns (http connection establishment and pooling, retries, etc). From 7001d645e98f3f70c908f050df25d2e8ec5eeab4 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Thu, 14 Nov 2024 13:03:41 +0100 Subject: [PATCH 016/106] [codegen] update to latest spec --- .../ElasticsearchAsyncClient.java | 277 +++++++++--- .../elasticsearch/ElasticsearchClient.java | 277 +++++++++--- .../elasticsearch/_types/Retriever.java | 62 +++ .../elasticsearch/_types/RetrieverBase.java | 36 ++ .../_types/RetrieverBuilders.java | 37 ++ .../elasticsearch/_types/RuleRetriever.java | 279 +++++++++++++ .../_types/StandardRetriever.java | 36 -- .../_types/TextSimilarityReranker.java | 303 ++++++++++++++ .../AsyncSearchStatusRequest.java | 10 +- .../DeleteAsyncSearchRequest.java | 13 +- .../ElasticsearchAsyncSearchAsyncClient.java | 122 +++--- .../ElasticsearchAsyncSearchClient.java | 122 +++--- .../async_search/GetAsyncSearchRequest.java | 10 +- .../async_search/SubmitRequest.java | 35 +- .../autoscaling/AutoscalingPolicy.java | 6 +- .../DeleteAutoscalingPolicyRequest.java | 7 +- .../ElasticsearchAutoscalingAsyncClient.java | 65 ++- .../ElasticsearchAutoscalingClient.java | 65 ++- .../GetAutoscalingCapacityRequest.java | 23 +- .../GetAutoscalingPolicyRequest.java | 7 +- .../PutAutoscalingPolicyRequest.java | 7 +- .../elasticsearch/cat/AllocationRequest.java | 39 ++ .../cat/ComponentTemplatesRequest.java | 39 ++ .../cat/ElasticsearchCatAsyncClient.java | 162 ++++++- .../cat/ElasticsearchCatClient.java | 163 +++++++- .../elasticsearch/cat/MasterRequest.java | 77 +++- .../elasticsearch/cat/NodeattrsRequest.java | 77 +++- .../cat/PendingTasksRequest.java | 77 +++- .../elasticsearch/cat/PluginsRequest.java | 77 +++- .../elasticsearch/cat/SegmentsRequest.java | 39 ++ .../elasticsearch/cat/TemplatesRequest.java | 39 ++ .../elasticsearch/cat/ThreadPoolRequest.java | 39 ++ .../core/ClearScrollRequest.java | 4 +- .../core/ClosePointInTimeRequest.java | 9 +- .../elasticsearch/core/FieldCapsRequest.java | 13 +- .../elasticsearch/core/KnnSearchRequest.java | 20 +- .../core/MsearchTemplateRequest.java | 2 +- .../core/OpenPointInTimeRequest.java | 12 +- .../elasticsearch/core/RankEvalRequest.java | 6 +- .../core/RenderSearchTemplateRequest.java | 4 +- .../elasticsearch/core/SearchMvtRequest.java | 4 +- .../elasticsearch/core/SearchRequest.java | 40 +- .../core/SearchShardsRequest.java | 8 +- .../core/SearchTemplateRequest.java | 2 +- .../core/TermvectorsRequest.java | 6 +- .../elasticsearch/doc-files/api-spec.html | 210 +++++----- .../fleet/FleetSearchRequest.java | 26 -- .../indices/ExistsAliasRequest.java | 32 -- .../indices/GetAliasRequest.java | 32 -- .../indices/SegmentsRequest.java | 30 -- .../ingest/IpLocationProcessor.java | 394 ++++++++++++++++++ .../elasticsearch/ingest/Processor.java | 31 ++ .../ingest/ProcessorBuilders.java | 18 + .../ml/ElasticsearchMlAsyncClient.java | 22 +- .../ml/ElasticsearchMlClient.java | 22 +- .../elasticsearch/ml/PutDatafeedRequest.java | 11 +- .../elasticsearch/security/Access.java | 253 +++++++++++ .../CreateCrossClusterApiKeyRequest.java | 377 +++++++++++++++++ .../CreateCrossClusterApiKeyResponse.java | 284 +++++++++++++ .../ElasticsearchSecurityAsyncClient.java | 126 ++++++ .../security/ElasticsearchSecurityClient.java | 128 ++++++ .../security/ReplicationAccess.java | 184 ++++++++ .../elasticsearch/security/SearchAccess.java | 317 ++++++++++++++ .../UpdateCrossClusterApiKeyRequest.java | 371 +++++++++++++++++ .../UpdateCrossClusterApiKeyResponse.java | 163 ++++++++ .../elasticsearch/tasks/ListRequest.java | 34 +- .../elasticsearch/xpack/info/Features.java | 31 ++ 67 files changed, 5162 insertions(+), 691 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RuleRetriever.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/TextSimilarityReranker.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/IpLocationProcessor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/Access.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyRequest.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyResponse.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/SearchAccess.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyRequest.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyResponse.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index a4417f811..57c716250 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -403,7 +403,9 @@ public CompletableFuture bulk() { // ----- Endpoint: clear_scroll /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @see Documentation @@ -418,7 +420,9 @@ public CompletableFuture clearScroll(ClearScrollRequest req } /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @param fn * a function that initializes a builder to create the @@ -434,7 +438,9 @@ public final CompletableFuture clearScroll( } /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @see Documentation @@ -449,7 +455,14 @@ public CompletableFuture clearScroll() { // ----- Endpoint: close_point_in_time /** - * Closes a point-in-time. + * Close a point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. A point in time is automatically closed when the + * keep_alive period has elapsed. However, keeping points in time + * has a cost; close them as soon as they are no longer required for search + * requests. * * @see Documentation @@ -464,7 +477,14 @@ public CompletableFuture closePointInTime(ClosePointIn } /** - * Closes a point-in-time. + * Close a point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. A point in time is automatically closed when the + * keep_alive period has elapsed. However, keeping points in time + * has a cost; close them as soon as they are no longer required for search + * requests. * * @param fn * a function that initializes a builder to create the @@ -852,11 +872,14 @@ public final CompletableFuture> explain( // ----- Endpoint: field_caps /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @see Documentation @@ -871,11 +894,14 @@ public CompletableFuture fieldCaps(FieldCapsRequest request) } /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @param fn * a function that initializes a builder to create the @@ -891,11 +917,14 @@ public final CompletableFuture fieldCaps( } /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @see Documentation @@ -1218,7 +1247,22 @@ public CompletableFuture info() { // ----- Endpoint: knn_search /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @see Documentation @@ -1237,7 +1281,22 @@ public CompletableFuture> knnSearch(Knn } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @param fn * a function that initializes a builder to create the @@ -1253,7 +1312,22 @@ public final CompletableFuture> knnSear } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @see Documentation @@ -1272,7 +1346,22 @@ public CompletableFuture> knnSearch(Knn } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @param fn * a function that initializes a builder to create the @@ -1529,7 +1618,7 @@ public final CompletableFuture> msearch( // ----- Endpoint: msearch_template /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @see Documentation @@ -1548,7 +1637,7 @@ public CompletableFuture> msearch } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @param fn * a function that initializes a builder to create the @@ -1565,7 +1654,7 @@ public final CompletableFuture> m } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @see Documentation @@ -1584,7 +1673,7 @@ public CompletableFuture> msearch } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @param fn * a function that initializes a builder to create the @@ -1666,14 +1755,20 @@ public CompletableFuture mtermvectors() { // ----- Endpoint: open_point_in_time /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when + * Open a point in time. + *

    + * A search request by default runs against the most recent visible data of the + * target indices, which is called point in time. Elasticsearch pit (point in + * time) is a lightweight view into the state of the data as it existed when * initiated. In some cases, it’s preferred to perform multiple search requests * using the same point in time. For example, if refreshes happen between * search_after requests, then the results of those requests might * not be consistent as changes happening between searches are only visible to * the more recent point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. * * @see Documentation @@ -1688,14 +1783,20 @@ public CompletableFuture openPointInTime(OpenPointInTim } /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when + * Open a point in time. + *

    + * A search request by default runs against the most recent visible data of the + * target indices, which is called point in time. Elasticsearch pit (point in + * time) is a lightweight view into the state of the data as it existed when * initiated. In some cases, it’s preferred to perform multiple search requests * using the same point in time. For example, if refreshes happen between * search_after requests, then the results of those requests might * not be consistent as changes happening between searches are only visible to * the more recent point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. * * @param fn * a function that initializes a builder to create the @@ -1761,8 +1862,10 @@ public final CompletableFuture putScript( // ----- Endpoint: rank_eval /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. + * Evaluate ranked search results. + *

    + * Evaluate the quality of ranked search results over a set of typical search + * queries. * * @see Documentation @@ -1777,8 +1880,10 @@ public CompletableFuture rankEval(RankEvalRequest request) { } /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. + * Evaluate ranked search results. + *

    + * Evaluate the quality of ranked search results over a set of typical search + * queries. * * @param fn * a function that initializes a builder to create the @@ -1872,7 +1977,9 @@ public final CompletableFuture reindexRethrottle( // ----- Endpoint: render_search_template /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @see Documentation @@ -1887,7 +1994,9 @@ public CompletableFuture renderSearchTemplate(Rend } /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @param fn * a function that initializes a builder to create the @@ -1903,7 +2012,9 @@ public final CompletableFuture renderSearchTemplat } /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @see Documentation @@ -2149,9 +2260,11 @@ public final CompletableFuture> scroll( // ----- Endpoint: search /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @see Documentation @@ -2169,9 +2282,11 @@ public CompletableFuture> search(SearchReq } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @param fn * a function that initializes a builder to create the @@ -2187,9 +2302,11 @@ public final CompletableFuture> search( } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @see Documentation @@ -2206,9 +2323,11 @@ public CompletableFuture> search(SearchReq } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @param fn * a function that initializes a builder to create the @@ -2226,7 +2345,9 @@ public final CompletableFuture> search( // ----- Endpoint: search_mvt /** - * Search a vector tile. Searches a vector tile for geospatial values. + * Search a vector tile. + *

    + * Search a vector tile for geospatial values. * * @see Documentation @@ -2241,7 +2362,9 @@ public CompletableFuture searchMvt(SearchMvtRequest request) { } /** - * Search a vector tile. Searches a vector tile for geospatial values. + * Search a vector tile. + *

    + * Search a vector tile for geospatial values. * * @param fn * a function that initializes a builder to create the @@ -2259,8 +2382,12 @@ public final CompletableFuture searchMvt( // ----- Endpoint: search_shards /** - * Returns information about the indices and shards that a search request would - * be executed against. + * Get the search shards. + *

    + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @see Documentation @@ -2275,8 +2402,12 @@ public CompletableFuture searchShards(SearchShardsRequest } /** - * Returns information about the indices and shards that a search request would - * be executed against. + * Get the search shards. + *

    + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @param fn * a function that initializes a builder to create the @@ -2292,8 +2423,12 @@ public final CompletableFuture searchShards( } /** - * Returns information about the indices and shards that a search request would - * be executed against. + * Get the search shards. + *

    + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @see Documentation @@ -2308,7 +2443,7 @@ public CompletableFuture searchShards() { // ----- Endpoint: search_template /** - * Runs a search with a search template. + * Run a search with a search template. * * @see Documentation @@ -2327,7 +2462,7 @@ public CompletableFuture> searchTe } /** - * Runs a search with a search template. + * Run a search with a search template. * * @param fn * a function that initializes a builder to create the @@ -2344,7 +2479,7 @@ public final CompletableFuture> se } /** - * Runs a search with a search template. + * Run a search with a search template. * * @see Documentation @@ -2363,7 +2498,7 @@ public CompletableFuture> searchTe } /** - * Runs a search with a search template. + * Run a search with a search template. * * @param fn * a function that initializes a builder to create the @@ -2440,8 +2575,10 @@ public final CompletableFuture termsEnum( // ----- Endpoint: termvectors /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. + * Get term vector information. + *

    + * Get information and statistics about terms in the fields of a particular + * document. * * @see Documentation @@ -2456,8 +2593,10 @@ public CompletableFuture termvectors(Termvector } /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. + * Get term vector information. + *

    + * Get information and statistics about terms in the fields of a particular + * document. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index c7d8262b8..8502c784c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -405,7 +405,9 @@ public BulkResponse bulk() throws IOException, ElasticsearchException { // ----- Endpoint: clear_scroll /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @see Documentation @@ -420,7 +422,9 @@ public ClearScrollResponse clearScroll(ClearScrollRequest request) throws IOExce } /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @param fn * a function that initializes a builder to create the @@ -437,7 +441,9 @@ public final ClearScrollResponse clearScroll( } /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @see Documentation @@ -452,7 +458,14 @@ public ClearScrollResponse clearScroll() throws IOException, ElasticsearchExcept // ----- Endpoint: close_point_in_time /** - * Closes a point-in-time. + * Close a point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. A point in time is automatically closed when the + * keep_alive period has elapsed. However, keeping points in time + * has a cost; close them as soon as they are no longer required for search + * requests. * * @see Documentation @@ -468,7 +481,14 @@ public ClosePointInTimeResponse closePointInTime(ClosePointInTimeRequest request } /** - * Closes a point-in-time. + * Close a point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. A point in time is automatically closed when the + * keep_alive period has elapsed. However, keeping points in time + * has a cost; close them as soon as they are no longer required for search + * requests. * * @param fn * a function that initializes a builder to create the @@ -866,11 +886,14 @@ public final ExplainResponse explain( // ----- Endpoint: field_caps /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @see Documentation @@ -885,11 +908,14 @@ public FieldCapsResponse fieldCaps(FieldCapsRequest request) throws IOException, } /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @param fn * a function that initializes a builder to create the @@ -905,11 +931,14 @@ public final FieldCapsResponse fieldCaps(Functionkeyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @see Documentation @@ -1237,7 +1266,22 @@ public InfoResponse info() throws IOException, ElasticsearchException { // ----- Endpoint: knn_search /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @see Documentation @@ -1256,7 +1300,22 @@ public KnnSearchResponse knnSearch(KnnSearchRequest reque } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @param fn * a function that initializes a builder to create the @@ -1273,7 +1332,22 @@ public final KnnSearchResponse knnSearch( } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @see Documentation @@ -1292,7 +1366,22 @@ public KnnSearchResponse knnSearch(KnnSearchRequest reque } /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @param fn * a function that initializes a builder to create the @@ -1553,7 +1642,7 @@ public final MsearchResponse msearch( // ----- Endpoint: msearch_template /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @see Documentation @@ -1572,7 +1661,7 @@ public MsearchTemplateResponse msearchTemplate(MsearchTem } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @param fn * a function that initializes a builder to create the @@ -1589,7 +1678,7 @@ public final MsearchTemplateResponse msearchTemplate( } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @see Documentation @@ -1608,7 +1697,7 @@ public MsearchTemplateResponse msearchTemplate(MsearchTem } /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @param fn * a function that initializes a builder to create the @@ -1692,14 +1781,20 @@ public MtermvectorsResponse mtermvectors() throws IOException, ElasticsearchExce // ----- Endpoint: open_point_in_time /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when + * Open a point in time. + *

    + * A search request by default runs against the most recent visible data of the + * target indices, which is called point in time. Elasticsearch pit (point in + * time) is a lightweight view into the state of the data as it existed when * initiated. In some cases, it’s preferred to perform multiple search requests * using the same point in time. For example, if refreshes happen between * search_after requests, then the results of those requests might * not be consistent as changes happening between searches are only visible to * the more recent point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. * * @see Documentation @@ -1715,14 +1810,20 @@ public OpenPointInTimeResponse openPointInTime(OpenPointInTimeRequest request) } /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when + * Open a point in time. + *

    + * A search request by default runs against the most recent visible data of the + * target indices, which is called point in time. Elasticsearch pit (point in + * time) is a lightweight view into the state of the data as it existed when * initiated. In some cases, it’s preferred to perform multiple search requests * using the same point in time. For example, if refreshes happen between * search_after requests, then the results of those requests might * not be consistent as changes happening between searches are only visible to * the more recent point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. * * @param fn * a function that initializes a builder to create the @@ -1789,8 +1890,10 @@ public final PutScriptResponse putScript(Function + * Evaluate the quality of ranked search results over a set of typical search + * queries. * * @see Documentation @@ -1805,8 +1908,10 @@ public RankEvalResponse rankEval(RankEvalRequest request) throws IOException, El } /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. + * Evaluate ranked search results. + *

    + * Evaluate the quality of ranked search results over a set of typical search + * queries. * * @param fn * a function that initializes a builder to create the @@ -1902,7 +2007,9 @@ public final ReindexRethrottleResponse reindexRethrottle( // ----- Endpoint: render_search_template /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @see Documentation @@ -1918,7 +2025,9 @@ public RenderSearchTemplateResponse renderSearchTemplate(RenderSearchTemplateReq } /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @param fn * a function that initializes a builder to create the @@ -1935,7 +2044,9 @@ public final RenderSearchTemplateResponse renderSearchTemplate( } /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @see Documentation @@ -2185,9 +2296,11 @@ public final ScrollResponse scroll( // ----- Endpoint: search /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @see Documentation @@ -2205,9 +2318,11 @@ public SearchResponse search(SearchRequest request, Class } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @param fn * a function that initializes a builder to create the @@ -2224,9 +2339,11 @@ public final SearchResponse search( } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @see Documentation @@ -2244,9 +2361,11 @@ public SearchResponse search(SearchRequest request, Type } /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @param fn * a function that initializes a builder to create the @@ -2265,7 +2384,9 @@ public final SearchResponse search( // ----- Endpoint: search_mvt /** - * Search a vector tile. Searches a vector tile for geospatial values. + * Search a vector tile. + *

    + * Search a vector tile for geospatial values. * * @see Documentation @@ -2280,7 +2401,9 @@ public BinaryResponse searchMvt(SearchMvtRequest request) throws IOException, El } /** - * Search a vector tile. Searches a vector tile for geospatial values. + * Search a vector tile. + *

    + * Search a vector tile for geospatial values. * * @param fn * a function that initializes a builder to create the @@ -2298,8 +2421,12 @@ public final BinaryResponse searchMvt(Function + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @see Documentation @@ -2314,8 +2441,12 @@ public SearchShardsResponse searchShards(SearchShardsRequest request) throws IOE } /** - * Returns information about the indices and shards that a search request would - * be executed against. + * Get the search shards. + *

    + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @param fn * a function that initializes a builder to create the @@ -2332,8 +2463,12 @@ public final SearchShardsResponse searchShards( } /** - * Returns information about the indices and shards that a search request would - * be executed against. + * Get the search shards. + *

    + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @see Documentation @@ -2348,7 +2483,7 @@ public SearchShardsResponse searchShards() throws IOException, ElasticsearchExce // ----- Endpoint: search_template /** - * Runs a search with a search template. + * Run a search with a search template. * * @see Documentation @@ -2367,7 +2502,7 @@ public SearchTemplateResponse searchTemplate(SearchTempla } /** - * Runs a search with a search template. + * Run a search with a search template. * * @param fn * a function that initializes a builder to create the @@ -2384,7 +2519,7 @@ public final SearchTemplateResponse searchTemplate( } /** - * Runs a search with a search template. + * Run a search with a search template. * * @see Documentation @@ -2403,7 +2538,7 @@ public SearchTemplateResponse searchTemplate(SearchTempla } /** - * Runs a search with a search template. + * Run a search with a search template. * * @param fn * a function that initializes a builder to create the @@ -2481,8 +2616,10 @@ public final TermsEnumResponse termsEnum(Function + * Get information and statistics about terms in the fields of a particular + * document. * * @see Documentation @@ -2498,8 +2635,10 @@ public TermvectorsResponse termvectors(TermvectorsRequest } /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. + * Get term vector information. + *

    + * Get information and statistics about terms in the fields of a particular + * document. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java index 478fdc197..40b0649e0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java @@ -77,6 +77,10 @@ public enum Kind implements JsonEnum { Rrf("rrf"), + TextSimilarityReranker("text_similarity_reranker"), + + Rule("rule"), + ; private final String jsonValue; @@ -173,6 +177,41 @@ public RRFRetriever rrf() { return TaggedUnionUtils.get(this, Kind.Rrf); } + /** + * Is this variant instance of kind {@code text_similarity_reranker}? + */ + public boolean isTextSimilarityReranker() { + return _kind == Kind.TextSimilarityReranker; + } + + /** + * Get the {@code text_similarity_reranker} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the + * {@code text_similarity_reranker} kind. + */ + public TextSimilarityReranker textSimilarityReranker() { + return TaggedUnionUtils.get(this, Kind.TextSimilarityReranker); + } + + /** + * Is this variant instance of kind {@code rule}? + */ + public boolean isRule() { + return _kind == Kind.Rule; + } + + /** + * Get the {@code rule} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code rule} kind. + */ + public RuleRetriever rule() { + return TaggedUnionUtils.get(this, Kind.Rule); + } + @Override @SuppressWarnings("unchecked") public void serialize(JsonGenerator generator, JsonpMapper mapper) { @@ -232,6 +271,27 @@ public ObjectBuilder rrf(Function textSimilarityReranker(TextSimilarityReranker v) { + this._kind = Kind.TextSimilarityReranker; + this._value = v; + return this; + } + + public ObjectBuilder textSimilarityReranker( + Function> fn) { + return this.textSimilarityReranker(fn.apply(new TextSimilarityReranker.Builder()).build()); + } + + public ObjectBuilder rule(RuleRetriever v) { + this._kind = Kind.Rule; + this._value = v; + return this; + } + + public ObjectBuilder rule(Function> fn) { + return this.rule(fn.apply(new RuleRetriever.Builder()).build()); + } + public Retriever build() { _checkSingleUse(); return new Retriever(this); @@ -244,6 +304,8 @@ protected static void setupRetrieverDeserializer(ObjectDeserializer op) op.add(Builder::standard, StandardRetriever._DESERIALIZER, "standard"); op.add(Builder::knn, KnnRetriever._DESERIALIZER, "knn"); op.add(Builder::rrf, RRFRetriever._DESERIALIZER, "rrf"); + op.add(Builder::textSimilarityReranker, TextSimilarityReranker._DESERIALIZER, "text_similarity_reranker"); + op.add(Builder::rule, RuleRetriever._DESERIALIZER, "rule"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java index 6ceefd82f..8b085c951 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java @@ -31,6 +31,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Float; import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -62,11 +63,15 @@ public abstract class RetrieverBase implements JsonpSerializable { private final List filter; + @Nullable + private final Float minScore; + // --------------------------------------------------------------------------------------------- protected RetrieverBase(AbstractBuilder builder) { this.filter = ApiTypeHelper.unmodifiable(builder.filter); + this.minScore = builder.minScore; } @@ -79,6 +84,17 @@ public final List filter() { return this.filter; } + /** + * Minimum _score for matching documents. Documents with a lower _score are not + * included in the top documents. + *

    + * API name: {@code min_score} + */ + @Nullable + public final Float minScore() { + return this.minScore; + } + /** * Serialize this object to JSON. */ @@ -100,6 +116,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (this.minScore != null) { + generator.writeKey("min_score"); + generator.write(this.minScore); + + } } @@ -114,6 +135,9 @@ public abstract static class AbstractBuilder filter; + @Nullable + private Float minScore; + /** * Query to filter the documents that can match. *

    @@ -149,6 +173,17 @@ public final BuilderT filter(Function> fn) { return filter(fn.apply(new Query.Builder()).build()); } + /** + * Minimum _score for matching documents. Documents with a lower _score are not + * included in the top documents. + *

    + * API name: {@code min_score} + */ + public final BuilderT minScore(@Nullable Float value) { + this.minScore = value; + return self(); + } + protected abstract BuilderT self(); } @@ -158,6 +193,7 @@ protected static > void setupRetrieve ObjectDeserializer op) { op.add(AbstractBuilder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter"); + op.add(AbstractBuilder::minScore, JsonpDeserializer.floatDeserializer(), "min_score"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java index 5a3625e40..b3d22f0ba 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java @@ -96,4 +96,41 @@ public static Retriever rrf(Function> fn) { + Retriever.Builder builder = new Retriever.Builder(); + builder.textSimilarityReranker(fn.apply(new TextSimilarityReranker.Builder()).build()); + return builder.build(); + } + + /** + * Creates a builder for the {@link RuleRetriever rule} {@code Retriever} + * variant. + */ + public static RuleRetriever.Builder rule() { + return new RuleRetriever.Builder(); + } + + /** + * Creates a Retriever of the {@link RuleRetriever rule} {@code Retriever} + * variant. + */ + public static Retriever rule(Function> fn) { + Retriever.Builder builder = new Retriever.Builder(); + builder.rule(fn.apply(new RuleRetriever.Builder()).build()); + return builder.build(); + } + } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RuleRetriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RuleRetriever.java new file mode 100644 index 000000000..849f4d826 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RuleRetriever.java @@ -0,0 +1,279 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch._types; + +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _types.RuleRetriever + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class RuleRetriever extends RetrieverBase implements RetrieverVariant { + private final List rulesetIds; + + private final JsonData matchCriteria; + + private final Retriever retriever; + + @Nullable + private final Integer rankWindowSize; + + // --------------------------------------------------------------------------------------------- + + private RuleRetriever(Builder builder) { + super(builder); + + this.rulesetIds = ApiTypeHelper.unmodifiableRequired(builder.rulesetIds, this, "rulesetIds"); + this.matchCriteria = ApiTypeHelper.requireNonNull(builder.matchCriteria, this, "matchCriteria"); + this.retriever = ApiTypeHelper.requireNonNull(builder.retriever, this, "retriever"); + this.rankWindowSize = builder.rankWindowSize; + + } + + public static RuleRetriever of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Retriever variant kind. + */ + @Override + public Retriever.Kind _retrieverKind() { + return Retriever.Kind.Rule; + } + + /** + * Required - The ruleset IDs containing the rules this retriever is evaluating + * against. + *

    + * API name: {@code ruleset_ids} + */ + public final List rulesetIds() { + return this.rulesetIds; + } + + /** + * Required - The match criteria that will determine if a rule in the provided + * rulesets should be applied. + *

    + * API name: {@code match_criteria} + */ + public final JsonData matchCriteria() { + return this.matchCriteria; + } + + /** + * Required - The retriever whose results rules should be applied to. + *

    + * API name: {@code retriever} + */ + public final Retriever retriever() { + return this.retriever; + } + + /** + * This value determines the size of the individual result set. + *

    + * API name: {@code rank_window_size} + */ + @Nullable + public final Integer rankWindowSize() { + return this.rankWindowSize; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (ApiTypeHelper.isDefined(this.rulesetIds)) { + generator.writeKey("ruleset_ids"); + generator.writeStartArray(); + for (String item0 : this.rulesetIds) { + generator.write(item0); + + } + generator.writeEnd(); + + } + generator.writeKey("match_criteria"); + this.matchCriteria.serialize(generator, mapper); + + generator.writeKey("retriever"); + this.retriever.serialize(generator, mapper); + + if (this.rankWindowSize != null) { + generator.writeKey("rank_window_size"); + generator.write(this.rankWindowSize); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RuleRetriever}. + */ + + public static class Builder extends RetrieverBase.AbstractBuilder implements ObjectBuilder { + private List rulesetIds; + + private JsonData matchCriteria; + + private Retriever retriever; + + @Nullable + private Integer rankWindowSize; + + /** + * Required - The ruleset IDs containing the rules this retriever is evaluating + * against. + *

    + * API name: {@code ruleset_ids} + *

    + * Adds all elements of list to rulesetIds. + */ + public final Builder rulesetIds(List list) { + this.rulesetIds = _listAddAll(this.rulesetIds, list); + return this; + } + + /** + * Required - The ruleset IDs containing the rules this retriever is evaluating + * against. + *

    + * API name: {@code ruleset_ids} + *

    + * Adds one or more values to rulesetIds. + */ + public final Builder rulesetIds(String value, String... values) { + this.rulesetIds = _listAdd(this.rulesetIds, value, values); + return this; + } + + /** + * Required - The match criteria that will determine if a rule in the provided + * rulesets should be applied. + *

    + * API name: {@code match_criteria} + */ + public final Builder matchCriteria(JsonData value) { + this.matchCriteria = value; + return this; + } + + /** + * Required - The retriever whose results rules should be applied to. + *

    + * API name: {@code retriever} + */ + public final Builder retriever(Retriever value) { + this.retriever = value; + return this; + } + + /** + * Required - The retriever whose results rules should be applied to. + *

    + * API name: {@code retriever} + */ + public final Builder retriever(Function> fn) { + return this.retriever(fn.apply(new Retriever.Builder()).build()); + } + + /** + * This value determines the size of the individual result set. + *

    + * API name: {@code rank_window_size} + */ + public final Builder rankWindowSize(@Nullable Integer value) { + this.rankWindowSize = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RuleRetriever}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RuleRetriever build() { + _checkSingleUse(); + + return new RuleRetriever(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RuleRetriever} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + RuleRetriever::setupRuleRetrieverDeserializer); + + protected static void setupRuleRetrieverDeserializer(ObjectDeserializer op) { + RetrieverBase.setupRetrieverBaseDeserializer(op); + op.add(Builder::rulesetIds, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "ruleset_ids"); + op.add(Builder::matchCriteria, JsonData._DESERIALIZER, "match_criteria"); + op.add(Builder::retriever, Retriever._DESERIALIZER, "retriever"); + op.add(Builder::rankWindowSize, JsonpDeserializer.integerDeserializer(), "rank_window_size"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java index 58dc3347e..cff330e81 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java @@ -29,7 +29,6 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; -import java.lang.Float; import java.lang.Integer; import java.util.ArrayList; import java.util.List; @@ -71,9 +70,6 @@ public class StandardRetriever extends RetrieverBase implements RetrieverVariant private final List sort; - @Nullable - private final Float minScore; - @Nullable private final FieldCollapse collapse; @@ -86,7 +82,6 @@ private StandardRetriever(Builder builder) { this.searchAfter = ApiTypeHelper.unmodifiable(builder.searchAfter); this.terminateAfter = builder.terminateAfter; this.sort = ApiTypeHelper.unmodifiable(builder.sort); - this.minScore = builder.minScore; this.collapse = builder.collapse; } @@ -141,17 +136,6 @@ public final List sort() { return this.sort; } - /** - * Minimum _score for matching documents. Documents with a lower _score are not - * included in the top documents. - *

    - * API name: {@code min_score} - */ - @Nullable - public final Float minScore() { - return this.minScore; - } - /** * Collapses the top documents by a specified key into a single top document per * key. @@ -195,11 +179,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); - } - if (this.minScore != null) { - generator.writeKey("min_score"); - generator.write(this.minScore); - } if (this.collapse != null) { generator.writeKey("collapse"); @@ -230,9 +209,6 @@ public static class Builder extends RetrieverBase.AbstractBuilder @Nullable private List sort; - @Nullable - private Float minScore; - @Nullable private FieldCollapse collapse; @@ -403,17 +379,6 @@ public final Builder sort(Function - * API name: {@code min_score} - */ - public final Builder minScore(@Nullable Float value) { - this.minScore = value; - return this; - } - /** * Collapses the top documents by a specified key into a single top document per * key. @@ -467,7 +432,6 @@ protected static void setupStandardRetrieverDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class TextSimilarityReranker extends RetrieverBase implements RetrieverVariant { + private final Retriever retriever; + + @Nullable + private final Integer rankWindowSize; + + @Nullable + private final String inferenceId; + + @Nullable + private final String inferenceText; + + @Nullable + private final String field; + + // --------------------------------------------------------------------------------------------- + + private TextSimilarityReranker(Builder builder) { + super(builder); + + this.retriever = ApiTypeHelper.requireNonNull(builder.retriever, this, "retriever"); + this.rankWindowSize = builder.rankWindowSize; + this.inferenceId = builder.inferenceId; + this.inferenceText = builder.inferenceText; + this.field = builder.field; + + } + + public static TextSimilarityReranker of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Retriever variant kind. + */ + @Override + public Retriever.Kind _retrieverKind() { + return Retriever.Kind.TextSimilarityReranker; + } + + /** + * Required - The nested retriever which will produce the first-level results, + * that will later be used for reranking. + *

    + * API name: {@code retriever} + */ + public final Retriever retriever() { + return this.retriever; + } + + /** + * This value determines how many documents we will consider from the nested + * retriever. + *

    + * API name: {@code rank_window_size} + */ + @Nullable + public final Integer rankWindowSize() { + return this.rankWindowSize; + } + + /** + * Unique identifier of the inference endpoint created using the inference API. + *

    + * API name: {@code inference_id} + */ + @Nullable + public final String inferenceId() { + return this.inferenceId; + } + + /** + * The text snippet used as the basis for similarity comparison + *

    + * API name: {@code inference_text} + */ + @Nullable + public final String inferenceText() { + return this.inferenceText; + } + + /** + * The document field to be used for text similarity comparisons. This field + * should contain the text that will be evaluated against the inference_text + *

    + * API name: {@code field} + */ + @Nullable + public final String field() { + return this.field; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + generator.writeKey("retriever"); + this.retriever.serialize(generator, mapper); + + if (this.rankWindowSize != null) { + generator.writeKey("rank_window_size"); + generator.write(this.rankWindowSize); + + } + if (this.inferenceId != null) { + generator.writeKey("inference_id"); + generator.write(this.inferenceId); + + } + if (this.inferenceText != null) { + generator.writeKey("inference_text"); + generator.write(this.inferenceText); + + } + if (this.field != null) { + generator.writeKey("field"); + generator.write(this.field); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link TextSimilarityReranker}. + */ + + public static class Builder extends RetrieverBase.AbstractBuilder + implements + ObjectBuilder { + private Retriever retriever; + + @Nullable + private Integer rankWindowSize; + + @Nullable + private String inferenceId; + + @Nullable + private String inferenceText; + + @Nullable + private String field; + + /** + * Required - The nested retriever which will produce the first-level results, + * that will later be used for reranking. + *

    + * API name: {@code retriever} + */ + public final Builder retriever(Retriever value) { + this.retriever = value; + return this; + } + + /** + * Required - The nested retriever which will produce the first-level results, + * that will later be used for reranking. + *

    + * API name: {@code retriever} + */ + public final Builder retriever(Function> fn) { + return this.retriever(fn.apply(new Retriever.Builder()).build()); + } + + /** + * This value determines how many documents we will consider from the nested + * retriever. + *

    + * API name: {@code rank_window_size} + */ + public final Builder rankWindowSize(@Nullable Integer value) { + this.rankWindowSize = value; + return this; + } + + /** + * Unique identifier of the inference endpoint created using the inference API. + *

    + * API name: {@code inference_id} + */ + public final Builder inferenceId(@Nullable String value) { + this.inferenceId = value; + return this; + } + + /** + * The text snippet used as the basis for similarity comparison + *

    + * API name: {@code inference_text} + */ + public final Builder inferenceText(@Nullable String value) { + this.inferenceText = value; + return this; + } + + /** + * The document field to be used for text similarity comparisons. This field + * should contain the text that will be evaluated against the inference_text + *

    + * API name: {@code field} + */ + public final Builder field(@Nullable String value) { + this.field = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link TextSimilarityReranker}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public TextSimilarityReranker build() { + _checkSingleUse(); + + return new TextSimilarityReranker(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link TextSimilarityReranker} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, TextSimilarityReranker::setupTextSimilarityRerankerDeserializer); + + protected static void setupTextSimilarityRerankerDeserializer( + ObjectDeserializer op) { + RetrieverBase.setupRetrieverBaseDeserializer(op); + op.add(Builder::retriever, Retriever._DESERIALIZER, "retriever"); + op.add(Builder::rankWindowSize, JsonpDeserializer.integerDeserializer(), "rank_window_size"); + op.add(Builder::inferenceId, JsonpDeserializer.stringDeserializer(), "inference_id"); + op.add(Builder::inferenceText, JsonpDeserializer.stringDeserializer(), "inference_text"); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java index 1ca202ca8..eca1c109a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java @@ -56,10 +56,12 @@ // typedef: async_search.status.Request /** - * Get async search status. Retrieve the status of a previously submitted async - * search request given its identifier, without retrieving search results. If - * the Elasticsearch security features are enabled, use of this API is - * restricted to the monitoring_user role. + * Get the async search status. + *

    + * Get the status of a previously submitted async search request given its + * identifier, without retrieving search results. If the Elasticsearch security + * features are enabled, use of this API is restricted to the + * monitoring_user role. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java index b6ca9db8f..996d4a6ea 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java @@ -56,12 +56,13 @@ // typedef: async_search.delete.Request /** - * Delete an async search. If the asynchronous search is still running, it is - * cancelled. Otherwise, the saved search results are deleted. If the - * Elasticsearch security features are enabled, the deletion of a specific async - * search is restricted to: the authenticated user that submitted the original - * search request; users that have the cancel_task cluster - * privilege. + * Delete an async search. + *

    + * If the asynchronous search is still running, it is cancelled. Otherwise, the + * saved search results are deleted. If the Elasticsearch security features are + * enabled, the deletion of a specific async search is restricted to: the + * authenticated user that submitted the original search request; users that + * have the cancel_task cluster privilege. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java index cf2ce1e16..8c01cb403 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java @@ -72,12 +72,13 @@ public ElasticsearchAsyncSearchAsyncClient withTransportOptions(@Nullable Transp // ----- Endpoint: async_search.delete /** - * Delete an async search. If the asynchronous search is still running, it is - * cancelled. Otherwise, the saved search results are deleted. If the - * Elasticsearch security features are enabled, the deletion of a specific async - * search is restricted to: the authenticated user that submitted the original - * search request; users that have the cancel_task cluster - * privilege. + * Delete an async search. + *

    + * If the asynchronous search is still running, it is cancelled. Otherwise, the + * saved search results are deleted. If the Elasticsearch security features are + * enabled, the deletion of a specific async search is restricted to: the + * authenticated user that submitted the original search request; users that + * have the cancel_task cluster privilege. * * @see Documentation @@ -92,12 +93,13 @@ public CompletableFuture delete(DeleteAsyncSearchRequ } /** - * Delete an async search. If the asynchronous search is still running, it is - * cancelled. Otherwise, the saved search results are deleted. If the - * Elasticsearch security features are enabled, the deletion of a specific async - * search is restricted to: the authenticated user that submitted the original - * search request; users that have the cancel_task cluster - * privilege. + * Delete an async search. + *

    + * If the asynchronous search is still running, it is cancelled. Otherwise, the + * saved search results are deleted. If the Elasticsearch security features are + * enabled, the deletion of a specific async search is restricted to: the + * authenticated user that submitted the original search request; users that + * have the cancel_task cluster privilege. * * @param fn * a function that initializes a builder to create the @@ -115,10 +117,12 @@ public final CompletableFuture delete( // ----- Endpoint: async_search.get /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @see Documentation @@ -136,10 +140,12 @@ public CompletableFuture> get(GetA } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @param fn * a function that initializes a builder to create the @@ -156,10 +162,12 @@ public final CompletableFuture> ge } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @see Documentation @@ -177,10 +185,12 @@ public CompletableFuture> get(GetA } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @param fn * a function that initializes a builder to create the @@ -198,10 +208,12 @@ public final CompletableFuture> ge // ----- Endpoint: async_search.status /** - * Get async search status. Retrieve the status of a previously submitted async - * search request given its identifier, without retrieving search results. If - * the Elasticsearch security features are enabled, use of this API is - * restricted to the monitoring_user role. + * Get the async search status. + *

    + * Get the status of a previously submitted async search request given its + * identifier, without retrieving search results. If the Elasticsearch security + * features are enabled, use of this API is restricted to the + * monitoring_user role. * * @see Documentation @@ -216,10 +228,12 @@ public CompletableFuture status(AsyncSearchStatusRequ } /** - * Get async search status. Retrieve the status of a previously submitted async - * search request given its identifier, without retrieving search results. If - * the Elasticsearch security features are enabled, use of this API is - * restricted to the monitoring_user role. + * Get the async search status. + *

    + * Get the status of a previously submitted async search request given its + * identifier, without retrieving search results. If the Elasticsearch security + * features are enabled, use of this API is restricted to the + * monitoring_user role. * * @param fn * a function that initializes a builder to create the @@ -237,10 +251,11 @@ public final CompletableFuture status( // ----- Endpoint: async_search.submit /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -268,10 +283,11 @@ public CompletableFuture> submit(SubmitReq } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -296,10 +312,11 @@ public final CompletableFuture> submit( } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -326,10 +343,11 @@ public CompletableFuture> submit(SubmitReq } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java index 1dada7bd2..e71c8284e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java @@ -71,12 +71,13 @@ public ElasticsearchAsyncSearchClient withTransportOptions(@Nullable TransportOp // ----- Endpoint: async_search.delete /** - * Delete an async search. If the asynchronous search is still running, it is - * cancelled. Otherwise, the saved search results are deleted. If the - * Elasticsearch security features are enabled, the deletion of a specific async - * search is restricted to: the authenticated user that submitted the original - * search request; users that have the cancel_task cluster - * privilege. + * Delete an async search. + *

    + * If the asynchronous search is still running, it is cancelled. Otherwise, the + * saved search results are deleted. If the Elasticsearch security features are + * enabled, the deletion of a specific async search is restricted to: the + * authenticated user that submitted the original search request; users that + * have the cancel_task cluster privilege. * * @see Documentation @@ -92,12 +93,13 @@ public DeleteAsyncSearchResponse delete(DeleteAsyncSearchRequest request) } /** - * Delete an async search. If the asynchronous search is still running, it is - * cancelled. Otherwise, the saved search results are deleted. If the - * Elasticsearch security features are enabled, the deletion of a specific async - * search is restricted to: the authenticated user that submitted the original - * search request; users that have the cancel_task cluster - * privilege. + * Delete an async search. + *

    + * If the asynchronous search is still running, it is cancelled. Otherwise, the + * saved search results are deleted. If the Elasticsearch security features are + * enabled, the deletion of a specific async search is restricted to: the + * authenticated user that submitted the original search request; users that + * have the cancel_task cluster privilege. * * @param fn * a function that initializes a builder to create the @@ -116,10 +118,12 @@ public final DeleteAsyncSearchResponse delete( // ----- Endpoint: async_search.get /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @see Documentation @@ -137,10 +141,12 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @param fn * a function that initializes a builder to create the @@ -157,10 +163,12 @@ public final GetAsyncSearchResponse get( } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @see Documentation @@ -178,10 +186,12 @@ public GetAsyncSearchResponse get(GetAsyncSearchRequest r } /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @param fn * a function that initializes a builder to create the @@ -200,10 +210,12 @@ public final GetAsyncSearchResponse get( // ----- Endpoint: async_search.status /** - * Get async search status. Retrieve the status of a previously submitted async - * search request given its identifier, without retrieving search results. If - * the Elasticsearch security features are enabled, use of this API is - * restricted to the monitoring_user role. + * Get the async search status. + *

    + * Get the status of a previously submitted async search request given its + * identifier, without retrieving search results. If the Elasticsearch security + * features are enabled, use of this API is restricted to the + * monitoring_user role. * * @see Documentation @@ -219,10 +231,12 @@ public AsyncSearchStatusResponse status(AsyncSearchStatusRequest request) } /** - * Get async search status. Retrieve the status of a previously submitted async - * search request given its identifier, without retrieving search results. If - * the Elasticsearch security features are enabled, use of this API is - * restricted to the monitoring_user role. + * Get the async search status. + *

    + * Get the status of a previously submitted async search request given its + * identifier, without retrieving search results. If the Elasticsearch security + * features are enabled, use of this API is restricted to the + * monitoring_user role. * * @param fn * a function that initializes a builder to create the @@ -241,10 +255,11 @@ public final AsyncSearchStatusResponse status( // ----- Endpoint: async_search.submit /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -272,10 +287,11 @@ public SubmitResponse submit(SubmitRequest request, Class } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -301,10 +317,11 @@ public final SubmitResponse submit( } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -332,10 +349,11 @@ public SubmitResponse submit(SubmitRequest request, Type } /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java index fbd4cbbd5..c4e0cb522 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java @@ -56,10 +56,12 @@ // typedef: async_search.get.Request /** - * Get async search results. Retrieve the results of a previously submitted - * asynchronous search request. If the Elasticsearch security features are - * enabled, access to the results of a specific async search is restricted to - * the user or API key that submitted it. + * Get async search results. + *

    + * Retrieve the results of a previously submitted asynchronous search request. + * If the Elasticsearch security features are enabled, access to the results of + * a specific async search is restricted to the user or API key that submitted + * it. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java index a655d7413..2c9ac8899 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java @@ -85,10 +85,11 @@ // typedef: async_search.submit.Request /** - * Run an async search. When the primary sort of the results is an indexed - * field, shards get sorted based on minimum and maximum value that they hold - * for that field. Partial results become available following the sort criteria - * that was requested. + * Run an async search. + *

    + * When the primary sort of the results is an indexed field, shards get sorted + * based on minimum and maximum value that they hold for that field. Partial + * results become available following the sort criteria that was requested. *

    * Warning: Asynchronous search does not support scroll or search requests that * include only the suggest section. @@ -177,9 +178,6 @@ public class SubmitRequest extends RequestBase implements JsonpSerializable { @Nullable private final Long maxConcurrentShardRequests; - @Nullable - private final String minCompatibleShardNode; - @Nullable private final Double minScore; @@ -291,7 +289,6 @@ private SubmitRequest(Builder builder) { this.knn = ApiTypeHelper.unmodifiable(builder.knn); this.lenient = builder.lenient; this.maxConcurrentShardRequests = builder.maxConcurrentShardRequests; - this.minCompatibleShardNode = builder.minCompatibleShardNode; this.minScore = builder.minScore; this.pit = builder.pit; this.postFilter = builder.postFilter; @@ -607,14 +604,6 @@ public final Long maxConcurrentShardRequests() { return this.maxConcurrentShardRequests; } - /** - * API name: {@code min_compatible_shard_node} - */ - @Nullable - public final String minCompatibleShardNode() { - return this.minCompatibleShardNode; - } - /** * Minimum _score for matching documents. Documents with a lower _score are not * included in the search results. @@ -1253,9 +1242,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Long maxConcurrentShardRequests; - @Nullable - private String minCompatibleShardNode; - @Nullable private Double minScore; @@ -1822,14 +1808,6 @@ public final Builder maxConcurrentShardRequests(@Nullable Long value) { return this; } - /** - * API name: {@code min_compatible_shard_node} - */ - public final Builder minCompatibleShardNode(@Nullable String value) { - this.minCompatibleShardNode = value; - return this; - } - /** * Minimum _score for matching documents. Documents with a lower _score are not * included in the search results. @@ -2546,9 +2524,6 @@ protected static void setupSubmitRequestDeserializer(ObjectDeserializer roles() { } /** - * Required - Decider settings + * Required - Decider settings. *

    * API name: {@code deciders} */ @@ -191,7 +191,7 @@ public final BuilderT roles(String value, String... values) { } /** - * Required - Decider settings + * Required - Decider settings. *

    * API name: {@code deciders} *

    @@ -203,7 +203,7 @@ public final BuilderT deciders(Map map) { } /** - * Required - Decider settings + * Required - Decider settings. *

    * API name: {@code deciders} *

    diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/DeleteAutoscalingPolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/DeleteAutoscalingPolicyRequest.java index b5c9d4b58..4127dc762 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/DeleteAutoscalingPolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/DeleteAutoscalingPolicyRequest.java @@ -56,8 +56,11 @@ // typedef: autoscaling.delete_autoscaling_policy.Request /** - * Deletes an autoscaling policy. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Delete an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java index c56b29662..c2bb7b04b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java @@ -70,8 +70,11 @@ public ElasticsearchAutoscalingAsyncClient withTransportOptions(@Nullable Transp // ----- Endpoint: autoscaling.delete_autoscaling_policy /** - * Deletes an autoscaling policy. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Delete an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -87,8 +90,11 @@ public CompletableFuture deleteAutoscalingPolic } /** - * Deletes an autoscaling policy. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Delete an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the @@ -106,9 +112,28 @@ public final CompletableFuture deleteAutoscalin // ----- Endpoint: autoscaling.get_autoscaling_capacity /** - * Gets the current autoscaling capacity based on the configured autoscaling - * policy. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. * * @see Documentation @@ -122,8 +147,11 @@ public CompletableFuture getAutoscalingCapacity( // ----- Endpoint: autoscaling.get_autoscaling_policy /** - * Retrieves an autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Get an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -138,8 +166,11 @@ public CompletableFuture getAutoscalingPolicy(GetA } /** - * Retrieves an autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Get an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the @@ -157,8 +188,11 @@ public final CompletableFuture getAutoscalingPolic // ----- Endpoint: autoscaling.put_autoscaling_policy /** - * Creates a new autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Create or update an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -173,8 +207,11 @@ public CompletableFuture putAutoscalingPolicy(PutA } /** - * Creates a new autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Create or update an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java index 346fe88cd..c98f8d2b9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java @@ -69,8 +69,11 @@ public ElasticsearchAutoscalingClient withTransportOptions(@Nullable TransportOp // ----- Endpoint: autoscaling.delete_autoscaling_policy /** - * Deletes an autoscaling policy. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Delete an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -86,8 +89,11 @@ public DeleteAutoscalingPolicyResponse deleteAutoscalingPolicy(DeleteAutoscaling } /** - * Deletes an autoscaling policy. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Delete an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the @@ -106,9 +112,28 @@ public final DeleteAutoscalingPolicyResponse deleteAutoscalingPolicy( // ----- Endpoint: autoscaling.get_autoscaling_capacity /** - * Gets the current autoscaling capacity based on the configured autoscaling - * policy. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. * * @see Documentation @@ -122,8 +147,11 @@ public GetAutoscalingCapacityResponse getAutoscalingCapacity() throws IOExceptio // ----- Endpoint: autoscaling.get_autoscaling_policy /** - * Retrieves an autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Get an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -139,8 +167,11 @@ public GetAutoscalingPolicyResponse getAutoscalingPolicy(GetAutoscalingPolicyReq } /** - * Retrieves an autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Get an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the @@ -159,8 +190,11 @@ public final GetAutoscalingPolicyResponse getAutoscalingPolicy( // ----- Endpoint: autoscaling.put_autoscaling_policy /** - * Creates a new autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Create or update an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see Documentation @@ -176,8 +210,11 @@ public PutAutoscalingPolicyResponse putAutoscalingPolicy(PutAutoscalingPolicyReq } /** - * Creates a new autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Create or update an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java index b96f1c13c..40d0c71a6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java @@ -50,9 +50,28 @@ // typedef: autoscaling.get_autoscaling_capacity.Request /** - * Gets the current autoscaling capacity based on the configured autoscaling - * policy. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java index 192c97fc6..ad1047dfc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java @@ -56,8 +56,11 @@ // typedef: autoscaling.get_autoscaling_policy.Request /** - * Retrieves an autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Get an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java index 7e5ed9a77..e639e46c6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java @@ -59,8 +59,11 @@ // typedef: autoscaling.put_autoscaling_policy.Request /** - * Creates a new autoscaling policy. Designed for indirect use by ECE/ESS and - * ECK. Direct use is not supported. + * Create or update an autoscaling policy. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java index 540b168ea..5b7c6dbf7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.List; @@ -70,6 +71,9 @@ public class AllocationRequest extends CatRequestBase { @Nullable private final Bytes bytes; + @Nullable + private final Boolean local; + private final List nodeId; // --------------------------------------------------------------------------------------------- @@ -77,6 +81,7 @@ public class AllocationRequest extends CatRequestBase { private AllocationRequest(Builder builder) { this.bytes = builder.bytes; + this.local = builder.local; this.nodeId = ApiTypeHelper.unmodifiable(builder.nodeId); } @@ -95,6 +100,20 @@ public final Bytes bytes() { return this.bytes; } + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + @Nullable + public final Boolean local() { + return this.local; + } + /** * Comma-separated list of node identifiers or names used to limit the returned * information. @@ -117,6 +136,9 @@ public static class Builder extends CatRequestBase.AbstractBuilder @Nullable private Bytes bytes; + @Nullable + private Boolean local; + @Nullable private List nodeId; @@ -130,6 +152,20 @@ public final Builder bytes(@Nullable Bytes value) { return this; } + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + /** * Comma-separated list of node identifiers or names used to limit the returned * information. @@ -241,6 +277,9 @@ public AllocationRequest build() { if (request.bytes != null) { params.put("bytes", request.bytes.jsonValue()); } + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, AllocationResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesRequest.java index 631a94d7c..ef0891a3a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesRequest.java @@ -28,6 +28,7 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.Map; @@ -66,6 +67,9 @@ */ public class ComponentTemplatesRequest extends CatRequestBase { + @Nullable + private final Boolean local; + @Nullable private final String name; @@ -73,6 +77,7 @@ public class ComponentTemplatesRequest extends CatRequestBase { private ComponentTemplatesRequest(Builder builder) { + this.local = builder.local; this.name = builder.name; } @@ -81,6 +86,20 @@ public static ComponentTemplatesRequest of(Functiontrue, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + @Nullable + public final Boolean local() { + return this.local; + } + /** * The name of the component template. Accepts wildcard expressions. If omitted, * all component templates are returned. @@ -101,9 +120,26 @@ public final String name() { public static class Builder extends CatRequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Boolean local; + @Nullable private String name; + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + /** * The name of the component template. Accepts wildcard expressions. If omitted, * all component templates are returned. @@ -196,6 +232,9 @@ public ComponentTemplatesRequest build() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, ComponentTemplatesResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java index de4162029..d37c93a62 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java @@ -579,8 +579,46 @@ public CompletableFuture indices() { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-master.html">Documentation * on elastic.co */ + + public CompletableFuture master(MasterRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) MasterRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Returns information about the master node, including the ID, bound IP + * address, and name. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link MasterRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture master( + Function> fn) { + return master(fn.apply(new MasterRequest.Builder()).build()); + } + + /** + * Returns information about the master node, including the ID, bound IP + * address, and name. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public CompletableFuture master() { - return this.transport.performRequestAsync(MasterRequest._INSTANCE, MasterRequest._ENDPOINT, + return this.transport.performRequestAsync(new MasterRequest.Builder().build(), MasterRequest._ENDPOINT, this.transportOptions); } @@ -858,8 +896,46 @@ public CompletableFuture mlTrainedModels() { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodeattrs.html">Documentation * on elastic.co */ + + public CompletableFuture nodeattrs(NodeattrsRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) NodeattrsRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Returns information about custom node attributes. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. For application consumption, + * use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link NodeattrsRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture nodeattrs( + Function> fn) { + return nodeattrs(fn.apply(new NodeattrsRequest.Builder()).build()); + } + + /** + * Returns information about custom node attributes. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. For application consumption, + * use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public CompletableFuture nodeattrs() { - return this.transport.performRequestAsync(NodeattrsRequest._INSTANCE, NodeattrsRequest._ENDPOINT, + return this.transport.performRequestAsync(new NodeattrsRequest.Builder().build(), NodeattrsRequest._ENDPOINT, this.transportOptions); } @@ -930,9 +1006,47 @@ public CompletableFuture nodes() { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-pending-tasks.html">Documentation * on elastic.co */ + + public CompletableFuture pendingTasks(PendingTasksRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) PendingTasksRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the pending cluster tasks API. + * + * @param fn + * a function that initializes a builder to create the + * {@link PendingTasksRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture pendingTasks( + Function> fn) { + return pendingTasks(fn.apply(new PendingTasksRequest.Builder()).build()); + } + + /** + * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the pending cluster tasks API. + * + * @see Documentation + * on elastic.co + */ + public CompletableFuture pendingTasks() { - return this.transport.performRequestAsync(PendingTasksRequest._INSTANCE, PendingTasksRequest._ENDPOINT, - this.transportOptions); + return this.transport.performRequestAsync(new PendingTasksRequest.Builder().build(), + PendingTasksRequest._ENDPOINT, this.transportOptions); } // ----- Endpoint: cat.plugins @@ -947,8 +1061,46 @@ public CompletableFuture pendingTasks() { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-plugins.html">Documentation * on elastic.co */ + + public CompletableFuture plugins(PluginsRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) PluginsRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link PluginsRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture plugins( + Function> fn) { + return plugins(fn.apply(new PluginsRequest.Builder()).build()); + } + + /** + * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public CompletableFuture plugins() { - return this.transport.performRequestAsync(PluginsRequest._INSTANCE, PluginsRequest._ENDPOINT, + return this.transport.performRequestAsync(new PluginsRequest.Builder().build(), PluginsRequest._ENDPOINT, this.transportOptions); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java index 927d8e4d5..8138deefb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java @@ -582,8 +582,47 @@ public IndicesResponse indices() throws IOException, ElasticsearchException { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-master.html">Documentation * on elastic.co */ + + public MasterResponse master(MasterRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) MasterRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Returns information about the master node, including the ID, bound IP + * address, and name. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link MasterRequest} + * @see Documentation + * on elastic.co + */ + + public final MasterResponse master(Function> fn) + throws IOException, ElasticsearchException { + return master(fn.apply(new MasterRequest.Builder()).build()); + } + + /** + * Returns information about the master node, including the ID, bound IP + * address, and name. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public MasterResponse master() throws IOException, ElasticsearchException { - return this.transport.performRequest(MasterRequest._INSTANCE, MasterRequest._ENDPOINT, this.transportOptions); + return this.transport.performRequest(new MasterRequest.Builder().build(), MasterRequest._ENDPOINT, + this.transportOptions); } // ----- Endpoint: cat.ml_data_frame_analytics @@ -865,8 +904,46 @@ public MlTrainedModelsResponse mlTrainedModels() throws IOException, Elasticsear * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-nodeattrs.html">Documentation * on elastic.co */ + + public NodeattrsResponse nodeattrs(NodeattrsRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) NodeattrsRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Returns information about custom node attributes. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. For application consumption, + * use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link NodeattrsRequest} + * @see Documentation + * on elastic.co + */ + + public final NodeattrsResponse nodeattrs(Function> fn) + throws IOException, ElasticsearchException { + return nodeattrs(fn.apply(new NodeattrsRequest.Builder()).build()); + } + + /** + * Returns information about custom node attributes. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. For application consumption, + * use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public NodeattrsResponse nodeattrs() throws IOException, ElasticsearchException { - return this.transport.performRequest(NodeattrsRequest._INSTANCE, NodeattrsRequest._ENDPOINT, + return this.transport.performRequest(new NodeattrsRequest.Builder().build(), NodeattrsRequest._ENDPOINT, this.transportOptions); } @@ -937,8 +1014,47 @@ public NodesResponse nodes() throws IOException, ElasticsearchException { * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-pending-tasks.html">Documentation * on elastic.co */ + + public PendingTasksResponse pendingTasks(PendingTasksRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) PendingTasksRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the pending cluster tasks API. + * + * @param fn + * a function that initializes a builder to create the + * {@link PendingTasksRequest} + * @see Documentation + * on elastic.co + */ + + public final PendingTasksResponse pendingTasks( + Function> fn) + throws IOException, ElasticsearchException { + return pendingTasks(fn.apply(new PendingTasksRequest.Builder()).build()); + } + + /** + * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the pending cluster tasks API. + * + * @see Documentation + * on elastic.co + */ + public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchException { - return this.transport.performRequest(PendingTasksRequest._INSTANCE, PendingTasksRequest._ENDPOINT, + return this.transport.performRequest(new PendingTasksRequest.Builder().build(), PendingTasksRequest._ENDPOINT, this.transportOptions); } @@ -954,8 +1070,47 @@ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchExce * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/cat-plugins.html">Documentation * on elastic.co */ + + public PluginsResponse plugins(PluginsRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) PluginsRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the nodes info API. + * + * @param fn + * a function that initializes a builder to create the + * {@link PluginsRequest} + * @see Documentation + * on elastic.co + */ + + public final PluginsResponse plugins(Function> fn) + throws IOException, ElasticsearchException { + return plugins(fn.apply(new PluginsRequest.Builder()).build()); + } + + /** + * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat + * APIs are only intended for human consumption using the command line or Kibana + * console. They are not intended for use by applications. For application + * consumption, use the nodes info API. + * + * @see Documentation + * on elastic.co + */ + public PluginsResponse plugins() throws IOException, ElasticsearchException { - return this.transport.performRequest(PluginsRequest._INSTANCE, PluginsRequest._ENDPOINT, this.transportOptions); + return this.transport.performRequest(new PluginsRequest.Builder().build(), PluginsRequest._ENDPOINT, + this.transportOptions); } // ----- Endpoint: cat.recovery diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java index a09b64c8c..a0a61756f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java @@ -28,10 +28,13 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -61,13 +64,78 @@ */ public class MasterRequest extends CatRequestBase { - public MasterRequest() { + @Nullable + private final Boolean local; + + // --------------------------------------------------------------------------------------------- + + private MasterRequest(Builder builder) { + + this.local = builder.local; + + } + + public static MasterRequest of(Function> fn) { + return fn.apply(new Builder()).build(); } /** - * Singleton instance for {@link MasterRequest}. + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} */ - public static final MasterRequest _INSTANCE = new MasterRequest(); + @Nullable + public final Boolean local() { + return this.local; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link MasterRequest}. + */ + + public static class Builder extends CatRequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Boolean local; + + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link MasterRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public MasterRequest build() { + _checkSingleUse(); + + return new MasterRequest(this); + } + } // --------------------------------------------------------------------------------------------- @@ -98,6 +166,9 @@ public MasterRequest() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, MasterResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java index ff67cd5ba..b457e5782 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java @@ -28,10 +28,13 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -61,13 +64,78 @@ */ public class NodeattrsRequest extends CatRequestBase { - public NodeattrsRequest() { + @Nullable + private final Boolean local; + + // --------------------------------------------------------------------------------------------- + + private NodeattrsRequest(Builder builder) { + + this.local = builder.local; + + } + + public static NodeattrsRequest of(Function> fn) { + return fn.apply(new Builder()).build(); } /** - * Singleton instance for {@link NodeattrsRequest}. + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} */ - public static final NodeattrsRequest _INSTANCE = new NodeattrsRequest(); + @Nullable + public final Boolean local() { + return this.local; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link NodeattrsRequest}. + */ + + public static class Builder extends CatRequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Boolean local; + + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link NodeattrsRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public NodeattrsRequest build() { + _checkSingleUse(); + + return new NodeattrsRequest(this); + } + } // --------------------------------------------------------------------------------------------- @@ -98,6 +166,9 @@ public NodeattrsRequest() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, NodeattrsResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java index 7095174f4..926e50a56 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java @@ -28,10 +28,13 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -61,13 +64,78 @@ */ public class PendingTasksRequest extends CatRequestBase { - public PendingTasksRequest() { + @Nullable + private final Boolean local; + + // --------------------------------------------------------------------------------------------- + + private PendingTasksRequest(Builder builder) { + + this.local = builder.local; + + } + + public static PendingTasksRequest of(Function> fn) { + return fn.apply(new Builder()).build(); } /** - * Singleton instance for {@link PendingTasksRequest}. + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} */ - public static final PendingTasksRequest _INSTANCE = new PendingTasksRequest(); + @Nullable + public final Boolean local() { + return this.local; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link PendingTasksRequest}. + */ + + public static class Builder extends CatRequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Boolean local; + + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link PendingTasksRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public PendingTasksRequest build() { + _checkSingleUse(); + + return new PendingTasksRequest(this); + } + } // --------------------------------------------------------------------------------------------- @@ -98,6 +166,9 @@ public PendingTasksRequest() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, PendingTasksResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java index ffd877211..0385c8a95 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java @@ -28,10 +28,13 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -61,13 +64,78 @@ */ public class PluginsRequest extends CatRequestBase { - public PluginsRequest() { + @Nullable + private final Boolean local; + + // --------------------------------------------------------------------------------------------- + + private PluginsRequest(Builder builder) { + + this.local = builder.local; + + } + + public static PluginsRequest of(Function> fn) { + return fn.apply(new Builder()).build(); } /** - * Singleton instance for {@link PluginsRequest}. + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} */ - public static final PluginsRequest _INSTANCE = new PluginsRequest(); + @Nullable + public final Boolean local() { + return this.local; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link PluginsRequest}. + */ + + public static class Builder extends CatRequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Boolean local; + + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link PluginsRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public PluginsRequest build() { + _checkSingleUse(); + + return new PluginsRequest(this); + } + } // --------------------------------------------------------------------------------------------- @@ -98,6 +166,9 @@ public PluginsRequest() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, PluginsResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java index a6f59451c..c5591ae86 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.List; @@ -73,12 +74,16 @@ public class SegmentsRequest extends CatRequestBase { private final List index; + @Nullable + private final Boolean local; + // --------------------------------------------------------------------------------------------- private SegmentsRequest(Builder builder) { this.bytes = builder.bytes; this.index = ApiTypeHelper.unmodifiable(builder.index); + this.local = builder.local; } @@ -107,6 +112,20 @@ public final List index() { return this.index; } + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + @Nullable + public final Boolean local() { + return this.local; + } + // --------------------------------------------------------------------------------------------- /** @@ -122,6 +141,9 @@ public static class Builder extends CatRequestBase.AbstractBuilder @Nullable private List index; + @Nullable + private Boolean local; + /** * The unit used to display byte values. *

    @@ -160,6 +182,20 @@ public final Builder index(String value, String... values) { return this; } + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + @Override protected Builder self() { return this; @@ -244,6 +280,9 @@ public SegmentsRequest build() { if (request.bytes != null) { params.put("bytes", request.bytes.jsonValue()); } + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, SegmentsResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java index 1267256b7..77aad9f0e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java @@ -28,6 +28,7 @@ import co.elastic.clients.transport.endpoints.SimpleEndpoint; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.Map; @@ -64,6 +65,9 @@ */ public class TemplatesRequest extends CatRequestBase { + @Nullable + private final Boolean local; + @Nullable private final String name; @@ -71,6 +75,7 @@ public class TemplatesRequest extends CatRequestBase { private TemplatesRequest(Builder builder) { + this.local = builder.local; this.name = builder.name; } @@ -79,6 +84,20 @@ public static TemplatesRequest of(Functiontrue, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + @Nullable + public final Boolean local() { + return this.local; + } + /** * The name of the template to return. Accepts wildcard expressions. If omitted, * all templates are returned. @@ -99,9 +118,26 @@ public final String name() { public static class Builder extends CatRequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Boolean local; + @Nullable private String name; + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + /** * The name of the template to return. Accepts wildcard expressions. If omitted, * all templates are returned. @@ -194,6 +230,9 @@ public TemplatesRequest build() { request -> { Map params = new HashMap<>(); params.put("format", "json"); + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, TemplatesResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java index d7637ab97..f44ee12a7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.HashMap; import java.util.List; @@ -68,6 +69,9 @@ */ public class ThreadPoolRequest extends CatRequestBase { + @Nullable + private final Boolean local; + private final List threadPoolPatterns; @Nullable @@ -77,6 +81,7 @@ public class ThreadPoolRequest extends CatRequestBase { private ThreadPoolRequest(Builder builder) { + this.local = builder.local; this.threadPoolPatterns = ApiTypeHelper.unmodifiable(builder.threadPoolPatterns); this.time = builder.time; @@ -86,6 +91,20 @@ public static ThreadPoolRequest of(Functiontrue, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + @Nullable + public final Boolean local() { + return this.local; + } + /** * A comma-separated list of thread pool names used to limit the request. * Accepts wildcard expressions. @@ -115,12 +134,29 @@ public final TimeUnit time() { public static class Builder extends CatRequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Boolean local; + @Nullable private List threadPoolPatterns; @Nullable private TimeUnit time; + /** + * If true, the request computes the list of selected nodes from + * the local cluster state. If false the list of selected nodes are + * computed from the cluster state of the master node. In both cases the + * coordinating node will send requests for further information to each selected + * node. + *

    + * API name: {@code local} + */ + public final Builder local(@Nullable Boolean value) { + this.local = value; + return this; + } + /** * A comma-separated list of thread pool names used to limit the request. * Accepts wildcard expressions. @@ -243,6 +279,9 @@ public ThreadPoolRequest build() { if (request.time != null) { params.put("time", request.time.jsonValue()); } + if (request.local != null) { + params.put("local", String.valueOf(request.local)); + } return params; }, SimpleEndpoint.emptyMap(), false, ThreadPoolResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollRequest.java index 31e9ba08f..b5dde92f7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollRequest.java @@ -57,7 +57,9 @@ // typedef: _global.clear_scroll.Request /** - * Clears the search context and results for a scrolling search. + * Clear a scrolling search. + *

    + * Clear the search context and results for a scrolling search. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeRequest.java index b867d3d3c..733803252 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeRequest.java @@ -56,7 +56,14 @@ // typedef: _global.close_point_in_time.Request /** - * Closes a point-in-time. + * Close a point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. A point in time is automatically closed when the + * keep_alive period has elapsed. However, keeping points in time + * has a cost; close them as soon as they are no longer required for search + * requests. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java index 1bc9ceb3c..49835f35f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java @@ -63,11 +63,14 @@ // typedef: _global.field_caps.Request /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. + * Get the field capabilities. + *

    + * Get information about the capabilities of fields among multiple indices. + *

    + * For data streams, the API returns field capabilities among the stream’s + * backing indices. It returns runtime fields like any other field. For example, + * a runtime field with a type of keyword is returned the same as any other + * field that belongs to the keyword family. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java index 08ef95662..de8f79bee 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java @@ -63,11 +63,27 @@ // typedef: _global.knn_search.Request /** - * Performs a kNN search. + * Run a knn search. + *

    + * NOTE: The kNN search API has been replaced by the knn option in + * the search API. + *

    + * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return + * the matching documents. Given a query vector, the API finds the k closest + * vectors and returns those documents as search hits. + *

    + * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like + * most kNN algorithms, HNSW is an approximate method that sacrifices result + * accuracy for improved search speed. This means the results returned are not + * always the true k closest neighbors. + *

    + * The kNN search API supports restricting the search using a filter. The search + * will return the top k documents that also match the filter query. * * @see API * specification - * @deprecated 8.4.0 + * @deprecated 8.4.0 The kNN search API has been replaced by the + * knn option in the search API. */ @Deprecated @JsonpDeserializable diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateRequest.java index 8f023d59d..ca78618da 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateRequest.java @@ -65,7 +65,7 @@ // typedef: _global.msearch_template.Request /** - * Runs multiple templated searches with a single request. + * Run multiple templated searches. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java index b0db07d74..1701d0acb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java @@ -63,14 +63,20 @@ // typedef: _global.open_point_in_time.Request /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when + * Open a point in time. + *

    + * A search request by default runs against the most recent visible data of the + * target indices, which is called point in time. Elasticsearch pit (point in + * time) is a lightweight view into the state of the data as it existed when * initiated. In some cases, it’s preferred to perform multiple search requests * using the same point in time. For example, if refreshes happen between * search_after requests, then the results of those requests might * not be consistent as changes happening between searches are only visible to * the more recent point in time. + *

    + * A point in time must be opened explicitly before being used in search + * requests. The keep_alive parameter tells Elasticsearch how long + * it should persist. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalRequest.java index d1a40f192..4d9ab42ee 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalRequest.java @@ -63,8 +63,10 @@ // typedef: _global.rank_eval.Request /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. + * Evaluate ranked search results. + *

    + * Evaluate the quality of ranked search results over a set of typical search + * queries. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateRequest.java index 702555736..9622a469b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateRequest.java @@ -59,7 +59,9 @@ // typedef: _global.render_search_template.Request /** - * Renders a search template as a search request body. + * Render a search template. + *

    + * Render a search template as a search request body. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java index e72cf5742..45afb9ef6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java @@ -71,7 +71,9 @@ // typedef: _global.search_mvt.Request /** - * Search a vector tile. Searches a vector tile for geospatial values. + * Search a vector tile. + *

    + * Search a vector tile for geospatial values. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java index 4a1b0b677..1d39e93b8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java @@ -87,9 +87,11 @@ // typedef: _global.search.Request /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. + * Run a search. + *

    + * Get search hits that match the query defined in the request. You can provide + * search queries using the q query string parameter or the request + * body. If both are specified, only the query parameter is used. * * @see API * specification @@ -166,9 +168,6 @@ public class SearchRequest extends RequestBase implements JsonpSerializable { @Nullable private final Long maxConcurrentShardRequests; - @Nullable - private final String minCompatibleShardNode; - @Nullable private final Double minScore; @@ -282,7 +281,6 @@ private SearchRequest(Builder builder) { this.knn = ApiTypeHelper.unmodifiable(builder.knn); this.lenient = builder.lenient; this.maxConcurrentShardRequests = builder.maxConcurrentShardRequests; - this.minCompatibleShardNode = builder.minCompatibleShardNode; this.minScore = builder.minScore; this.pit = builder.pit; this.postFilter = builder.postFilter; @@ -611,17 +609,6 @@ public final Long maxConcurrentShardRequests() { return this.maxConcurrentShardRequests; } - /** - * The minimum version of the node that can handle the request Any handling node - * with a lower version will fail the request. - *

    - * API name: {@code min_compatible_shard_node} - */ - @Nullable - public final String minCompatibleShardNode() { - return this.minCompatibleShardNode; - } - /** * Minimum _score for matching documents. Documents with a lower * _score are not included in the search results. @@ -1332,9 +1319,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Long maxConcurrentShardRequests; - @Nullable - private String minCompatibleShardNode; - @Nullable private Double minScore; @@ -1922,17 +1906,6 @@ public final Builder maxConcurrentShardRequests(@Nullable Long value) { return this; } - /** - * The minimum version of the node that can handle the request Any handling node - * with a lower version will fail the request. - *

    - * API name: {@code min_compatible_shard_node} - */ - public final Builder minCompatibleShardNode(@Nullable String value) { - this.minCompatibleShardNode = value; - return this; - } - /** * Minimum _score for matching documents. Documents with a lower * _score are not included in the search results. @@ -2771,9 +2744,6 @@ protected static void setupSearchRequestDeserializer(ObjectDeserializer + * Get the indices and shards that a search request would be run against. This + * information can be useful for working out issues or planning optimizations + * with routing and shard preferences. When filtered aliases are used, the + * filter is returned as part of the indices section. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateRequest.java index 64bc1b3c8..fcf729ccb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateRequest.java @@ -64,7 +64,7 @@ // typedef: _global.search_template.Request /** - * Runs a search with a search template. + * Run a search with a search template. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java index a5e09f675..6aa697c67 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java @@ -67,8 +67,10 @@ // typedef: _global.termvectors.Request /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. + * Get term vector information. + *

    + * Get information and statistics about terms in the fields of a particular + * document. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index 1f550796a..c680732e3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -16,9 +16,9 @@ '_global.bulk.UpdateAction': '_global/bulk/types.ts#L169-L205', '_global.bulk.UpdateOperation': '_global/bulk/types.ts#L136-L143', '_global.bulk.WriteOperation': '_global/bulk/types.ts#L109-L128', -'_global.clear_scroll.Request': '_global/clear_scroll/ClearScrollRequest.ts#L23-L46', +'_global.clear_scroll.Request': '_global/clear_scroll/ClearScrollRequest.ts#L23-L48', '_global.clear_scroll.Response': '_global/clear_scroll/ClearScrollResponse.ts#L22-L36', -'_global.close_point_in_time.Request': '_global/close_point_in_time/ClosePointInTimeRequest.ts#L23-L38', +'_global.close_point_in_time.Request': '_global/close_point_in_time/ClosePointInTimeRequest.ts#L23-L43', '_global.close_point_in_time.Response': '_global/close_point_in_time/ClosePointInTimeResponse.ts#L22-L36', '_global.count.Request': '_global/count/CountRequest.ts#L26-L121', '_global.count.Response': '_global/count/CountResponse.ts#L23-L25', @@ -39,7 +39,7 @@ '_global.explain.Request': '_global/explain/ExplainRequest.ts#L26-L107', '_global.explain.Response': '_global/explain/ExplainResponse.ts#L23-L31', '_global.field_caps.FieldCapability': '_global/field_caps/types.ts#L23-L81', -'_global.field_caps.Request': '_global/field_caps/FieldCapabilitiesRequest.ts#L25-L107', +'_global.field_caps.Request': '_global/field_caps/FieldCapabilitiesRequest.ts#L25-L111', '_global.field_caps.Response': '_global/field_caps/FieldCapabilitiesResponse.ts#L24-L35', '_global.get.GetResult': '_global/get/types.ts#L25-L36', '_global.get.Request': '_global/get/GetRequest.ts#L31-L101', @@ -91,7 +91,7 @@ '_global.index.Response': '_global/index/IndexResponse.ts#L22-L24', '_global.info.Request': '_global/info/RootNodeInfoRequest.ts#L22-L29', '_global.info.Response': '_global/info/RootNodeInfoResponse.ts#L23-L31', -'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L83', +'_global.knn_search.Request': '_global/knn_search/KnnSearchRequest.ts#L26-L96', '_global.knn_search.Response': '_global/knn_search/KnnSearchResponse.ts#L26-L54', '_global.knn_search._types.Query': '_global/knn_search/_types/Knn.ts#L24-L33', '_global.mget.MultiGetError': '_global/mget/types.ts#L62-L66', @@ -106,14 +106,14 @@ '_global.msearch.Request': '_global/msearch/MultiSearchRequest.ts#L25-L124', '_global.msearch.Response': '_global/msearch/MultiSearchResponse.ts#L25-L27', '_global.msearch.ResponseItem': '_global/msearch/types.ts#L211-L214', -'_global.msearch_template.Request': '_global/msearch_template/MultiSearchTemplateRequest.ts#L25-L71', +'_global.msearch_template.Request': '_global/msearch_template/MultiSearchTemplateRequest.ts#L25-L72', '_global.msearch_template.Response': '_global/msearch_template/MultiSearchTemplateResponse.ts#L22-L24', '_global.msearch_template.TemplateConfig': '_global/msearch_template/types.ts#L28-L54', '_global.mtermvectors.Operation': '_global/mtermvectors/types.ts#L35-L94', '_global.mtermvectors.Request': '_global/mtermvectors/MultiTermVectorsRequest.ts#L31-L116', '_global.mtermvectors.Response': '_global/mtermvectors/MultiTermVectorsResponse.ts#L22-L24', '_global.mtermvectors.TermVectorsResult': '_global/mtermvectors/types.ts#L96-L104', -'_global.open_point_in_time.Request': '_global/open_point_in_time/OpenPointInTimeRequest.ts#L25-L76', +'_global.open_point_in_time.Request': '_global/open_point_in_time/OpenPointInTimeRequest.ts#L25-L81', '_global.open_point_in_time.Response': '_global/open_point_in_time/OpenPointInTimeResponse.ts#L23-L29', '_global.ping.Request': '_global/ping/PingRequest.ts#L22-L30', '_global.put_script.Request': '_global/put_script/PutScriptRequest.ts#L25-L66', @@ -132,7 +132,7 @@ '_global.rank_eval.RankEvalMetricRecall': '_global/rank_eval/types.ts#L54-L58', '_global.rank_eval.RankEvalQuery': '_global/rank_eval/types.ts#L111-L117', '_global.rank_eval.RankEvalRequestItem': '_global/rank_eval/types.ts#L98-L109', -'_global.rank_eval.Request': '_global/rank_eval/RankEvalRequest.ts#L24-L62', +'_global.rank_eval.Request': '_global/rank_eval/RankEvalRequest.ts#L24-L64', '_global.rank_eval.Response': '_global/rank_eval/RankEvalResponse.ts#L26-L34', '_global.rank_eval.UnratedDocument': '_global/rank_eval/types.ts#L150-L153', '_global.reindex.Destination': '_global/reindex/types.ts#L39-L64', @@ -145,14 +145,14 @@ '_global.reindex_rethrottle.ReindexTask': '_global/reindex_rethrottle/types.ts#L87-L98', '_global.reindex_rethrottle.Request': '_global/reindex_rethrottle/ReindexRethrottleRequest.ts#L24-L46', '_global.reindex_rethrottle.Response': '_global/reindex_rethrottle/ReindexRethrottleResponse.ts#L23-L25', -'_global.render_search_template.Request': '_global/render_search_template/RenderSearchTemplateRequest.ts#L25-L56', +'_global.render_search_template.Request': '_global/render_search_template/RenderSearchTemplateRequest.ts#L25-L58', '_global.render_search_template.Response': '_global/render_search_template/RenderSearchTemplateResponse.ts#L23-L25', '_global.scripts_painless_execute.PainlessContextSetup': '_global/scripts_painless_execute/types.ts#L25-L39', '_global.scripts_painless_execute.Request': '_global/scripts_painless_execute/ExecutePainlessScriptRequest.ts#L24-L48', '_global.scripts_painless_execute.Response': '_global/scripts_painless_execute/ExecutePainlessScriptResponse.ts#L20-L24', '_global.scroll.Request': '_global/scroll/ScrollRequest.ts#L24-L75', '_global.scroll.Response': '_global/scroll/ScrollResponse.ts#L22-L24', -'_global.search.Request': '_global/search/SearchRequest.ts#L54-L529', +'_global.search.Request': '_global/search/SearchRequest.ts#L53-L525', '_global.search.Response': '_global/search/SearchResponse.ts#L34-L36', '_global.search.ResponseBody': '_global/search/SearchResponse.ts#L38-L54', '_global.search._types.AggregationBreakdown': '_global/search/_types/profile.ts#L26-L39', @@ -229,21 +229,21 @@ '_global.search._types.TotalHits': '_global/search/_types/hits.ts#L96-L99', '_global.search._types.TotalHitsRelation': '_global/search/_types/hits.ts#L101-L106', '_global.search._types.TrackHits': '_global/search/_types/hits.ts#L144-L152', -'_global.search_mvt.Request': '_global/search_mvt/SearchMvtRequest.ts#L33-L192', +'_global.search_mvt.Request': '_global/search_mvt/SearchMvtRequest.ts#L33-L193', '_global.search_mvt.Response': '_global/search_mvt/SearchMvtResponse.ts#L22-L25', '_global.search_mvt._types.GridAggregationType': '_global/search_mvt/_types/GridType.ts#L30-L33', '_global.search_mvt._types.GridType': '_global/search_mvt/_types/GridType.ts#L20-L28', -'_global.search_shards.Request': '_global/search_shards/SearchShardsRequest.ts#L23-L71', +'_global.search_shards.Request': '_global/search_shards/SearchShardsRequest.ts#L23-L76', '_global.search_shards.Response': '_global/search_shards/SearchShardsResponse.ts#L34-L40', '_global.search_shards.SearchShardsNodeAttributes': '_global/search_shards/SearchShardsResponse.ts#L42-L60', '_global.search_shards.ShardStoreIndex': '_global/search_shards/SearchShardsResponse.ts#L62-L65', -'_global.search_template.Request': '_global/search_template/SearchTemplateRequest.ts#L32-L135', +'_global.search_template.Request': '_global/search_template/SearchTemplateRequest.ts#L32-L136', '_global.search_template.Response': '_global/search_template/SearchTemplateResponse.ts#L30-L48', '_global.terms_enum.Request': '_global/terms_enum/TermsEnumRequest.ts#L26-L75', '_global.terms_enum.Response': '_global/terms_enum/TermsEnumResponse.ts#L22-L28', '_global.termvectors.FieldStatistics': '_global/termvectors/types.ts#L28-L32', '_global.termvectors.Filter': '_global/termvectors/types.ts#L49-L86', -'_global.termvectors.Request': '_global/termvectors/TermVectorsRequest.ts#L33-L121', +'_global.termvectors.Request': '_global/termvectors/TermVectorsRequest.ts#L33-L122', '_global.termvectors.Response': '_global/termvectors/TermVectorsResponse.ts#L25-L34', '_global.termvectors.Term': '_global/termvectors/types.ts#L34-L40', '_global.termvectors.TermVector': '_global/termvectors/types.ts#L23-L26', @@ -302,7 +302,7 @@ '_types.IndicesResponseBase': '_types/Base.ts#L87-L89', '_types.InlineGet': '_types/common.ts#L321-L334', '_types.KnnQuery': '_types/Knn.ts#L54-L72', -'_types.KnnRetriever': '_types/Retriever.ts#L58-L71', +'_types.KnnRetriever': '_types/Retriever.ts#L64-L77', '_types.KnnSearch': '_types/Knn.ts#L30-L52', '_types.LatLonGeoLocation': '_types/Geo.ts#L120-L129', '_types.Level': '_types/common.ts#L250-L254', @@ -318,7 +318,7 @@ '_types.PluginStats': '_types/Stats.ts#L180-L190', '_types.QueryCacheStats': '_types/Stats.ts#L192-L226', '_types.QueryVectorBuilder': '_types/Knn.ts#L74-L77', -'_types.RRFRetriever': '_types/Retriever.ts#L73-L80', +'_types.RRFRetriever': '_types/Retriever.ts#L79-L86', '_types.RankBase': '_types/Rank.ts#L30-L30', '_types.RankContainer': '_types/Rank.ts#L22-L28', '_types.RecoveryStats': '_types/Stats.ts#L228-L233', @@ -329,9 +329,10 @@ '_types.RequestCacheStats': '_types/Stats.ts#L244-L250', '_types.Result': '_types/Result.ts#L20-L26', '_types.Retries': '_types/Retries.ts#L22-L25', -'_types.RetrieverBase': '_types/Retriever.ts#L38-L41', -'_types.RetrieverContainer': '_types/Retriever.ts#L26-L36', +'_types.RetrieverBase': '_types/Retriever.ts#L44-L49', +'_types.RetrieverContainer': '_types/Retriever.ts#L28-L42', '_types.RrfRank': '_types/Rank.ts#L32-L37', +'_types.RuleRetriever': '_types/Retriever.ts#L101-L110', '_types.ScoreSort': '_types/sort.ts#L54-L56', '_types.Script': '_types/Scripting.ts#L73-L97', '_types.ScriptField': '_types/Scripting.ts#L99-L102', @@ -352,12 +353,13 @@ '_types.SortMode': '_types/sort.ts#L108-L117', '_types.SortOptions': '_types/sort.ts#L86-L96', '_types.SortOrder': '_types/sort.ts#L119-L128', -'_types.StandardRetriever': '_types/Retriever.ts#L43-L56', +'_types.StandardRetriever': '_types/Retriever.ts#L51-L62', '_types.StoreStats': '_types/Stats.ts#L368-L395', '_types.StoredScript': '_types/Scripting.ts#L47-L57', '_types.SuggestMode': '_types/common.ts#L283-L296', '_types.TaskFailure': '_types/Errors.ts#L68-L73', '_types.TextEmbedding': '_types/Knn.ts#L79-L82', +'_types.TextSimilarityReranker': '_types/Retriever.ts#L88-L99', '_types.ThreadType': '_types/common.ts#L298-L304', '_types.TimeUnit': '_types/Time.ts#L69-L77', '_types.TopLeftBottomRightGeoBounds': '_types/Geo.ts#L161-L164', @@ -988,28 +990,28 @@ 'async_search._types.AsyncSearch': 'async_search/_types/AsyncSearch.ts#L30-L56', 'async_search._types.AsyncSearchDocumentResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L50-L54', 'async_search._types.AsyncSearchResponseBase': 'async_search/_types/AsyncSearchResponseBase.ts#L24-L49', -'async_search.delete.Request': 'async_search/delete/AsyncSearchDeleteRequest.ts#L23-L39', +'async_search.delete.Request': 'async_search/delete/AsyncSearchDeleteRequest.ts#L23-L40', 'async_search.delete.Response': 'async_search/delete/AsyncSearchDeleteResponse.ts#L22-L24', -'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L56', +'async_search.get.Request': 'async_search/get/AsyncSearchGetRequest.ts#L24-L57', 'async_search.get.Response': 'async_search/get/AsyncSearchGetResponse.ts#L22-L24', -'async_search.status.Request': 'async_search/status/AsyncSearchStatusRequest.ts#L23-L38', +'async_search.status.Request': 'async_search/status/AsyncSearchStatusRequest.ts#L23-L39', 'async_search.status.Response': 'async_search/status/AsyncSearchStatusResponse.ts#L39-L41', 'async_search.status.StatusResponseBase': 'async_search/status/AsyncSearchStatusResponse.ts#L24-L38', -'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L55-L289', +'async_search.submit.Request': 'async_search/submit/AsyncSearchSubmitRequest.ts#L54-L288', 'async_search.submit.Response': 'async_search/submit/AsyncSearchSubmitResponse.ts#L22-L24', -'autoscaling._types.AutoscalingPolicy': 'autoscaling/_types/AutoscalingPolicy.ts#L23-L27', -'autoscaling.delete_autoscaling_policy.Request': 'autoscaling/delete_autoscaling_policy/DeleteAutoscalingPolicyRequest.ts#L23-L32', +'autoscaling._types.AutoscalingPolicy': 'autoscaling/_types/AutoscalingPolicy.ts#L23-L30', +'autoscaling.delete_autoscaling_policy.Request': 'autoscaling/delete_autoscaling_policy/DeleteAutoscalingPolicyRequest.ts#L23-L36', 'autoscaling.delete_autoscaling_policy.Response': 'autoscaling/delete_autoscaling_policy/DeleteAutoscalingPolicyResponse.ts#L22-L24', 'autoscaling.get_autoscaling_capacity.AutoscalingCapacity': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L38-L41', 'autoscaling.get_autoscaling_capacity.AutoscalingDecider': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L52-L56', 'autoscaling.get_autoscaling_capacity.AutoscalingDeciders': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L31-L36', 'autoscaling.get_autoscaling_capacity.AutoscalingNode': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L48-L50', 'autoscaling.get_autoscaling_capacity.AutoscalingResources': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L43-L46', -'autoscaling.get_autoscaling_capacity.Request': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityRequest.ts#L22-L27', +'autoscaling.get_autoscaling_capacity.Request': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityRequest.ts#L22-L42', 'autoscaling.get_autoscaling_capacity.Response': 'autoscaling/get_autoscaling_capacity/GetAutoscalingCapacityResponse.ts#L25-L29', -'autoscaling.get_autoscaling_policy.Request': 'autoscaling/get_autoscaling_policy/GetAutoscalingPolicyRequest.ts#L23-L32', +'autoscaling.get_autoscaling_policy.Request': 'autoscaling/get_autoscaling_policy/GetAutoscalingPolicyRequest.ts#L23-L36', 'autoscaling.get_autoscaling_policy.Response': 'autoscaling/get_autoscaling_policy/GetAutoscalingPolicyResponse.ts#L22-L24', -'autoscaling.put_autoscaling_policy.Request': 'autoscaling/put_autoscaling_policy/PutAutoscalingPolicyRequest.ts#L24-L35', +'autoscaling.put_autoscaling_policy.Request': 'autoscaling/put_autoscaling_policy/PutAutoscalingPolicyRequest.ts#L24-L39', 'autoscaling.put_autoscaling_policy.Response': 'autoscaling/put_autoscaling_policy/PutAutoscalingPolicyResponse.ts#L22-L24', 'cat._types.CatAnomalyDetectorColumn': 'cat/_types/CatBase.ts#L32-L401', 'cat._types.CatDatafeedColumn': 'cat/_types/CatBase.ts#L405-L471', @@ -1021,10 +1023,10 @@ 'cat.aliases.Request': 'cat/aliases/CatAliasesRequest.ts#L23-L43', 'cat.aliases.Response': 'cat/aliases/CatAliasesResponse.ts#L22-L24', 'cat.allocation.AllocationRecord': 'cat/allocation/types.ts#L25-L99', -'cat.allocation.Request': 'cat/allocation/CatAllocationRequest.ts#L23-L41', +'cat.allocation.Request': 'cat/allocation/CatAllocationRequest.ts#L23-L49', 'cat.allocation.Response': 'cat/allocation/CatAllocationResponse.ts#L22-L24', 'cat.component_templates.ComponentTemplate': 'cat/component_templates/types.ts#L20-L28', -'cat.component_templates.Request': 'cat/component_templates/CatComponentTemplatesRequest.ts#L22-L39', +'cat.component_templates.Request': 'cat/component_templates/CatComponentTemplatesRequest.ts#L22-L49', 'cat.component_templates.Response': 'cat/component_templates/CatComponentTemplatesResponse.ts#L22-L24', 'cat.count.CountRecord': 'cat/count/types.ts#L23-L39', 'cat.count.Request': 'cat/count/CatCountRequest.ts#L23-L44', @@ -1042,7 +1044,7 @@ 'cat.indices.Request': 'cat/indices/CatIndicesRequest.ts#L24-L77', 'cat.indices.Response': 'cat/indices/CatIndicesResponse.ts#L22-L24', 'cat.master.MasterRecord': 'cat/master/types.ts#L20-L39', -'cat.master.Request': 'cat/master/CatMasterRequest.ts#L22-L31', +'cat.master.Request': 'cat/master/CatMasterRequest.ts#L22-L42', 'cat.master.Response': 'cat/master/CatMasterResponse.ts#L22-L24', 'cat.ml_data_frame_analytics.DataFrameAnalyticsRecord': 'cat/ml_data_frame_analytics/types.ts#L22-L102', 'cat.ml_data_frame_analytics.Request': 'cat/ml_data_frame_analytics/CatDataFrameAnalyticsRequest.ts#L24-L59', @@ -1057,16 +1059,16 @@ 'cat.ml_trained_models.Response': 'cat/ml_trained_models/CatTrainedModelsResponse.ts#L22-L24', 'cat.ml_trained_models.TrainedModelsRecord': 'cat/ml_trained_models/types.ts#L23-L115', 'cat.nodeattrs.NodeAttributesRecord': 'cat/nodeattrs/types.ts#L20-L55', -'cat.nodeattrs.Request': 'cat/nodeattrs/CatNodeAttributesRequest.ts#L22-L31', +'cat.nodeattrs.Request': 'cat/nodeattrs/CatNodeAttributesRequest.ts#L22-L42', 'cat.nodeattrs.Response': 'cat/nodeattrs/CatNodeAttributesResponse.ts#L22-L24', 'cat.nodes.NodesRecord': 'cat/nodes/types.ts#L23-L542', 'cat.nodes.Request': 'cat/nodes/CatNodesRequest.ts#L23-L49', 'cat.nodes.Response': 'cat/nodes/CatNodesResponse.ts#L22-L24', 'cat.pending_tasks.PendingTasksRecord': 'cat/pending_tasks/types.ts#L20-L41', -'cat.pending_tasks.Request': 'cat/pending_tasks/CatPendingTasksRequest.ts#L22-L31', +'cat.pending_tasks.Request': 'cat/pending_tasks/CatPendingTasksRequest.ts#L22-L42', 'cat.pending_tasks.Response': 'cat/pending_tasks/CatPendingTasksResponse.ts#L22-L24', 'cat.plugins.PluginsRecord': 'cat/plugins/types.ts#L22-L52', -'cat.plugins.Request': 'cat/plugins/CatPluginsRequest.ts#L22-L31', +'cat.plugins.Request': 'cat/plugins/CatPluginsRequest.ts#L22-L42', 'cat.plugins.Response': 'cat/plugins/CatPluginsResponse.ts#L22-L24', 'cat.recovery.RecoveryRecord': 'cat/recovery/types.ts#L24-L155', 'cat.recovery.Request': 'cat/recovery/CatRecoveryRequest.ts#L23-L59', @@ -1074,7 +1076,7 @@ 'cat.repositories.RepositoriesRecord': 'cat/repositories/types.ts#L20-L31', 'cat.repositories.Request': 'cat/repositories/CatRepositoriesRequest.ts#L22-L31', 'cat.repositories.Response': 'cat/repositories/CatRepositoriesResponse.ts#L22-L24', -'cat.segments.Request': 'cat/segments/CatSegmentsRequest.ts#L23-L49', +'cat.segments.Request': 'cat/segments/CatSegmentsRequest.ts#L23-L57', 'cat.segments.Response': 'cat/segments/CatSegmentsResponse.ts#L22-L24', 'cat.segments.SegmentsRecord': 'cat/segments/types.ts#L22-L107', 'cat.shards.Request': 'cat/shards/CatShardsRequest.ts#L23-L49', @@ -1086,10 +1088,10 @@ 'cat.tasks.Request': 'cat/tasks/CatTasksRequest.ts#L22-L47', 'cat.tasks.Response': 'cat/tasks/CatTasksResponse.ts#L22-L24', 'cat.tasks.TasksRecord': 'cat/tasks/types.ts#L22-L101', -'cat.templates.Request': 'cat/templates/CatTemplatesRequest.ts#L23-L41', +'cat.templates.Request': 'cat/templates/CatTemplatesRequest.ts#L23-L51', 'cat.templates.Response': 'cat/templates/CatTemplatesResponse.ts#L22-L24', 'cat.templates.TemplatesRecord': 'cat/templates/types.ts#L22-L48', -'cat.thread_pool.Request': 'cat/thread_pool/CatThreadPoolRequest.ts#L24-L48', +'cat.thread_pool.Request': 'cat/thread_pool/CatThreadPoolRequest.ts#L24-L56', 'cat.thread_pool.Response': 'cat/thread_pool/CatThreadPoolResponse.ts#L22-L24', 'cat.thread_pool.ThreadPoolRecord': 'cat/thread_pool/types.ts#L22-L124', 'cat.transforms.Request': 'cat/transforms/CatTransformsRequest.ts#L25-L78', @@ -1352,7 +1354,7 @@ 'features.get_features.Response': 'features/get_features/GetFeaturesResponse.ts#L22-L26', 'features.reset_features.Request': 'features/reset_features/ResetFeaturesRequest.ts#L22-L27', 'features.reset_features.Response': 'features/reset_features/ResetFeaturesResponse.ts#L22-L26', -'fleet.search.Request': 'fleet/search/SearchRequest.ts#L55-L260', +'fleet.search.Request': 'fleet/search/SearchRequest.ts#L54-L258', 'fleet.search.Response': 'fleet/search/SearchResponse.ts#L33-L50', 'graph._types.Connection': 'graph/_types/Connection.ts#L22-L27', 'graph._types.ExploreControls': 'graph/_types/ExploreControls.ts#L24-L49', @@ -1530,7 +1532,7 @@ 'indices.downsample.Request': 'indices/downsample/Request.ts#L24-L44', 'indices.downsample.Response': 'indices/downsample/Response.ts#L22-L25', 'indices.exists.Request': 'indices/exists/IndicesExistsRequest.ts#L23-L73', -'indices.exists_alias.Request': 'indices/exists_alias/IndicesExistsAliasRequest.ts#L23-L68', +'indices.exists_alias.Request': 'indices/exists_alias/IndicesExistsAliasRequest.ts#L23-L63', 'indices.exists_index_template.Request': 'indices/exists_index_template/IndicesExistsIndexTemplateRequest.ts#L24-L41', 'indices.exists_template.Request': 'indices/exists_template/IndicesExistsTemplateRequest.ts#L24-L39', 'indices.explain_data_lifecycle.DataStreamLifecycleExplain': 'indices/explain_data_lifecycle/IndicesExplainDataLifecycleResponse.ts#L31-L41', @@ -1553,7 +1555,7 @@ 'indices.get.Request': 'indices/get/IndicesGetRequest.ts#L24-L89', 'indices.get.Response': 'indices/get/IndicesGetResponse.ts#L24-L27', 'indices.get_alias.IndexAliases': 'indices/get_alias/IndicesGetAliasResponse.ts#L37-L39', -'indices.get_alias.Request': 'indices/get_alias/IndicesGetAliasRequest.ts#L23-L71', +'indices.get_alias.Request': 'indices/get_alias/IndicesGetAliasRequest.ts#L23-L66', 'indices.get_alias.Response': 'indices/get_alias/IndicesGetAliasResponse.ts#L26-L35', 'indices.get_data_lifecycle.DataStreamWithLifecycle': 'indices/get_data_lifecycle/IndicesGetDataLifecycleResponse.ts#L27-L30', 'indices.get_data_lifecycle.Request': 'indices/get_data_lifecycle/IndicesGetDataLifecycleRequest.ts#L24-L60', @@ -1626,7 +1628,7 @@ 'indices.rollover.Response': 'indices/rollover/IndicesRolloverResponse.ts#L22-L32', 'indices.rollover.RolloverConditions': 'indices/rollover/types.ts#L24-L40', 'indices.segments.IndexSegment': 'indices/segments/types.ts#L24-L26', -'indices.segments.Request': 'indices/segments/IndicesSegmentsRequest.ts#L23-L64', +'indices.segments.Request': 'indices/segments/IndicesSegmentsRequest.ts#L23-L59', 'indices.segments.Response': 'indices/segments/IndicesSegmentsResponse.ts#L24-L29', 'indices.segments.Segment': 'indices/segments/types.ts#L28-L38', 'indices.segments.ShardSegmentRouting': 'indices/segments/types.ts#L40-L44', @@ -1696,65 +1698,66 @@ 'inference.inference.Response': 'inference/inference/InferenceResponse.ts#L22-L24', 'inference.put.Request': 'inference/put/PutRequest.ts#L25-L44', 'inference.put.Response': 'inference/put/PutResponse.ts#L22-L24', -'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L324-L339', -'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L341-L382', -'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L515-L531', -'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L533-L556', -'ingest._types.CommunityIDProcessor': 'ingest/_types/Processors.ts#L558-L619', -'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L632-L652', -'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L621-L630', -'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L654-L687', +'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L328-L343', +'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L345-L386', +'ingest._types.BytesProcessor': 'ingest/_types/Processors.ts#L555-L571', +'ingest._types.CircleProcessor': 'ingest/_types/Processors.ts#L573-L596', +'ingest._types.CommunityIDProcessor': 'ingest/_types/Processors.ts#L598-L659', +'ingest._types.ConvertProcessor': 'ingest/_types/Processors.ts#L672-L692', +'ingest._types.ConvertType': 'ingest/_types/Processors.ts#L661-L670', +'ingest._types.CsvProcessor': 'ingest/_types/Processors.ts#L694-L727', 'ingest._types.DatabaseConfiguration': 'ingest/_types/Database.ts#L22-L29', -'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L689-L727', -'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L729-L762', -'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L764-L783', -'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L785-L803', -'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L805-L805', -'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L807-L846', -'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L848-L854', -'ingest._types.FingerprintDigest': 'ingest/_types/Processors.ts#L856-L862', -'ingest._types.FingerprintProcessor': 'ingest/_types/Processors.ts#L864-L892', -'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L894-L908', -'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L384-L425', -'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L433-L436', -'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L427-L431', -'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L438-L472', -'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L910-L941', -'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L943-L967', -'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L969-L985', -'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L1008-L1020', -'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L1035-L1061', -'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L1022-L1033', -'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L987-L1006', -'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L1063-L1078', -'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L1080-L1109', -'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L1111-L1116', -'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L1118-L1170', -'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1172-L1188', +'ingest._types.DateIndexNameProcessor': 'ingest/_types/Processors.ts#L729-L767', +'ingest._types.DateProcessor': 'ingest/_types/Processors.ts#L769-L802', +'ingest._types.DissectProcessor': 'ingest/_types/Processors.ts#L804-L823', +'ingest._types.DotExpanderProcessor': 'ingest/_types/Processors.ts#L825-L843', +'ingest._types.DropProcessor': 'ingest/_types/Processors.ts#L845-L845', +'ingest._types.EnrichProcessor': 'ingest/_types/Processors.ts#L847-L886', +'ingest._types.FailProcessor': 'ingest/_types/Processors.ts#L888-L894', +'ingest._types.FingerprintDigest': 'ingest/_types/Processors.ts#L896-L902', +'ingest._types.FingerprintProcessor': 'ingest/_types/Processors.ts#L904-L932', +'ingest._types.ForeachProcessor': 'ingest/_types/Processors.ts#L934-L948', +'ingest._types.GeoGridProcessor': 'ingest/_types/Processors.ts#L388-L429', +'ingest._types.GeoGridTargetFormat': 'ingest/_types/Processors.ts#L437-L440', +'ingest._types.GeoGridTileType': 'ingest/_types/Processors.ts#L431-L435', +'ingest._types.GeoIpProcessor': 'ingest/_types/Processors.ts#L442-L476', +'ingest._types.GrokProcessor': 'ingest/_types/Processors.ts#L950-L981', +'ingest._types.GsubProcessor': 'ingest/_types/Processors.ts#L983-L1007', +'ingest._types.HtmlStripProcessor': 'ingest/_types/Processors.ts#L1009-L1025', +'ingest._types.InferenceConfig': 'ingest/_types/Processors.ts#L1048-L1060', +'ingest._types.InferenceConfigClassification': 'ingest/_types/Processors.ts#L1075-L1101', +'ingest._types.InferenceConfigRegression': 'ingest/_types/Processors.ts#L1062-L1073', +'ingest._types.InferenceProcessor': 'ingest/_types/Processors.ts#L1027-L1046', +'ingest._types.IpLocationProcessor': 'ingest/_types/Processors.ts#L478-L512', +'ingest._types.JoinProcessor': 'ingest/_types/Processors.ts#L1103-L1118', +'ingest._types.JsonProcessor': 'ingest/_types/Processors.ts#L1120-L1149', +'ingest._types.JsonProcessorConflictStrategy': 'ingest/_types/Processors.ts#L1151-L1156', +'ingest._types.KeyValueProcessor': 'ingest/_types/Processors.ts#L1158-L1210', +'ingest._types.LowercaseProcessor': 'ingest/_types/Processors.ts#L1212-L1228', 'ingest._types.Maxmind': 'ingest/_types/Database.ts#L31-L33', -'ingest._types.NetworkDirectionProcessor': 'ingest/_types/Processors.ts#L1190-L1224', +'ingest._types.NetworkDirectionProcessor': 'ingest/_types/Processors.ts#L1230-L1264', 'ingest._types.Pipeline': 'ingest/_types/Pipeline.ts#L23-L51', -'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1226-L1237', -'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L299-L322', -'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L297', -'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1239-L1280', -'ingest._types.RegisteredDomainProcessor': 'ingest/_types/Processors.ts#L1282-L1298', -'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1300-L1314', -'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1316-L1332', -'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1334-L1362', -'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1364-L1384', -'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1386-L1420', -'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1422-L1431', -'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1433-L1436', -'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1438-L1454', -'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1456-L1481', -'ingest._types.TerminateProcessor': 'ingest/_types/Processors.ts#L1483-L1483', -'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1485-L1501', -'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1503-L1519', -'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1539-L1565', -'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1521-L1537', -'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L474-L505', -'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L507-L513', +'ingest._types.PipelineProcessor': 'ingest/_types/Processors.ts#L1266-L1277', +'ingest._types.ProcessorBase': 'ingest/_types/Processors.ts#L303-L326', +'ingest._types.ProcessorContainer': 'ingest/_types/Processors.ts#L27-L301', +'ingest._types.RedactProcessor': 'ingest/_types/Processors.ts#L1279-L1320', +'ingest._types.RegisteredDomainProcessor': 'ingest/_types/Processors.ts#L1322-L1338', +'ingest._types.RemoveProcessor': 'ingest/_types/Processors.ts#L1340-L1354', +'ingest._types.RenameProcessor': 'ingest/_types/Processors.ts#L1356-L1372', +'ingest._types.RerouteProcessor': 'ingest/_types/Processors.ts#L1374-L1402', +'ingest._types.ScriptProcessor': 'ingest/_types/Processors.ts#L1404-L1424', +'ingest._types.SetProcessor': 'ingest/_types/Processors.ts#L1426-L1460', +'ingest._types.SetSecurityUserProcessor': 'ingest/_types/Processors.ts#L1462-L1471', +'ingest._types.ShapeType': 'ingest/_types/Processors.ts#L1473-L1476', +'ingest._types.SortProcessor': 'ingest/_types/Processors.ts#L1478-L1494', +'ingest._types.SplitProcessor': 'ingest/_types/Processors.ts#L1496-L1521', +'ingest._types.TerminateProcessor': 'ingest/_types/Processors.ts#L1523-L1523', +'ingest._types.TrimProcessor': 'ingest/_types/Processors.ts#L1525-L1541', +'ingest._types.UppercaseProcessor': 'ingest/_types/Processors.ts#L1543-L1559', +'ingest._types.UriPartsProcessor': 'ingest/_types/Processors.ts#L1579-L1605', +'ingest._types.UrlDecodeProcessor': 'ingest/_types/Processors.ts#L1561-L1577', +'ingest._types.UserAgentProcessor': 'ingest/_types/Processors.ts#L514-L545', +'ingest._types.UserAgentProperty': 'ingest/_types/Processors.ts#L547-L553', 'ingest.delete_geoip_database.Request': 'ingest/delete_geoip_database/DeleteGeoipDatabaseRequest.ts#L24-L48', 'ingest.delete_geoip_database.Response': 'ingest/delete_geoip_database/DeleteGeoipDatabaseResponse.ts#L22-L24', 'ingest.delete_pipeline.Request': 'ingest/delete_pipeline/DeletePipelineRequest.ts#L24-L52', @@ -2388,6 +2391,7 @@ 'searchable_snapshots.mount.Response': 'searchable_snapshots/mount/SearchableSnapshotsMountResponse.ts#L22-L26', 'searchable_snapshots.stats.Request': 'searchable_snapshots/stats/SearchableSnapshotsStatsRequest.ts#L24-L35', 'searchable_snapshots.stats.Response': 'searchable_snapshots/stats/SearchableSnapshotsStatsResponse.ts#L22-L27', +'security._types.Access': 'security/_types/Access.ts#L22-L31', 'security._types.ApiKey': 'security/_types/ApiKey.ts#L26-L88', 'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L372-L374', 'security._types.ApplicationPrivileges': 'security/_types/Privileges.ts#L27-L40', @@ -2405,6 +2409,7 @@ 'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L376-L378', 'security._types.RealmInfo': 'security/_types/RealmInfo.ts#L22-L25', 'security._types.RemoteIndicesPrivileges': 'security/_types/Privileges.ts#L225-L253', +'security._types.ReplicationAccess': 'security/_types/Privileges.ts#L380-L385', 'security._types.RoleDescriptor': 'security/_types/RoleDescriptor.ts#L31-L64', 'security._types.RoleDescriptorRead': 'security/_types/RoleDescriptor.ts#L66-L98', 'security._types.RoleMapping': 'security/_types/RoleMapping.ts#L25-L33', @@ -2413,6 +2418,7 @@ 'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L321-L322', 'security._types.RoleTemplateQuery': 'security/_types/Privileges.ts#L289-L299', 'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L301-L319', +'security._types.SearchAccess': 'security/_types/Privileges.ts#L387-L407', 'security._types.TemplateFormat': 'security/_types/RoleTemplate.ts#L22-L25', 'security._types.User': 'security/_types/User.ts#L23-L31', 'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L255-L277', @@ -2443,6 +2449,8 @@ 'security.clear_cached_service_tokens.Response': 'security/clear_cached_service_tokens/ClearCachedServiceTokensResponse.ts#L25-L32', 'security.create_api_key.Request': 'security/create_api_key/SecurityCreateApiKeyRequest.ts#L26-L60', 'security.create_api_key.Response': 'security/create_api_key/SecurityCreateApiKeyResponse.ts#L23-L50', +'security.create_cross_cluster_api_key.Request': 'security/create_cross_cluster_api_key/CreateCrossClusterApiKeyRequest.ts#L25-L73', +'security.create_cross_cluster_api_key.Response': 'security/create_cross_cluster_api_key/CreateCrossClusterApiKeyResponse.ts#L23-L48', 'security.create_service_token.Request': 'security/create_service_token/CreateServiceTokenRequest.ts#L23-L41', 'security.create_service_token.Response': 'security/create_service_token/CreateServiceTokenResponse.ts#L22-L27', 'security.create_service_token.Token': 'security/create_service_token/types.ts#L22-L25', @@ -2557,6 +2565,8 @@ 'security.suggest_user_profiles.TotalUserProfiles': 'security/suggest_user_profiles/Response.ts#L24-L27', 'security.update_api_key.Request': 'security/update_api_key/Request.ts#L26-L67', 'security.update_api_key.Response': 'security/update_api_key/Response.ts#L20-L28', +'security.update_cross_cluster_api_key.Request': 'security/update_cross_cluster_api_key/UpdateCrossClusterApiKeyRequest.ts#L25-L61', +'security.update_cross_cluster_api_key.Response': 'security/update_cross_cluster_api_key/UpdateCrossClusterApiKeyResponse.ts#L20-L28', 'security.update_user_profile_data.Request': 'security/update_user_profile_data/Request.ts#L27-L72', 'security.update_user_profile_data.Response': 'security/update_user_profile_data/Response.ts#L22-L24', 'shutdown._types.Type': 'shutdown/_types/types.ts#L20-L24', @@ -2865,8 +2875,8 @@ 'watcher.stop.Request': 'watcher/stop/WatcherStopRequest.ts#L22-L26', 'watcher.stop.Response': 'watcher/stop/WatcherStopResponse.ts#L22-L24', 'xpack.info.BuildInformation': 'xpack/info/types.ts#L24-L27', -'xpack.info.Feature': 'xpack/info/types.ts#L84-L89', -'xpack.info.Features': 'xpack/info/types.ts#L42-L82', +'xpack.info.Feature': 'xpack/info/types.ts#L85-L90', +'xpack.info.Features': 'xpack/info/types.ts#L42-L83', 'xpack.info.MinimalLicenseInformation': 'xpack/info/types.ts#L34-L40', 'xpack.info.NativeCodeInformation': 'xpack/info/types.ts#L29-L32', 'xpack.info.Request': 'xpack/info/XPackInfoRequest.ts#L22-L42', @@ -2943,10 +2953,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/88226e10e8f12f9165e8e7871840765042f55ba8/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/55d431ab4ffe02043ba6f6a41d27f14542f4c792/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java index 898fa6d7f..7922bedde 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java @@ -158,9 +158,6 @@ public class FleetSearchRequest extends RequestBase implements JsonpSerializable @Nullable private final Long maxConcurrentShardRequests; - @Nullable - private final String minCompatibleShardNode; - @Nullable private final Double minScore; @@ -268,7 +265,6 @@ private FleetSearchRequest(Builder builder) { this.indicesBoost = ApiTypeHelper.unmodifiable(builder.indicesBoost); this.lenient = builder.lenient; this.maxConcurrentShardRequests = builder.maxConcurrentShardRequests; - this.minCompatibleShardNode = builder.minCompatibleShardNode; this.minScore = builder.minScore; this.pit = builder.pit; this.postFilter = builder.postFilter; @@ -520,14 +516,6 @@ public final Long maxConcurrentShardRequests() { return this.maxConcurrentShardRequests; } - /** - * API name: {@code min_compatible_shard_node} - */ - @Nullable - public final String minCompatibleShardNode() { - return this.minCompatibleShardNode; - } - /** * Minimum _score for matching documents. Documents with a lower _score are not * included in the search results. @@ -1132,9 +1120,6 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private Long maxConcurrentShardRequests; - @Nullable - private String minCompatibleShardNode; - @Nullable private Double minScore; @@ -1583,14 +1568,6 @@ public final Builder maxConcurrentShardRequests(@Nullable Long value) { return this; } - /** - * API name: {@code min_compatible_shard_node} - */ - public final Builder minCompatibleShardNode(@Nullable String value) { - this.minCompatibleShardNode = value; - return this; - } - /** * Minimum _score for matching documents. Documents with a lower _score are not * included in the search results. @@ -2289,9 +2266,6 @@ protected static void setupFleetSearchRequestDeserializer(ObjectDeserializer index; - @Nullable - private final Boolean local; - private final List name; // --------------------------------------------------------------------------------------------- @@ -91,7 +88,6 @@ private ExistsAliasRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); } @@ -149,17 +145,6 @@ public final List index() { return this.index; } - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - /** * Required - Comma-separated list of aliases to check. Supports wildcards * (*). @@ -191,9 +176,6 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private List index; - @Nullable - private Boolean local; - private List name; /** @@ -282,17 +264,6 @@ public final Builder index(String value, String... values) { return this; } - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - /** * Required - Comma-separated list of aliases to check. Supports wildcards * (*). @@ -417,9 +388,6 @@ public ExistsAliasRequest build() { if (request.allowNoIndices != null) { params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } return params; }, SimpleEndpoint.emptyMap(), false, null); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java index 1c2195539..d0337c73d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java @@ -77,9 +77,6 @@ public class GetAliasRequest extends RequestBase { private final List index; - @Nullable - private final Boolean local; - private final List name; // --------------------------------------------------------------------------------------------- @@ -90,7 +87,6 @@ private GetAliasRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; this.name = ApiTypeHelper.unmodifiable(builder.name); } @@ -148,17 +144,6 @@ public final List index() { return this.index; } - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - /** * Comma-separated list of aliases to retrieve. Supports wildcards * (*). To retrieve all aliases, omit this parameter or use @@ -189,9 +174,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private List index; - @Nullable - private Boolean local; - @Nullable private List name; @@ -281,17 +263,6 @@ public final Builder index(String value, String... values) { return this; } - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - /** * Comma-separated list of aliases to retrieve. Supports wildcards * (*). To retrieve all aliases, omit this parameter or use @@ -437,9 +408,6 @@ public GetAliasRequest build() { if (request.allowNoIndices != null) { params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } return params; }, SimpleEndpoint.emptyMap(), false, GetAliasResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java index 4f980c067..0de776681 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java @@ -77,9 +77,6 @@ public class SegmentsRequest extends RequestBase { private final List index; - @Nullable - private final Boolean verbose; - // --------------------------------------------------------------------------------------------- private SegmentsRequest(Builder builder) { @@ -88,7 +85,6 @@ private SegmentsRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); - this.verbose = builder.verbose; } @@ -145,16 +141,6 @@ public final List index() { return this.index; } - /** - * If true, the request returns a verbose response. - *

    - * API name: {@code verbose} - */ - @Nullable - public final Boolean verbose() { - return this.verbose; - } - // --------------------------------------------------------------------------------------------- /** @@ -174,9 +160,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private List index; - @Nullable - private Boolean verbose; - /** * If false, the request returns an error if any wildcard * expression, index alias, or _all value targets only missing or @@ -263,16 +246,6 @@ public final Builder index(String value, String... values) { return this; } - /** - * If true, the request returns a verbose response. - *

    - * API name: {@code verbose} - */ - public final Builder verbose(@Nullable Boolean value) { - this.verbose = value; - return this; - } - @Override protected Builder self() { return this; @@ -361,9 +334,6 @@ public SegmentsRequest build() { if (request.allowNoIndices != null) { params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); } - if (request.verbose != null) { - params.put("verbose", String.valueOf(request.verbose)); - } return params; }, SimpleEndpoint.emptyMap(), false, SegmentsResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/IpLocationProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/IpLocationProcessor.java new file mode 100644 index 000000000..7d15c90b9 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/IpLocationProcessor.java @@ -0,0 +1,394 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ingest; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ingest._types.IpLocationProcessor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class IpLocationProcessor extends ProcessorBase implements ProcessorVariant { + @Nullable + private final String databaseFile; + + private final String field; + + @Nullable + private final Boolean firstOnly; + + @Nullable + private final Boolean ignoreMissing; + + private final List properties; + + @Nullable + private final String targetField; + + @Nullable + private final Boolean downloadDatabaseOnPipelineCreation; + + // --------------------------------------------------------------------------------------------- + + private IpLocationProcessor(Builder builder) { + super(builder); + + this.databaseFile = builder.databaseFile; + this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); + this.firstOnly = builder.firstOnly; + this.ignoreMissing = builder.ignoreMissing; + this.properties = ApiTypeHelper.unmodifiable(builder.properties); + this.targetField = builder.targetField; + this.downloadDatabaseOnPipelineCreation = builder.downloadDatabaseOnPipelineCreation; + + } + + public static IpLocationProcessor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Processor variant kind. + */ + @Override + public Processor.Kind _processorKind() { + return Processor.Kind.IpLocation; + } + + /** + * The database filename referring to a database the module ships with + * (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom + * database in the ingest-geoip config directory. + *

    + * API name: {@code database_file} + */ + @Nullable + public final String databaseFile() { + return this.databaseFile; + } + + /** + * Required - The field to get the ip address from for the geographical lookup. + *

    + * API name: {@code field} + */ + public final String field() { + return this.field; + } + + /** + * If true, only the first found IP location data will be returned, + * even if the field contains an array. + *

    + * API name: {@code first_only} + */ + @Nullable + public final Boolean firstOnly() { + return this.firstOnly; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

    + * API name: {@code ignore_missing} + */ + @Nullable + public final Boolean ignoreMissing() { + return this.ignoreMissing; + } + + /** + * Controls what properties are added to the target_field based on + * the IP location lookup. + *

    + * API name: {@code properties} + */ + public final List properties() { + return this.properties; + } + + /** + * The field that will hold the geographical information looked up from the + * MaxMind database. + *

    + * API name: {@code target_field} + */ + @Nullable + public final String targetField() { + return this.targetField; + } + + /** + * If true (and if + * ingest.geoip.downloader.eager.download is false), + * the missing database is downloaded when the pipeline is created. Else, the + * download is triggered by when the pipeline is used as the + * default_pipeline or final_pipeline in an index. + *

    + * API name: {@code download_database_on_pipeline_creation} + */ + @Nullable + public final Boolean downloadDatabaseOnPipelineCreation() { + return this.downloadDatabaseOnPipelineCreation; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (this.databaseFile != null) { + generator.writeKey("database_file"); + generator.write(this.databaseFile); + + } + generator.writeKey("field"); + generator.write(this.field); + + if (this.firstOnly != null) { + generator.writeKey("first_only"); + generator.write(this.firstOnly); + + } + if (this.ignoreMissing != null) { + generator.writeKey("ignore_missing"); + generator.write(this.ignoreMissing); + + } + if (ApiTypeHelper.isDefined(this.properties)) { + generator.writeKey("properties"); + generator.writeStartArray(); + for (String item0 : this.properties) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.targetField != null) { + generator.writeKey("target_field"); + generator.write(this.targetField); + + } + if (this.downloadDatabaseOnPipelineCreation != null) { + generator.writeKey("download_database_on_pipeline_creation"); + generator.write(this.downloadDatabaseOnPipelineCreation); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link IpLocationProcessor}. + */ + + public static class Builder extends ProcessorBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private String databaseFile; + + private String field; + + @Nullable + private Boolean firstOnly; + + @Nullable + private Boolean ignoreMissing; + + @Nullable + private List properties; + + @Nullable + private String targetField; + + @Nullable + private Boolean downloadDatabaseOnPipelineCreation; + + /** + * The database filename referring to a database the module ships with + * (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom + * database in the ingest-geoip config directory. + *

    + * API name: {@code database_file} + */ + public final Builder databaseFile(@Nullable String value) { + this.databaseFile = value; + return this; + } + + /** + * Required - The field to get the ip address from for the geographical lookup. + *

    + * API name: {@code field} + */ + public final Builder field(String value) { + this.field = value; + return this; + } + + /** + * If true, only the first found IP location data will be returned, + * even if the field contains an array. + *

    + * API name: {@code first_only} + */ + public final Builder firstOnly(@Nullable Boolean value) { + this.firstOnly = value; + return this; + } + + /** + * If true and field does not exist, the processor + * quietly exits without modifying the document. + *

    + * API name: {@code ignore_missing} + */ + public final Builder ignoreMissing(@Nullable Boolean value) { + this.ignoreMissing = value; + return this; + } + + /** + * Controls what properties are added to the target_field based on + * the IP location lookup. + *

    + * API name: {@code properties} + *

    + * Adds all elements of list to properties. + */ + public final Builder properties(List list) { + this.properties = _listAddAll(this.properties, list); + return this; + } + + /** + * Controls what properties are added to the target_field based on + * the IP location lookup. + *

    + * API name: {@code properties} + *

    + * Adds one or more values to properties. + */ + public final Builder properties(String value, String... values) { + this.properties = _listAdd(this.properties, value, values); + return this; + } + + /** + * The field that will hold the geographical information looked up from the + * MaxMind database. + *

    + * API name: {@code target_field} + */ + public final Builder targetField(@Nullable String value) { + this.targetField = value; + return this; + } + + /** + * If true (and if + * ingest.geoip.downloader.eager.download is false), + * the missing database is downloaded when the pipeline is created. Else, the + * download is triggered by when the pipeline is used as the + * default_pipeline or final_pipeline in an index. + *

    + * API name: {@code download_database_on_pipeline_creation} + */ + public final Builder downloadDatabaseOnPipelineCreation(@Nullable Boolean value) { + this.downloadDatabaseOnPipelineCreation = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link IpLocationProcessor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public IpLocationProcessor build() { + _checkSingleUse(); + + return new IpLocationProcessor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link IpLocationProcessor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, IpLocationProcessor::setupIpLocationProcessorDeserializer); + + protected static void setupIpLocationProcessorDeserializer(ObjectDeserializer op) { + ProcessorBase.setupProcessorBaseDeserializer(op); + op.add(Builder::databaseFile, JsonpDeserializer.stringDeserializer(), "database_file"); + op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); + op.add(Builder::firstOnly, JsonpDeserializer.booleanDeserializer(), "first_only"); + op.add(Builder::ignoreMissing, JsonpDeserializer.booleanDeserializer(), "ignore_missing"); + op.add(Builder::properties, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "properties"); + op.add(Builder::targetField, JsonpDeserializer.stringDeserializer(), "target_field"); + op.add(Builder::downloadDatabaseOnPipelineCreation, JsonpDeserializer.booleanDeserializer(), + "download_database_on_pipeline_creation"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java index 489acf9e6..721d8f4f3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java @@ -106,6 +106,8 @@ public enum Kind implements JsonEnum { Foreach("foreach"), + IpLocation("ip_location"), + GeoGrid("geo_grid"), Geoip("geoip"), @@ -485,6 +487,23 @@ public ForeachProcessor foreach() { return TaggedUnionUtils.get(this, Kind.Foreach); } + /** + * Is this variant instance of kind {@code ip_location}? + */ + public boolean isIpLocation() { + return _kind == Kind.IpLocation; + } + + /** + * Get the {@code ip_location} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code ip_location} kind. + */ + public IpLocationProcessor ipLocation() { + return TaggedUnionUtils.get(this, Kind.IpLocation); + } + /** * Is this variant instance of kind {@code geo_grid}? */ @@ -1190,6 +1209,17 @@ public ObjectBuilder foreach( return this.foreach(fn.apply(new ForeachProcessor.Builder()).build()); } + public ObjectBuilder ipLocation(IpLocationProcessor v) { + this._kind = Kind.IpLocation; + this._value = v; + return this; + } + + public ObjectBuilder ipLocation( + Function> fn) { + return this.ipLocation(fn.apply(new IpLocationProcessor.Builder()).build()); + } + public ObjectBuilder geoGrid(GeoGridProcessor v) { this._kind = Kind.GeoGrid; this._value = v; @@ -1525,6 +1555,7 @@ protected static void setupProcessorDeserializer(ObjectDeserializer op) op.add(Builder::fail, FailProcessor._DESERIALIZER, "fail"); op.add(Builder::fingerprint, FingerprintProcessor._DESERIALIZER, "fingerprint"); op.add(Builder::foreach, ForeachProcessor._DESERIALIZER, "foreach"); + op.add(Builder::ipLocation, IpLocationProcessor._DESERIALIZER, "ip_location"); op.add(Builder::geoGrid, GeoGridProcessor._DESERIALIZER, "geo_grid"); op.add(Builder::geoip, GeoIpProcessor._DESERIALIZER, "geoip"); op.add(Builder::grok, GrokProcessor._DESERIALIZER, "grok"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java index 6aa09cbed..ea2e5109b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java @@ -335,6 +335,24 @@ public static Processor foreach(Function> fn) { + Processor.Builder builder = new Processor.Builder(); + builder.ipLocation(fn.apply(new IpLocationProcessor.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link GeoGridProcessor geo_grid} {@code Processor} * variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java index 91dd50b92..376f521b2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java @@ -2236,9 +2236,14 @@ public final CompletableFuture putDataFrameAnalyt * an anomaly detection job. You can associate only one datafeed with each * anomaly detection job. The datafeed contains a query that runs at a defined * interval (frequency). If you are concerned about delayed data, - * you can add a delay - * (query_delay') at each interval. When Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead. You must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed directly to the .ml-configindex. Do not give userswriteprivileges on the.ml-config` - * index. + * you can add a delay (query_delay) at each interval. When + * Elasticsearch security features are enabled, your datafeed remembers which + * roles the user who created it had at the time of creation and runs the query + * using those same roles. If you provide secondary authorization headers, those + * credentials are used instead. You must use Kibana, this API, or the create + * anomaly detection jobs API to create a datafeed. Do not add a datafeed + * directly to the .ml-config index. Do not give users + * write privileges on the .ml-config index. * * @see Documentation @@ -2257,9 +2262,14 @@ public CompletableFuture putDatafeed(PutDatafeedRequest req * an anomaly detection job. You can associate only one datafeed with each * anomaly detection job. The datafeed contains a query that runs at a defined * interval (frequency). If you are concerned about delayed data, - * you can add a delay - * (query_delay') at each interval. When Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead. You must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed directly to the .ml-configindex. Do not give userswriteprivileges on the.ml-config` - * index. + * you can add a delay (query_delay) at each interval. When + * Elasticsearch security features are enabled, your datafeed remembers which + * roles the user who created it had at the time of creation and runs the query + * using those same roles. If you provide secondary authorization headers, those + * credentials are used instead. You must use Kibana, this API, or the create + * anomaly detection jobs API to create a datafeed. Do not add a datafeed + * directly to the .ml-config index. Do not give users + * write privileges on the .ml-config index. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java index 75007da08..a7d3862fe 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java @@ -2296,9 +2296,14 @@ public final PutDataFrameAnalyticsResponse putDataFrameAnalytics( * an anomaly detection job. You can associate only one datafeed with each * anomaly detection job. The datafeed contains a query that runs at a defined * interval (frequency). If you are concerned about delayed data, - * you can add a delay - * (query_delay') at each interval. When Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead. You must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed directly to the .ml-configindex. Do not give userswriteprivileges on the.ml-config` - * index. + * you can add a delay (query_delay) at each interval. When + * Elasticsearch security features are enabled, your datafeed remembers which + * roles the user who created it had at the time of creation and runs the query + * using those same roles. If you provide secondary authorization headers, those + * credentials are used instead. You must use Kibana, this API, or the create + * anomaly detection jobs API to create a datafeed. Do not add a datafeed + * directly to the .ml-config index. Do not give users + * write privileges on the .ml-config index. * * @see Documentation @@ -2317,9 +2322,14 @@ public PutDatafeedResponse putDatafeed(PutDatafeedRequest request) throws IOExce * an anomaly detection job. You can associate only one datafeed with each * anomaly detection job. The datafeed contains a query that runs at a defined * interval (frequency). If you are concerned about delayed data, - * you can add a delay - * (query_delay') at each interval. When Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead. You must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed directly to the .ml-configindex. Do not give userswriteprivileges on the.ml-config` - * index. + * you can add a delay (query_delay) at each interval. When + * Elasticsearch security features are enabled, your datafeed remembers which + * roles the user who created it had at the time of creation and runs the query + * using those same roles. If you provide secondary authorization headers, those + * credentials are used instead. You must use Kibana, this API, or the create + * anomaly detection jobs API to create a datafeed. Do not add a datafeed + * directly to the .ml-config index. Do not give users + * write privileges on the .ml-config index. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java index 15a9fc453..686bc9c5c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java @@ -72,9 +72,14 @@ * an anomaly detection job. You can associate only one datafeed with each * anomaly detection job. The datafeed contains a query that runs at a defined * interval (frequency). If you are concerned about delayed data, - * you can add a delay - * (query_delay') at each interval. When Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead. You must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed directly to the .ml-configindex. Do not give userswriteprivileges on the.ml-config` - * index. + * you can add a delay (query_delay) at each interval. When + * Elasticsearch security features are enabled, your datafeed remembers which + * roles the user who created it had at the time of creation and runs the query + * using those same roles. If you provide secondary authorization headers, those + * credentials are used instead. You must use Kibana, this API, or the create + * anomaly detection jobs API to create a datafeed. Do not add a datafeed + * directly to the .ml-config index. Do not give users + * write privileges on the .ml-config index. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Access.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Access.java new file mode 100644 index 000000000..7c6fa84f3 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Access.java @@ -0,0 +1,253 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.Access + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class Access implements JsonpSerializable { + private final List replication; + + private final List search; + + // --------------------------------------------------------------------------------------------- + + private Access(Builder builder) { + + this.replication = ApiTypeHelper.unmodifiable(builder.replication); + this.search = ApiTypeHelper.unmodifiable(builder.search); + + } + + public static Access of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * A list of indices permission entries for cross-cluster replication. + *

    + * API name: {@code replication} + */ + public final List replication() { + return this.replication; + } + + /** + * A list of indices permission entries for cross-cluster search. + *

    + * API name: {@code search} + */ + public final List search() { + return this.search; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.replication)) { + generator.writeKey("replication"); + generator.writeStartArray(); + for (ReplicationAccess item0 : this.replication) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.search)) { + generator.writeKey("search"); + generator.writeStartArray(); + for (SearchAccess item0 : this.search) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link Access}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private List replication; + + @Nullable + private List search; + + /** + * A list of indices permission entries for cross-cluster replication. + *

    + * API name: {@code replication} + *

    + * Adds all elements of list to replication. + */ + public final Builder replication(List list) { + this.replication = _listAddAll(this.replication, list); + return this; + } + + /** + * A list of indices permission entries for cross-cluster replication. + *

    + * API name: {@code replication} + *

    + * Adds one or more values to replication. + */ + public final Builder replication(ReplicationAccess value, ReplicationAccess... values) { + this.replication = _listAdd(this.replication, value, values); + return this; + } + + /** + * A list of indices permission entries for cross-cluster replication. + *

    + * API name: {@code replication} + *

    + * Adds a value to replication using a builder lambda. + */ + public final Builder replication(Function> fn) { + return replication(fn.apply(new ReplicationAccess.Builder()).build()); + } + + /** + * A list of indices permission entries for cross-cluster search. + *

    + * API name: {@code search} + *

    + * Adds all elements of list to search. + */ + public final Builder search(List list) { + this.search = _listAddAll(this.search, list); + return this; + } + + /** + * A list of indices permission entries for cross-cluster search. + *

    + * API name: {@code search} + *

    + * Adds one or more values to search. + */ + public final Builder search(SearchAccess value, SearchAccess... values) { + this.search = _listAdd(this.search, value, values); + return this; + } + + /** + * A list of indices permission entries for cross-cluster search. + *

    + * API name: {@code search} + *

    + * Adds a value to search using a builder lambda. + */ + public final Builder search(Function> fn) { + return search(fn.apply(new SearchAccess.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link Access}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public Access build() { + _checkSingleUse(); + + return new Access(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link Access} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + Access::setupAccessDeserializer); + + protected static void setupAccessDeserializer(ObjectDeserializer op) { + + op.add(Builder::replication, JsonpDeserializer.arrayDeserializer(ReplicationAccess._DESERIALIZER), + "replication"); + op.add(Builder::search, JsonpDeserializer.arrayDeserializer(SearchAccess._DESERIALIZER), "search"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyRequest.java new file mode 100644 index 000000000..c702c3b15 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyRequest.java @@ -0,0 +1,377 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.elasticsearch._types.ErrorResponse; +import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.transport.Endpoint; +import co.elastic.clients.transport.endpoints.SimpleEndpoint; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Collections; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security.create_cross_cluster_api_key.Request + +/** + * Create a cross-cluster API key. + *

    + * Create an API key of the cross_cluster type for the API key + * based remote cluster access. A cross_cluster API key cannot be + * used to authenticate through the REST interface. + *

    + * IMPORTANT: To authenticate this request you must use a credential that is not + * an API key. Even if you use an API key that has the required privilege, the + * API returns an error. + *

    + * Cross-cluster API keys are created by the Elasticsearch API key service, + * which is automatically enabled. + *

    + * NOTE: Unlike REST API keys, a cross-cluster API key does not capture + * permissions of the authenticated user. The API key’s effective permission is + * exactly as specified with the access property. + *

    + * A successful request returns a JSON structure that contains the API key, its + * unique ID, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. + *

    + * By default, API keys never expire. You can specify expiration information + * when you create the API keys. + *

    + * Cross-cluster API keys can only be updated with the update cross-cluster API + * key API. Attempting to update them with the update REST API key API or the + * bulk update REST API keys API will result in an error. + * + * @see API + * specification + */ +@JsonpDeserializable +public class CreateCrossClusterApiKeyRequest extends RequestBase implements JsonpSerializable { + private final Access access; + + @Nullable + private final Time expiration; + + private final Map metadata; + + private final String name; + + // --------------------------------------------------------------------------------------------- + + private CreateCrossClusterApiKeyRequest(Builder builder) { + + this.access = ApiTypeHelper.requireNonNull(builder.access, this, "access"); + this.expiration = builder.expiration; + this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); + this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); + + } + + public static CreateCrossClusterApiKeyRequest of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross-cluster search and cross-cluster replication. At + * least one of them must be specified. + *

    + * NOTE: No explicit privileges should be specified for either search or + * replication access. The creation process automatically converts the access + * specification to a role descriptor which has relevant privileges assigned + * accordingly. + *

    + * API name: {@code access} + */ + public final Access access() { + return this.access; + } + + /** + * Expiration time for the API key. By default, API keys never expire. + *

    + * API name: {@code expiration} + */ + @Nullable + public final Time expiration() { + return this.expiration; + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. + *

    + * API name: {@code metadata} + */ + public final Map metadata() { + return this.metadata; + } + + /** + * Required - Specifies the name for this API key. + *

    + * API name: {@code name} + */ + public final String name() { + return this.name; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("access"); + this.access.serialize(generator, mapper); + + if (this.expiration != null) { + generator.writeKey("expiration"); + this.expiration.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.metadata)) { + generator.writeKey("metadata"); + generator.writeStartObject(); + for (Map.Entry item0 : this.metadata.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + generator.writeKey("name"); + generator.write(this.name); + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link CreateCrossClusterApiKeyRequest}. + */ + + public static class Builder extends RequestBase.AbstractBuilder + implements + ObjectBuilder { + private Access access; + + @Nullable + private Time expiration; + + @Nullable + private Map metadata; + + private String name; + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross-cluster search and cross-cluster replication. At + * least one of them must be specified. + *

    + * NOTE: No explicit privileges should be specified for either search or + * replication access. The creation process automatically converts the access + * specification to a role descriptor which has relevant privileges assigned + * accordingly. + *

    + * API name: {@code access} + */ + public final Builder access(Access value) { + this.access = value; + return this; + } + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross-cluster search and cross-cluster replication. At + * least one of them must be specified. + *

    + * NOTE: No explicit privileges should be specified for either search or + * replication access. The creation process automatically converts the access + * specification to a role descriptor which has relevant privileges assigned + * accordingly. + *

    + * API name: {@code access} + */ + public final Builder access(Function> fn) { + return this.access(fn.apply(new Access.Builder()).build()); + } + + /** + * Expiration time for the API key. By default, API keys never expire. + *

    + * API name: {@code expiration} + */ + public final Builder expiration(@Nullable Time value) { + this.expiration = value; + return this; + } + + /** + * Expiration time for the API key. By default, API keys never expire. + *

    + * API name: {@code expiration} + */ + public final Builder expiration(Function> fn) { + return this.expiration(fn.apply(new Time.Builder()).build()); + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. + *

    + * API name: {@code metadata} + *

    + * Adds all entries of map to metadata. + */ + public final Builder metadata(Map map) { + this.metadata = _mapPutAll(this.metadata, map); + return this; + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. + *

    + * API name: {@code metadata} + *

    + * Adds an entry to metadata. + */ + public final Builder metadata(String key, JsonData value) { + this.metadata = _mapPut(this.metadata, key, value); + return this; + } + + /** + * Required - Specifies the name for this API key. + *

    + * API name: {@code name} + */ + public final Builder name(String value) { + this.name = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link CreateCrossClusterApiKeyRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public CreateCrossClusterApiKeyRequest build() { + _checkSingleUse(); + + return new CreateCrossClusterApiKeyRequest(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link CreateCrossClusterApiKeyRequest} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, CreateCrossClusterApiKeyRequest::setupCreateCrossClusterApiKeyRequestDeserializer); + + protected static void setupCreateCrossClusterApiKeyRequestDeserializer( + ObjectDeserializer op) { + + op.add(Builder::access, Access._DESERIALIZER, "access"); + op.add(Builder::expiration, Time._DESERIALIZER, "expiration"); + op.add(Builder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Endpoint "{@code security.create_cross_cluster_api_key}". + */ + public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( + "es/security.create_cross_cluster_api_key", + + // Request method + request -> { + return "POST"; + + }, + + // Request path + request -> { + return "/_security/cross_cluster/api_key"; + + }, + + // Path parameters + request -> { + return Collections.emptyMap(); + }, + + // Request parameters + request -> { + return Collections.emptyMap(); + + }, SimpleEndpoint.emptyMap(), true, CreateCrossClusterApiKeyResponse._DESERIALIZER); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyResponse.java new file mode 100644 index 000000000..b3245c4d2 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/CreateCrossClusterApiKeyResponse.java @@ -0,0 +1,284 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security.create_cross_cluster_api_key.Response + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class CreateCrossClusterApiKeyResponse implements JsonpSerializable { + private final String apiKey; + + @Nullable + private final Long expiration; + + private final String id; + + private final String name; + + private final String encoded; + + // --------------------------------------------------------------------------------------------- + + private CreateCrossClusterApiKeyResponse(Builder builder) { + + this.apiKey = ApiTypeHelper.requireNonNull(builder.apiKey, this, "apiKey"); + this.expiration = builder.expiration; + this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); + this.encoded = ApiTypeHelper.requireNonNull(builder.encoded, this, "encoded"); + + } + + public static CreateCrossClusterApiKeyResponse of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - Generated API key. + *

    + * API name: {@code api_key} + */ + public final String apiKey() { + return this.apiKey; + } + + /** + * Expiration in milliseconds for the API key. + *

    + * API name: {@code expiration} + */ + @Nullable + public final Long expiration() { + return this.expiration; + } + + /** + * Required - Unique ID for this API key. + *

    + * API name: {@code id} + */ + public final String id() { + return this.id; + } + + /** + * Required - Specifies the name for this API key. + *

    + * API name: {@code name} + */ + public final String name() { + return this.name; + } + + /** + * Required - API key credentials which is the base64-encoding of the UTF-8 + * representation of id and api_key joined by a colon + * (:). + *

    + * API name: {@code encoded} + */ + public final String encoded() { + return this.encoded; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("api_key"); + generator.write(this.apiKey); + + if (this.expiration != null) { + generator.writeKey("expiration"); + generator.write(this.expiration); + + } + generator.writeKey("id"); + generator.write(this.id); + + generator.writeKey("name"); + generator.write(this.name); + + generator.writeKey("encoded"); + generator.write(this.encoded); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link CreateCrossClusterApiKeyResponse}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String apiKey; + + @Nullable + private Long expiration; + + private String id; + + private String name; + + private String encoded; + + /** + * Required - Generated API key. + *

    + * API name: {@code api_key} + */ + public final Builder apiKey(String value) { + this.apiKey = value; + return this; + } + + /** + * Expiration in milliseconds for the API key. + *

    + * API name: {@code expiration} + */ + public final Builder expiration(@Nullable Long value) { + this.expiration = value; + return this; + } + + /** + * Required - Unique ID for this API key. + *

    + * API name: {@code id} + */ + public final Builder id(String value) { + this.id = value; + return this; + } + + /** + * Required - Specifies the name for this API key. + *

    + * API name: {@code name} + */ + public final Builder name(String value) { + this.name = value; + return this; + } + + /** + * Required - API key credentials which is the base64-encoding of the UTF-8 + * representation of id and api_key joined by a colon + * (:). + *

    + * API name: {@code encoded} + */ + public final Builder encoded(String value) { + this.encoded = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link CreateCrossClusterApiKeyResponse}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public CreateCrossClusterApiKeyResponse build() { + _checkSingleUse(); + + return new CreateCrossClusterApiKeyResponse(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link CreateCrossClusterApiKeyResponse} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, CreateCrossClusterApiKeyResponse::setupCreateCrossClusterApiKeyResponseDeserializer); + + protected static void setupCreateCrossClusterApiKeyResponseDeserializer( + ObjectDeserializer op) { + + op.add(Builder::apiKey, JsonpDeserializer.stringDeserializer(), "api_key"); + op.add(Builder::expiration, JsonpDeserializer.longDeserializer(), "expiration"); + op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + op.add(Builder::encoded, JsonpDeserializer.stringDeserializer(), "encoded"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java index a42b5db74..b7345b790 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java @@ -521,6 +521,92 @@ public CompletableFuture createApiKey() { CreateApiKeyRequest._ENDPOINT, this.transportOptions); } + // ----- Endpoint: security.create_cross_cluster_api_key + + /** + * Create a cross-cluster API key. + *

    + * Create an API key of the cross_cluster type for the API key + * based remote cluster access. A cross_cluster API key cannot be + * used to authenticate through the REST interface. + *

    + * IMPORTANT: To authenticate this request you must use a credential that is not + * an API key. Even if you use an API key that has the required privilege, the + * API returns an error. + *

    + * Cross-cluster API keys are created by the Elasticsearch API key service, + * which is automatically enabled. + *

    + * NOTE: Unlike REST API keys, a cross-cluster API key does not capture + * permissions of the authenticated user. The API key’s effective permission is + * exactly as specified with the access property. + *

    + * A successful request returns a JSON structure that contains the API key, its + * unique ID, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. + *

    + * By default, API keys never expire. You can specify expiration information + * when you create the API keys. + *

    + * Cross-cluster API keys can only be updated with the update cross-cluster API + * key API. Attempting to update them with the update REST API key API or the + * bulk update REST API keys API will result in an error. + * + * @see Documentation + * on elastic.co + */ + + public CompletableFuture createCrossClusterApiKey( + CreateCrossClusterApiKeyRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) CreateCrossClusterApiKeyRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Create a cross-cluster API key. + *

    + * Create an API key of the cross_cluster type for the API key + * based remote cluster access. A cross_cluster API key cannot be + * used to authenticate through the REST interface. + *

    + * IMPORTANT: To authenticate this request you must use a credential that is not + * an API key. Even if you use an API key that has the required privilege, the + * API returns an error. + *

    + * Cross-cluster API keys are created by the Elasticsearch API key service, + * which is automatically enabled. + *

    + * NOTE: Unlike REST API keys, a cross-cluster API key does not capture + * permissions of the authenticated user. The API key’s effective permission is + * exactly as specified with the access property. + *

    + * A successful request returns a JSON structure that contains the API key, its + * unique ID, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. + *

    + * By default, API keys never expire. You can specify expiration information + * when you create the API keys. + *

    + * Cross-cluster API keys can only be updated with the update cross-cluster API + * key API. Attempting to update them with the update REST API key API or the + * bulk update REST API keys API will result in an error. + * + * @param fn + * a function that initializes a builder to create the + * {@link CreateCrossClusterApiKeyRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture createCrossClusterApiKey( + Function> fn) { + return createCrossClusterApiKey(fn.apply(new CreateCrossClusterApiKeyRequest.Builder()).build()); + } + // ----- Endpoint: security.create_service_token /** @@ -2485,6 +2571,46 @@ public final CompletableFuture updateApiKey( return updateApiKey(fn.apply(new UpdateApiKeyRequest.Builder()).build()); } + // ----- Endpoint: security.update_cross_cluster_api_key + + /** + * Update a cross-cluster API key. + *

    + * Update the attributes of an existing cross-cluster API key, which is used for + * API key based remote cluster access. + * + * @see Documentation + * on elastic.co + */ + + public CompletableFuture updateCrossClusterApiKey( + UpdateCrossClusterApiKeyRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) UpdateCrossClusterApiKeyRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Update a cross-cluster API key. + *

    + * Update the attributes of an existing cross-cluster API key, which is used for + * API key based remote cluster access. + * + * @param fn + * a function that initializes a builder to create the + * {@link UpdateCrossClusterApiKeyRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture updateCrossClusterApiKey( + Function> fn) { + return updateCrossClusterApiKey(fn.apply(new UpdateCrossClusterApiKeyRequest.Builder()).build()); + } + // ----- Endpoint: security.update_user_profile_data /** diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java index dffaa29af..c15eedd89 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java @@ -535,6 +535,93 @@ public CreateApiKeyResponse createApiKey() throws IOException, ElasticsearchExce this.transportOptions); } + // ----- Endpoint: security.create_cross_cluster_api_key + + /** + * Create a cross-cluster API key. + *

    + * Create an API key of the cross_cluster type for the API key + * based remote cluster access. A cross_cluster API key cannot be + * used to authenticate through the REST interface. + *

    + * IMPORTANT: To authenticate this request you must use a credential that is not + * an API key. Even if you use an API key that has the required privilege, the + * API returns an error. + *

    + * Cross-cluster API keys are created by the Elasticsearch API key service, + * which is automatically enabled. + *

    + * NOTE: Unlike REST API keys, a cross-cluster API key does not capture + * permissions of the authenticated user. The API key’s effective permission is + * exactly as specified with the access property. + *

    + * A successful request returns a JSON structure that contains the API key, its + * unique ID, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. + *

    + * By default, API keys never expire. You can specify expiration information + * when you create the API keys. + *

    + * Cross-cluster API keys can only be updated with the update cross-cluster API + * key API. Attempting to update them with the update REST API key API or the + * bulk update REST API keys API will result in an error. + * + * @see Documentation + * on elastic.co + */ + + public CreateCrossClusterApiKeyResponse createCrossClusterApiKey(CreateCrossClusterApiKeyRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) CreateCrossClusterApiKeyRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Create a cross-cluster API key. + *

    + * Create an API key of the cross_cluster type for the API key + * based remote cluster access. A cross_cluster API key cannot be + * used to authenticate through the REST interface. + *

    + * IMPORTANT: To authenticate this request you must use a credential that is not + * an API key. Even if you use an API key that has the required privilege, the + * API returns an error. + *

    + * Cross-cluster API keys are created by the Elasticsearch API key service, + * which is automatically enabled. + *

    + * NOTE: Unlike REST API keys, a cross-cluster API key does not capture + * permissions of the authenticated user. The API key’s effective permission is + * exactly as specified with the access property. + *

    + * A successful request returns a JSON structure that contains the API key, its + * unique ID, and its name. If applicable, it also returns expiration + * information for the API key in milliseconds. + *

    + * By default, API keys never expire. You can specify expiration information + * when you create the API keys. + *

    + * Cross-cluster API keys can only be updated with the update cross-cluster API + * key API. Attempting to update them with the update REST API key API or the + * bulk update REST API keys API will result in an error. + * + * @param fn + * a function that initializes a builder to create the + * {@link CreateCrossClusterApiKeyRequest} + * @see Documentation + * on elastic.co + */ + + public final CreateCrossClusterApiKeyResponse createCrossClusterApiKey( + Function> fn) + throws IOException, ElasticsearchException { + return createCrossClusterApiKey(fn.apply(new CreateCrossClusterApiKeyRequest.Builder()).build()); + } + // ----- Endpoint: security.create_service_token /** @@ -2547,6 +2634,47 @@ public final UpdateApiKeyResponse updateApiKey( return updateApiKey(fn.apply(new UpdateApiKeyRequest.Builder()).build()); } + // ----- Endpoint: security.update_cross_cluster_api_key + + /** + * Update a cross-cluster API key. + *

    + * Update the attributes of an existing cross-cluster API key, which is used for + * API key based remote cluster access. + * + * @see Documentation + * on elastic.co + */ + + public UpdateCrossClusterApiKeyResponse updateCrossClusterApiKey(UpdateCrossClusterApiKeyRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) UpdateCrossClusterApiKeyRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Update a cross-cluster API key. + *

    + * Update the attributes of an existing cross-cluster API key, which is used for + * API key based remote cluster access. + * + * @param fn + * a function that initializes a builder to create the + * {@link UpdateCrossClusterApiKeyRequest} + * @see Documentation + * on elastic.co + */ + + public final UpdateCrossClusterApiKeyResponse updateCrossClusterApiKey( + Function> fn) + throws IOException, ElasticsearchException { + return updateCrossClusterApiKey(fn.apply(new UpdateCrossClusterApiKeyRequest.Builder()).build()); + } + // ----- Endpoint: security.update_user_profile_data /** diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java new file mode 100644 index 000000000..7907d7f89 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java @@ -0,0 +1,184 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.ReplicationAccess + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class ReplicationAccess implements JsonpSerializable { + private final List names; + + // --------------------------------------------------------------------------------------------- + + private ReplicationAccess(Builder builder) { + + this.names = ApiTypeHelper.unmodifiableRequired(builder.names, this, "names"); + + } + + public static ReplicationAccess of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + */ + public final List names() { + return this.names; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.names)) { + generator.writeKey("names"); + generator.writeStartArray(); + for (String item0 : this.names) { + generator.write(item0); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link ReplicationAccess}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private List names; + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + *

    + * Adds all elements of list to names. + */ + public final Builder names(List list) { + this.names = _listAddAll(this.names, list); + return this; + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + *

    + * Adds one or more values to names. + */ + public final Builder names(String value, String... values) { + this.names = _listAdd(this.names, value, values); + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link ReplicationAccess}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public ReplicationAccess build() { + _checkSingleUse(); + + return new ReplicationAccess(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link ReplicationAccess} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, ReplicationAccess::setupReplicationAccessDeserializer); + + protected static void setupReplicationAccessDeserializer(ObjectDeserializer op) { + + op.add(Builder::names, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "names"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SearchAccess.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SearchAccess.java new file mode 100644 index 000000000..a5084d55d --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/SearchAccess.java @@ -0,0 +1,317 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.SearchAccess + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class SearchAccess implements JsonpSerializable { + @Nullable + private final FieldSecurity fieldSecurity; + + private final List names; + + @Nullable + private final IndicesPrivilegesQuery query; + + @Nullable + private final Boolean allowRestrictedIndices; + + // --------------------------------------------------------------------------------------------- + + private SearchAccess(Builder builder) { + + this.fieldSecurity = builder.fieldSecurity; + this.names = ApiTypeHelper.unmodifiableRequired(builder.names, this, "names"); + this.query = builder.query; + this.allowRestrictedIndices = builder.allowRestrictedIndices; + + } + + public static SearchAccess of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * The document fields that the owners of the role have read access to. + *

    + * API name: {@code field_security} + */ + @Nullable + public final FieldSecurity fieldSecurity() { + return this.fieldSecurity; + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + */ + public final List names() { + return this.names; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

    + * API name: {@code query} + */ + @Nullable + public final IndicesPrivilegesQuery query() { + return this.query; + } + + /** + * Set to true if using wildcard or regular expressions for + * patterns that cover restricted indices. Implicitly, restricted indices have + * limited privileges that can cause pattern tests to fail. If restricted + * indices are explicitly included in the names list, Elasticsearch + * checks privileges against these indices regardless of the value set for + * allow_restricted_indices. + *

    + * API name: {@code allow_restricted_indices} + */ + @Nullable + public final Boolean allowRestrictedIndices() { + return this.allowRestrictedIndices; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.fieldSecurity != null) { + generator.writeKey("field_security"); + this.fieldSecurity.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.names)) { + generator.writeKey("names"); + generator.writeStartArray(); + for (String item0 : this.names) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.query != null) { + generator.writeKey("query"); + this.query.serialize(generator, mapper); + + } + if (this.allowRestrictedIndices != null) { + generator.writeKey("allow_restricted_indices"); + generator.write(this.allowRestrictedIndices); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link SearchAccess}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private FieldSecurity fieldSecurity; + + private List names; + + @Nullable + private IndicesPrivilegesQuery query; + + @Nullable + private Boolean allowRestrictedIndices; + + /** + * The document fields that the owners of the role have read access to. + *

    + * API name: {@code field_security} + */ + public final Builder fieldSecurity(@Nullable FieldSecurity value) { + this.fieldSecurity = value; + return this; + } + + /** + * The document fields that the owners of the role have read access to. + *

    + * API name: {@code field_security} + */ + public final Builder fieldSecurity(Function> fn) { + return this.fieldSecurity(fn.apply(new FieldSecurity.Builder()).build()); + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + *

    + * Adds all elements of list to names. + */ + public final Builder names(List list) { + this.names = _listAddAll(this.names, list); + return this; + } + + /** + * Required - A list of indices (or index name patterns) to which the + * permissions in this entry apply. + *

    + * API name: {@code names} + *

    + * Adds one or more values to names. + */ + public final Builder names(String value, String... values) { + this.names = _listAdd(this.names, value, values); + return this; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

    + * API name: {@code query} + */ + public final Builder query(@Nullable IndicesPrivilegesQuery value) { + this.query = value; + return this; + } + + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. + *

    + * API name: {@code query} + */ + public final Builder query(Function> fn) { + return this.query(fn.apply(new IndicesPrivilegesQuery.Builder()).build()); + } + + /** + * Set to true if using wildcard or regular expressions for + * patterns that cover restricted indices. Implicitly, restricted indices have + * limited privileges that can cause pattern tests to fail. If restricted + * indices are explicitly included in the names list, Elasticsearch + * checks privileges against these indices regardless of the value set for + * allow_restricted_indices. + *

    + * API name: {@code allow_restricted_indices} + */ + public final Builder allowRestrictedIndices(@Nullable Boolean value) { + this.allowRestrictedIndices = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link SearchAccess}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public SearchAccess build() { + _checkSingleUse(); + + return new SearchAccess(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link SearchAccess} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + SearchAccess::setupSearchAccessDeserializer); + + protected static void setupSearchAccessDeserializer(ObjectDeserializer op) { + + op.add(Builder::fieldSecurity, FieldSecurity._DESERIALIZER, "field_security"); + op.add(Builder::names, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "names"); + op.add(Builder::query, IndicesPrivilegesQuery._DESERIALIZER, "query"); + op.add(Builder::allowRestrictedIndices, JsonpDeserializer.booleanDeserializer(), "allow_restricted_indices"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyRequest.java new file mode 100644 index 000000000..348a0842f --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyRequest.java @@ -0,0 +1,371 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.elasticsearch._types.ErrorResponse; +import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.transport.Endpoint; +import co.elastic.clients.transport.endpoints.SimpleEndpoint; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security.update_cross_cluster_api_key.Request + +/** + * Update a cross-cluster API key. + *

    + * Update the attributes of an existing cross-cluster API key, which is used for + * API key based remote cluster access. + * + * @see API + * specification + */ +@JsonpDeserializable +public class UpdateCrossClusterApiKeyRequest extends RequestBase implements JsonpSerializable { + private final Access access; + + @Nullable + private final Time expiration; + + private final String id; + + private final Map metadata; + + // --------------------------------------------------------------------------------------------- + + private UpdateCrossClusterApiKeyRequest(Builder builder) { + + this.access = ApiTypeHelper.requireNonNull(builder.access, this, "access"); + this.expiration = builder.expiration; + this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); + + } + + public static UpdateCrossClusterApiKeyRequest of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross cluster search and cross cluster replication. At + * least one of them must be specified. When specified, the new access + * assignment fully replaces the previously assigned access. + *

    + * API name: {@code access} + */ + public final Access access() { + return this.access; + } + + /** + * Expiration time for the API key. By default, API keys never expire. This + * property can be omitted to leave the value unchanged. + *

    + * API name: {@code expiration} + */ + @Nullable + public final Time expiration() { + return this.expiration; + } + + /** + * Required - The ID of the cross-cluster API key to update. + *

    + * API name: {@code id} + */ + public final String id() { + return this.id; + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. When specified, this + * information fully replaces metadata previously associated with the API key. + *

    + * API name: {@code metadata} + */ + public final Map metadata() { + return this.metadata; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("access"); + this.access.serialize(generator, mapper); + + if (this.expiration != null) { + generator.writeKey("expiration"); + this.expiration.serialize(generator, mapper); + + } + if (ApiTypeHelper.isDefined(this.metadata)) { + generator.writeKey("metadata"); + generator.writeStartObject(); + for (Map.Entry item0 : this.metadata.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link UpdateCrossClusterApiKeyRequest}. + */ + + public static class Builder extends RequestBase.AbstractBuilder + implements + ObjectBuilder { + private Access access; + + @Nullable + private Time expiration; + + private String id; + + @Nullable + private Map metadata; + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross cluster search and cross cluster replication. At + * least one of them must be specified. When specified, the new access + * assignment fully replaces the previously assigned access. + *

    + * API name: {@code access} + */ + public final Builder access(Access value) { + this.access = value; + return this; + } + + /** + * Required - The access to be granted to this API key. The access is composed + * of permissions for cross cluster search and cross cluster replication. At + * least one of them must be specified. When specified, the new access + * assignment fully replaces the previously assigned access. + *

    + * API name: {@code access} + */ + public final Builder access(Function> fn) { + return this.access(fn.apply(new Access.Builder()).build()); + } + + /** + * Expiration time for the API key. By default, API keys never expire. This + * property can be omitted to leave the value unchanged. + *

    + * API name: {@code expiration} + */ + public final Builder expiration(@Nullable Time value) { + this.expiration = value; + return this; + } + + /** + * Expiration time for the API key. By default, API keys never expire. This + * property can be omitted to leave the value unchanged. + *

    + * API name: {@code expiration} + */ + public final Builder expiration(Function> fn) { + return this.expiration(fn.apply(new Time.Builder()).build()); + } + + /** + * Required - The ID of the cross-cluster API key to update. + *

    + * API name: {@code id} + */ + public final Builder id(String value) { + this.id = value; + return this; + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. When specified, this + * information fully replaces metadata previously associated with the API key. + *

    + * API name: {@code metadata} + *

    + * Adds all entries of map to metadata. + */ + public final Builder metadata(Map map) { + this.metadata = _mapPutAll(this.metadata, map); + return this; + } + + /** + * Arbitrary metadata that you want to associate with the API key. It supports + * nested data structure. Within the metadata object, keys beginning with + * _ are reserved for system usage. When specified, this + * information fully replaces metadata previously associated with the API key. + *

    + * API name: {@code metadata} + *

    + * Adds an entry to metadata. + */ + public final Builder metadata(String key, JsonData value) { + this.metadata = _mapPut(this.metadata, key, value); + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link UpdateCrossClusterApiKeyRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public UpdateCrossClusterApiKeyRequest build() { + _checkSingleUse(); + + return new UpdateCrossClusterApiKeyRequest(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link UpdateCrossClusterApiKeyRequest} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, UpdateCrossClusterApiKeyRequest::setupUpdateCrossClusterApiKeyRequestDeserializer); + + protected static void setupUpdateCrossClusterApiKeyRequestDeserializer( + ObjectDeserializer op) { + + op.add(Builder::access, Access._DESERIALIZER, "access"); + op.add(Builder::expiration, Time._DESERIALIZER, "expiration"); + op.add(Builder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Endpoint "{@code security.update_cross_cluster_api_key}". + */ + public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( + "es/security.update_cross_cluster_api_key", + + // Request method + request -> { + return "PUT"; + + }, + + // Request path + request -> { + final int _id = 1 << 0; + + int propsSet = 0; + + propsSet |= _id; + + if (propsSet == (_id)) { + StringBuilder buf = new StringBuilder(); + buf.append("/_security"); + buf.append("/cross_cluster"); + buf.append("/api_key"); + buf.append("/"); + SimpleEndpoint.pathEncode(request.id, buf); + return buf.toString(); + } + throw SimpleEndpoint.noPathTemplateFound("path"); + + }, + + // Path parameters + request -> { + Map params = new HashMap<>(); + final int _id = 1 << 0; + + int propsSet = 0; + + propsSet |= _id; + + if (propsSet == (_id)) { + params.put("id", request.id); + } + return params; + }, + + // Request parameters + request -> { + return Collections.emptyMap(); + + }, SimpleEndpoint.emptyMap(), true, UpdateCrossClusterApiKeyResponse._DESERIALIZER); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyResponse.java new file mode 100644 index 000000000..c99ec7f5c --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/UpdateCrossClusterApiKeyResponse.java @@ -0,0 +1,163 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security.update_cross_cluster_api_key.Response + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class UpdateCrossClusterApiKeyResponse implements JsonpSerializable { + private final boolean updated; + + // --------------------------------------------------------------------------------------------- + + private UpdateCrossClusterApiKeyResponse(Builder builder) { + + this.updated = ApiTypeHelper.requireNonNull(builder.updated, this, "updated"); + + } + + public static UpdateCrossClusterApiKeyResponse of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - If true, the API key was updated. If + * false, the API key didn’t change because no change was detected. + *

    + * API name: {@code updated} + */ + public final boolean updated() { + return this.updated; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("updated"); + generator.write(this.updated); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link UpdateCrossClusterApiKeyResponse}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Boolean updated; + + /** + * Required - If true, the API key was updated. If + * false, the API key didn’t change because no change was detected. + *

    + * API name: {@code updated} + */ + public final Builder updated(boolean value) { + this.updated = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link UpdateCrossClusterApiKeyResponse}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public UpdateCrossClusterApiKeyResponse build() { + _checkSingleUse(); + + return new UpdateCrossClusterApiKeyResponse(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link UpdateCrossClusterApiKeyResponse} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, UpdateCrossClusterApiKeyResponse::setupUpdateCrossClusterApiKeyResponseDeserializer); + + protected static void setupUpdateCrossClusterApiKeyResponseDeserializer( + ObjectDeserializer op) { + + op.add(Builder::updated, JsonpDeserializer.booleanDeserializer(), "updated"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ListRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ListRequest.java index 1a2544985..c212aa37b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ListRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/tasks/ListRequest.java @@ -79,7 +79,7 @@ public class ListRequest extends RequestBase { @Nullable private final Time masterTimeout; - private final List nodeId; + private final List nodes; @Nullable private final String parentTaskId; @@ -98,7 +98,7 @@ private ListRequest(Builder builder) { this.detailed = builder.detailed; this.groupBy = builder.groupBy; this.masterTimeout = builder.masterTimeout; - this.nodeId = ApiTypeHelper.unmodifiable(builder.nodeId); + this.nodes = ApiTypeHelper.unmodifiable(builder.nodes); this.parentTaskId = builder.parentTaskId; this.timeout = builder.timeout; this.waitForCompletion = builder.waitForCompletion; @@ -154,10 +154,10 @@ public final Time masterTimeout() { /** * Comma-separated list of node IDs or names used to limit returned information. *

    - * API name: {@code node_id} + * API name: {@code nodes} */ - public final List nodeId() { - return this.nodeId; + public final List nodes() { + return this.nodes; } /** @@ -212,7 +212,7 @@ public static class Builder extends RequestBase.AbstractBuilder impleme private Time masterTimeout; @Nullable - private List nodeId; + private List nodes; @Nullable private String parentTaskId; @@ -294,24 +294,24 @@ public final Builder masterTimeout(Function> f /** * Comma-separated list of node IDs or names used to limit returned information. *

    - * API name: {@code node_id} + * API name: {@code nodes} *

    - * Adds all elements of list to nodeId. + * Adds all elements of list to nodes. */ - public final Builder nodeId(List list) { - this.nodeId = _listAddAll(this.nodeId, list); + public final Builder nodes(List list) { + this.nodes = _listAddAll(this.nodes, list); return this; } /** * Comma-separated list of node IDs or names used to limit returned information. *

    - * API name: {@code node_id} + * API name: {@code nodes} *

    - * Adds one or more values to nodeId. + * Adds one or more values to nodes. */ - public final Builder nodeId(String value, String... values) { - this.nodeId = _listAdd(this.nodeId, value, values); + public final Builder nodes(String value, String... values) { + this.nodes = _listAdd(this.nodes, value, values); return this; } @@ -406,6 +406,9 @@ public ListRequest build() { if (request.masterTimeout != null) { params.put("master_timeout", request.masterTimeout._toJsonString()); } + if (ApiTypeHelper.isDefined(request.nodes)) { + params.put("nodes", request.nodes.stream().map(v -> v).collect(Collectors.joining(","))); + } if (request.parentTaskId != null) { params.put("parent_task_id", request.parentTaskId); } @@ -424,9 +427,6 @@ public ListRequest build() { if (request.timeout != null) { params.put("timeout", request.timeout._toJsonString()); } - if (ApiTypeHelper.isDefined(request.nodeId)) { - params.put("node_id", request.nodeId.stream().map(v -> v).collect(Collectors.joining(","))); - } return params; }, SimpleEndpoint.emptyMap(), false, ListResponse._DESERIALIZER); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java index 8e1562695..c13fe9212 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/xpack/info/Features.java @@ -84,6 +84,8 @@ public class Features implements JsonpSerializable { private final Feature logstash; + private final Feature logsdb; + private final Feature ml; private final Feature monitoring; @@ -130,6 +132,7 @@ private Features(Builder builder) { this.graph = ApiTypeHelper.requireNonNull(builder.graph, this, "graph"); this.ilm = ApiTypeHelper.requireNonNull(builder.ilm, this, "ilm"); this.logstash = ApiTypeHelper.requireNonNull(builder.logstash, this, "logstash"); + this.logsdb = ApiTypeHelper.requireNonNull(builder.logsdb, this, "logsdb"); this.ml = ApiTypeHelper.requireNonNull(builder.ml, this, "ml"); this.monitoring = ApiTypeHelper.requireNonNull(builder.monitoring, this, "monitoring"); this.rollup = ApiTypeHelper.requireNonNull(builder.rollup, this, "rollup"); @@ -243,6 +246,13 @@ public final Feature logstash() { return this.logstash; } + /** + * Required - API name: {@code logsdb} + */ + public final Feature logsdb() { + return this.logsdb; + } + /** * Required - API name: {@code ml} */ @@ -392,6 +402,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("logstash"); this.logstash.serialize(generator, mapper); + generator.writeKey("logsdb"); + this.logsdb.serialize(generator, mapper); + generator.writeKey("ml"); this.ml.serialize(generator, mapper); @@ -476,6 +489,8 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Feature logstash; + private Feature logsdb; + private Feature ml; private Feature monitoring; @@ -700,6 +715,21 @@ public final Builder logstash(Function> return this.logstash(fn.apply(new Feature.Builder()).build()); } + /** + * Required - API name: {@code logsdb} + */ + public final Builder logsdb(Feature value) { + this.logsdb = value; + return this; + } + + /** + * Required - API name: {@code logsdb} + */ + public final Builder logsdb(Function> fn) { + return this.logsdb(fn.apply(new Feature.Builder()).build()); + } + /** * Required - API name: {@code ml} */ @@ -951,6 +981,7 @@ protected static void setupFeaturesDeserializer(ObjectDeserializer Date: Thu, 14 Nov 2024 17:55:36 +0100 Subject: [PATCH 017/106] Parse ES|QL response body header more leniently (#903) Co-authored-by: Laura Trotta <153528055+l-trotta@users.noreply.github.com> --- .../_helpers/esql/EsqlAdapterBase.java | 42 ++++++++++++------- .../_helpers/esql/EsqlMetadata.java | 4 ++ .../_helpers/esql/EsqlAdapterTest.java | 26 ++++++++++++ 3 files changed, 58 insertions(+), 14 deletions(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterBase.java index 374de7f07..03bb687d7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterBase.java @@ -34,26 +34,40 @@ public abstract class EsqlAdapterBase implements EsqlAdapter { * The caller can then read row arrays until finding an end array that closes the top-level array. */ public static EsqlMetadata readHeader(JsonParser parser, JsonpMapper mapper) { + EsqlMetadata result = new EsqlMetadata(); + JsonpUtils.expectNextEvent(parser, JsonParser.Event.START_OBJECT); - JsonpUtils.expectNextEvent(parser, JsonParser.Event.KEY_NAME); - if (!"columns".equals(parser.getString())) { - throw new JsonpMappingException("Expecting a 'columns' property, but found '" + parser.getString() + "'", parser.getLocation()); + parse: while (JsonpUtils.expectNextEvent(parser, JsonParser.Event.KEY_NAME) != null) { + switch (parser.getString()) { + case "values": { + // We're done parsing header information + break parse; + } + case "columns": { + result.columns = JsonpDeserializer + .arrayDeserializer(EsqlMetadata.EsqlColumn._DESERIALIZER) + .deserialize(parser, mapper); + break; + } + case "took": { + JsonpUtils.expectNextEvent(parser, JsonParser.Event.VALUE_NUMBER); + result.took = parser.getLong(); + break; + } + default: { + // Ignore everything else + JsonpUtils.skipValue(parser); + break; + } + } } - List columns = JsonpDeserializer - .arrayDeserializer(EsqlMetadata.EsqlColumn._DESERIALIZER) - .deserialize(parser, mapper); - - EsqlMetadata result = new EsqlMetadata(); - result.columns = columns; - - JsonpUtils.expectNextEvent(parser, JsonParser.Event.KEY_NAME); - - if (!"values".equals(parser.getString())) { - throw new JsonpMappingException("Expecting a 'values' property, but found '" + parser.getString() + "'", parser.getLocation()); + if (result.columns == null) { + throw new JsonpMappingException("Expecting a 'columns' property before 'values'.", parser.getLocation()); } + // Beginning of the `values` property JsonpUtils.expectNextEvent(parser, JsonParser.Event.START_ARRAY); return result; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlMetadata.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlMetadata.java index d4e23d00b..9cb8cdbf8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlMetadata.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlMetadata.java @@ -26,6 +26,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.ObjectBuilderBase; +import javax.annotation.Nullable; import java.util.List; public class EsqlMetadata { @@ -74,4 +75,7 @@ protected static void setupEsqlColumnDeserializer(ObjectDeserializer columns; + + @Nullable + public Long took; } diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterTest.java index 8f0d877ec..adf852c42 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterTest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._helpers.esql.jdbc.ResultSetEsqlAdapter; import co.elastic.clients.elasticsearch._helpers.esql.objects.ObjectsEsqlAdapter; import co.elastic.clients.elasticsearch.esql.query.EsqlFormat; +import co.elastic.clients.json.JsonpMappingException; import co.elastic.clients.json.jackson.JacksonJsonpMapper; import co.elastic.clients.testkit.MockHttpClient; import co.elastic.clients.transport.endpoints.BinaryResponse; @@ -36,6 +37,7 @@ public class EsqlAdapterTest extends Assertions { String json = "{\n" + + " \"took\": 10," + " \"columns\": [\n" + "\t{\"name\": \"avg_salary\", \"type\": \"double\"},\n" + "\t{\"name\": \"lang\", \t\"type\": \"keyword\"}\n" + @@ -56,6 +58,30 @@ public static class Data { public String lang; } + @Test + public void testMissingColumns() throws IOException { + String badJson = "{\n" + + " \"took\": 10," + + " \"values\": [\n" + + "\t[43760.0, \"Spanish\"],\n" + + "\t[48644.0, \"French\"],\n" + + "\t[48832.0, \"German\"]\n" + + " ]\n" + + "}\n"; + + ElasticsearchClient esClient = new MockHttpClient() + .add("/_query", "application/json", badJson) + .client(new JacksonJsonpMapper()); + + JsonpMappingException jsonMappingException = assertThrows(JsonpMappingException.class, () -> { + esClient.esql().query( + ResultSetEsqlAdapter.INSTANCE, + "FROM employees | STATS avg_salary = AVG(salary) by country" + ); + }); + assertTrue(jsonMappingException.getMessage().contains("Expecting a 'columns' property")); + } + @Test public void testObjectDeserializer() throws IOException { From 7dbded3be6bcc6e0cf45979f733dad6339391aeb Mon Sep 17 00:00:00 2001 From: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Date: Thu, 14 Nov 2024 18:05:10 +0100 Subject: [PATCH 018/106] Using matching docker container server version in unit tests (#904) * unit test container version latest * fetching version info from artifacts api * using io utils also for writing * checkstyle --- .../ElasticsearchTestServer.java | 70 +++++++++++++++++-- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchTestServer.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchTestServer.java index 498bce9ae..9fca54c03 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchTestServer.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchTestServer.java @@ -29,6 +29,7 @@ import co.elastic.clients.transport.Version; import co.elastic.clients.transport.endpoints.DelegatingJsonEndpoint; import co.elastic.clients.transport.rest_client.RestClientTransport; +import org.apache.commons.io.FileUtils; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; @@ -40,12 +41,15 @@ import org.testcontainers.utility.DockerImageName; import javax.net.ssl.SSLContext; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; import java.time.Duration; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.Base64; public class ElasticsearchTestServer implements AutoCloseable { @@ -58,6 +62,7 @@ public class ElasticsearchTestServer implements AutoCloseable { private ElasticsearchClient client; private static ElasticsearchTestServer global; + private static final String artifactsApiUrl = "https://artifacts-api.elastic.co/v1/versions/"; public static synchronized ElasticsearchTestServer global() { if (global == null) { @@ -112,14 +117,70 @@ AuthScope.ANY, new UsernamePasswordCredentials("elastic", "changeme") client = new ElasticsearchClient(transport); } + private Version selectLatestVersion(Version version, String info) { + if (info.contains(version.toString())) { + return version; + } + // if no version X.Y.0 was found, we give up + if (version.maintenance() == 0) { + throw new RuntimeException("Elasticsearch server container version: " + version + " not yet " + + "available"); + } + return selectLatestVersion(new Version(version.major(), version.minor(), version.maintenance() - 1, + false), info); + } + + private String fetchAndWriteVersionInfo(File file) throws IOException { + String versionInfo = IOUtils.toString(new URL(artifactsApiUrl), StandardCharsets.UTF_8); + FileUtils.writeStringToFile(file, versionInfo, StandardCharsets.UTF_8); + return versionInfo; + } + + private Version getLatestAvailableServerVersion(Version version) { + try { + // check if there's cached information + ClassLoader classLoader = getClass().getClassLoader(); + URL location = classLoader.getResource("./co/elastic/clients/version.json"); + + // writing the info on file before returning + if (location == null) { + File file = new File(classLoader.getResource("./co/elastic/clients").getFile() + "/version" + + ".json"); + String versionInfo = fetchAndWriteVersionInfo(file); + return selectLatestVersion(version, versionInfo); + } + + File file = new File(location.getFile()); + + // info file was found, but it's expired + if (Instant.ofEpochMilli(file.lastModified()).isBefore(Instant.now().minus(24, + ChronoUnit.HOURS))) { + String versionInfo = fetchAndWriteVersionInfo(file); + return selectLatestVersion(version, versionInfo); + } + + // info file exists and it has new info + String versionInfo = FileUtils.readFileToString(file, StandardCharsets.UTF_8); + return selectLatestVersion(version, versionInfo); + + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public synchronized ElasticsearchTestServer start() { if (this.client != null) { return this; } - Version version = Version.VERSION.major() < 8 ? new Version(7,17,5,false) : new Version(8,12,0,false); + Version version = getLatestAvailableServerVersion(Version.VERSION); + + // using specific stable version for tests with plugins + if (plugins.length > 0) { + version = Version.VERSION.major() < 8 ? new Version(7, 17, 25, false) : new Version(8, 16, 0, + false); + } - // Note we could use version.major() + "." + version.minor() + "-SNAPSHOT" but plugins won't install on a snapshot version String esImage = "docker.elastic.co/elasticsearch/elasticsearch:" + version; DockerImageName image; @@ -166,10 +227,11 @@ public static JsonData getJsonResponse(ElasticsearchClient client, Req req try { @SuppressWarnings("unchecked") - JsonEndpoint endpoint0 = (JsonEndpoint) request.getClass() + JsonEndpoint endpoint0 = (JsonEndpoint) request.getClass() .getDeclaredField("_ENDPOINT").get(null); endpoint = endpoint0; - } catch (IllegalAccessException|NoSuchFieldException e) { + } catch (IllegalAccessException | NoSuchFieldException e) { throw new RuntimeException(e); } From 1fa5d65c7a8bae379c204de5ddcf6dda5a19815e Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Mon, 18 Nov 2024 14:17:28 +0100 Subject: [PATCH 019/106] using same dates release highlight --- docs/release-notes/release-highlights.asciidoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/release-highlights.asciidoc b/docs/release-notes/release-highlights.asciidoc index 49ee99ed8..628d6c753 100644 --- a/docs/release-notes/release-highlights.asciidoc +++ b/docs/release-notes/release-highlights.asciidoc @@ -57,8 +57,8 @@ RangeQuery ra = RangeQuery.of(r -> r // no distinction between various types (d RangeQuery ra = RangeQuery.of(r -> r .date(d -> d // choose query type before .field("day") - .gte("20-06-24") // field now only accepts valid type for the specified query - .lte("20-07-24") + .gte("2024-06-20") // field now only accepts valid type for the specified query + .lte("2024-07-05") .boost(1.0F) .format("yyyy-MM-dd") .relation(RangeRelation.Contains))); From 770d42a087afe25567bc87fe8f624430cbc0cf3f Mon Sep 17 00:00:00 2001 From: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Date: Mon, 18 Nov 2024 16:01:29 +0100 Subject: [PATCH 020/106] updated article code (#895) --- .../clients/esql/article/EsqlArticle.java | 211 ++++++++++-------- .../src/main/resources/application.conf | 3 - 2 files changed, 114 insertions(+), 100 deletions(-) delete mode 100644 examples/esql-article/src/main/resources/application.conf diff --git a/examples/esql-article/src/main/java/co/elastic/clients/esql/article/EsqlArticle.java b/examples/esql-article/src/main/java/co/elastic/clients/esql/article/EsqlArticle.java index 97dddaa3b..a59faa1db 100644 --- a/examples/esql-article/src/main/java/co/elastic/clients/esql/article/EsqlArticle.java +++ b/examples/esql-article/src/main/java/co/elastic/clients/esql/article/EsqlArticle.java @@ -39,8 +39,13 @@ import org.elasticsearch.client.RestClient; import java.io.FileInputStream; -import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import java.nio.file.Path; import java.nio.file.Paths; import java.sql.ResultSet; @@ -53,125 +58,137 @@ public class EsqlArticle { - public static void main(String[] args) throws IOException, SQLException { + public static void main(String[] args) throws IOException, SQLException, InterruptedException { String dir = System.getProperty("user.dir"); Properties prop = new Properties(); Path path = Paths.get(dir, "examples", "esql-article", "src", "main", "resources", "application" + ".conf"); prop.load(new FileInputStream(path.toString())); - String serverUrl = prop.getProperty("server-url"); - String apiKey = prop.getProperty("api-key"); - String csvPath = prop.getProperty("csv-file"); + String serverUrl = System.getenv("server-url"); + String apiKey = System.getenv("api-key"); + String booksUrl = "https://raw.githubusercontent" + + ".com/elastic/elasticsearch-php-examples/main/examples/ESQL/data/books.csv"; - RestClient restClient = RestClient + try (RestClient restClient = RestClient .builder(HttpHost.create(serverUrl)) .setDefaultHeaders(new Header[]{ new BasicHeader("Authorization", "ApiKey " + apiKey) }) - .build(); - - ObjectMapper mapper = JsonMapper.builder() - .build(); - - JacksonJsonpMapper jsonpMapper = new JacksonJsonpMapper(mapper); - - ElasticsearchTransport transport = new RestClientTransport( - restClient, jsonpMapper); - - ElasticsearchClient client = new ElasticsearchClient(transport); - - if (!client.indices().exists(ex -> ex.index("books")).value()) { - client.indices() - .create(c -> c - .index("books") - .mappings(mp -> mp - .properties("title", p -> p.text(t -> t)) - .properties("description", p -> p.text(t -> t)) - .properties("author", p -> p.text(t -> t)) - .properties("year", p -> p.short_(s -> s)) - .properties("publisher", p -> p.text(t -> t)) - .properties("ratings", p -> p.halfFloat(hf -> hf)) - )); - } + .build()) { + + ObjectMapper mapper = JsonMapper.builder() + .build(); + + JacksonJsonpMapper jsonpMapper = new JacksonJsonpMapper(mapper); + + ElasticsearchTransport transport = new RestClientTransport( + restClient, jsonpMapper); + + ElasticsearchClient client = new ElasticsearchClient(transport); - Instant start = Instant.now(); - System.out.println("Starting BulkIndexer... \n"); - - CsvMapper csvMapper = new CsvMapper(); - CsvSchema schema = CsvSchema.builder() - .addColumn("title") // same order as in the csv - .addColumn("description") - .addColumn("author") - .addColumn("year") - .addColumn("publisher") - .addColumn("ratings") - .setColumnSeparator(';') - .setSkipFirstDataRow(true) - .build(); - - MappingIterator it = csvMapper - .readerFor(Book.class) - .with(schema) - .readValues(new FileReader(csvPath)); - - BulkIngester ingester = BulkIngester.of(bi -> bi - .client(client) - .maxConcurrentRequests(20) - .maxOperations(5000)); - - boolean hasNext = true; - - while (hasNext) { - try { - Book book = it.nextValue(); - ingester.add(BulkOperation.of(b -> b - .index(i -> i + if (!client.indices().exists(ex -> ex.index("books")).value()) { + client.indices() + .create(c -> c .index("books") - .document(book)))); - hasNext = it.hasNextValue(); - } catch (JsonParseException | InvalidFormatException e) { - // ignore malformed data + .mappings(mp -> mp + .properties("title", p -> p.text(t -> t)) + .properties("description", p -> p.text(t -> t)) + .properties("author", p -> p.text(t -> t)) + .properties("year", p -> p.short_(s -> s)) + .properties("publisher", p -> p.text(t -> t)) + .properties("ratings", p -> p.halfFloat(hf -> hf)) + )); } - } - ingester.close(); + Instant start = Instant.now(); + System.out.println("Starting BulkIndexer... \n"); + + CsvMapper csvMapper = new CsvMapper(); + CsvSchema schema = CsvSchema.builder() + .addColumn("title") // same order as in the csv + .addColumn("description") + .addColumn("author") + .addColumn("year") + .addColumn("publisher") + .addColumn("ratings") + .setColumnSeparator(';') + .setSkipFirstDataRow(true) + .build(); + + HttpClient httpClient = HttpClient.newHttpClient(); + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(booksUrl)) + .build(); + + HttpResponse response = httpClient.send(request, + HttpResponse.BodyHandlers.ofInputStream()); + InputStream csvContentStream = response.body(); + + MappingIterator it = csvMapper + .readerFor(Book.class) + .with(schema) + .readValues(new InputStreamReader(csvContentStream)); + + BulkIngester ingester = BulkIngester.of(bi -> bi + .client(client) + .maxConcurrentRequests(20) + .maxOperations(5000)); + + boolean hasNext = true; + + while (hasNext) { + try { + Book book = it.nextValue(); + ingester.add(BulkOperation.of(b -> b + .index(i -> i + .index("books") + .document(book)))); + hasNext = it.hasNextValue(); + } catch (JsonParseException | InvalidFormatException e) { + // ignore malformed data + } + } - client.indices().refresh(); + ingester.close(); - Instant end = Instant.now(); + client.indices().refresh(); - System.out.println("Finished in: " + Duration.between(start, end).toMillis() + "\n"); + Instant end = Instant.now(); - String queryAuthor = - """ - from books - | where author == "Isaac Asimov" - | sort year desc - | limit 10 - """; + System.out.println("Finished in: " + Duration.between(start, end).toMillis() + "\n"); - List queryRes = (List) client.esql().query(ObjectsEsqlAdapter.of(Book.class), queryAuthor); + String queryAuthor = + """ + from books + | where author == "Isaac Asimov" + | sort year desc + | limit 10 + """; - System.out.println("~~~\nObject result author:\n" + queryRes.stream().map(Book::title).collect(Collectors.joining("\n"))); + List queryRes = (List) client.esql().query(ObjectsEsqlAdapter.of(Book.class), + queryAuthor); - ResultSet resultSet = client.esql().query(ResultSetEsqlAdapter.INSTANCE, queryAuthor); + System.out.println("~~~\nObject result author:\n" + queryRes.stream().map(Book::title).collect(Collectors.joining("\n"))); - System.out.println("~~~\nResultSet result author:"); - while (resultSet.next()) { - System.out.println(resultSet.getString("title")); - } + try (ResultSet resultSet = client.esql().query(ResultSetEsqlAdapter.INSTANCE, queryAuthor)) { + System.out.println("~~~\nResultSet result author:"); + while (resultSet.next()) { + System.out.println(resultSet.getString("title")); + } + } - String queryPublisher = - """ - from books - | where publisher == "Penguin" - | sort ratings desc - | limit 10 - | sort title asc - """; - - queryRes = (List) client.esql().query(ObjectsEsqlAdapter.of(Book.class), queryPublisher); - System.out.println("~~~\nObject result publisher:\n" + queryRes.stream().map(Book::title).collect(Collectors.joining("\n"))); + String queryPublisher = + """ + from books + | where publisher == "Penguin" + | sort ratings desc + | limit 10 + | sort title asc + """; + + queryRes = (List) client.esql().query(ObjectsEsqlAdapter.of(Book.class), queryPublisher); + System.out.println("~~~\nObject result publisher:\n" + queryRes.stream().map(Book::title).collect(Collectors.joining("\n"))); + } } } diff --git a/examples/esql-article/src/main/resources/application.conf b/examples/esql-article/src/main/resources/application.conf deleted file mode 100644 index fa70bd046..000000000 --- a/examples/esql-article/src/main/resources/application.conf +++ /dev/null @@ -1,3 +0,0 @@ -server-url=elasticsearch-server-url -api-key=elasticsearch-api-key -csv-file=/path/to/your/csv/books.csv From 6db38a97780fcd59ab97293fee4ef3a9ec61f0c6 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 19 Nov 2024 12:58:54 +0100 Subject: [PATCH 021/106] [codegen] update to latest spec --- .../elasticsearch/doc-files/api-spec.html | 54 ++-- .../elasticsearch/indices/IndexTemplate.java | 90 +++++++ .../migration/DeprecationsResponse.java | 53 ++++ .../security/ClusterPrivilege.java | 2 + .../GetBuiltinPrivilegesResponse.java | 43 ++++ .../security/PutRoleRequest.java | 63 +++++ .../security/RemoteClusterPrivilege.java | 67 +++++ .../security/RemoteClusterPrivileges.java | 242 ++++++++++++++++++ .../security/RemoteIndicesPrivileges.java | 3 +- .../security/ReplicationAccess.java | 36 +++ .../elasticsearch/security/Restriction.java | 175 +++++++++++++ .../security/RestrictionWorkflow.java | 65 +++++ .../security/RoleDescriptor.java | 172 +++++++++++++ .../security/RoleDescriptorRead.java | 172 +++++++++++++ .../elasticsearch/security/get_role/Role.java | 113 ++++++++ 15 files changed, 1324 insertions(+), 26 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteClusterPrivilege.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteClusterPrivileges.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/Restriction.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/RestrictionWorkflow.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index c680732e3..d38d34353 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -1439,9 +1439,9 @@ 'indices._types.IndexSettingsLifecycleStep': 'indices/_types/IndexSettings.ts#L311-L317', 'indices._types.IndexSettingsTimeSeries': 'indices/_types/IndexSettings.ts#L327-L330', 'indices._types.IndexState': 'indices/_types/IndexState.ts#L27-L40', -'indices._types.IndexTemplate': 'indices/_types/IndexTemplate.ts#L28-L67', -'indices._types.IndexTemplateDataStreamConfiguration': 'indices/_types/IndexTemplate.ts#L69-L80', -'indices._types.IndexTemplateSummary': 'indices/_types/IndexTemplate.ts#L82-L104', +'indices._types.IndexTemplate': 'indices/_types/IndexTemplate.ts#L28-L81', +'indices._types.IndexTemplateDataStreamConfiguration': 'indices/_types/IndexTemplate.ts#L83-L94', +'indices._types.IndexTemplateSummary': 'indices/_types/IndexTemplate.ts#L96-L118', 'indices._types.IndexVersioning': 'indices/_types/IndexSettings.ts#L271-L274', 'indices._types.IndexingPressure': 'indices/_types/IndexSettings.ts#L550-L552', 'indices._types.IndexingPressureMemory': 'indices/_types/IndexSettings.ts#L554-L561', @@ -1815,7 +1815,7 @@ 'migration.deprecations.Deprecation': 'migration/deprecations/types.ts#L29-L35', 'migration.deprecations.DeprecationLevel': 'migration/deprecations/types.ts#L20-L27', 'migration.deprecations.Request': 'migration/deprecations/DeprecationInfoRequest.ts#L23-L32', -'migration.deprecations.Response': 'migration/deprecations/DeprecationInfoResponse.ts#L23-L30', +'migration.deprecations.Response': 'migration/deprecations/DeprecationInfoResponse.ts#L23-L31', 'migration.get_feature_upgrade_status.MigrationFeature': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L37-L42', 'migration.get_feature_upgrade_status.MigrationFeatureIndexInfo': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L44-L48', 'migration.get_feature_upgrade_status.MigrationStatus': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L30-L35', @@ -2393,35 +2393,39 @@ 'searchable_snapshots.stats.Response': 'searchable_snapshots/stats/SearchableSnapshotsStatsResponse.ts#L22-L27', 'security._types.Access': 'security/_types/Access.ts#L22-L31', 'security._types.ApiKey': 'security/_types/ApiKey.ts#L26-L88', -'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L372-L374', +'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L409-L411', 'security._types.ApplicationPrivileges': 'security/_types/Privileges.ts#L27-L40', 'security._types.BulkError': 'security/_types/Bulk.ts#L24-L33', 'security._types.ClusterNode': 'security/_types/ClusterNode.ts#L22-L24', -'security._types.ClusterPrivilege': 'security/_types/Privileges.ts#L42-L195', +'security._types.ClusterPrivilege': 'security/_types/Privileges.ts#L42-L199', 'security._types.CreatedStatus': 'security/_types/CreatedStatus.ts#L20-L22', 'security._types.FieldRule': 'security/_types/RoleMappingRule.ts#L35-L43', 'security._types.FieldSecurity': 'security/_types/FieldSecurity.ts#L22-L25', -'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L368-L370', +'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L405-L407', 'security._types.GrantType': 'security/_types/GrantType.ts#L20-L29', -'security._types.IndexPrivilege': 'security/_types/Privileges.ts#L324-L366', -'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L198-L222', -'security._types.IndicesPrivilegesQuery': 'security/_types/Privileges.ts#L279-L287', -'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L376-L378', +'security._types.IndexPrivilege': 'security/_types/Privileges.ts#L361-L403', +'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L216-L242', +'security._types.IndicesPrivilegesQuery': 'security/_types/Privileges.ts#L316-L324', +'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L413-L415', 'security._types.RealmInfo': 'security/_types/RealmInfo.ts#L22-L25', -'security._types.RemoteIndicesPrivileges': 'security/_types/Privileges.ts#L225-L253', -'security._types.ReplicationAccess': 'security/_types/Privileges.ts#L380-L385', -'security._types.RoleDescriptor': 'security/_types/RoleDescriptor.ts#L31-L64', -'security._types.RoleDescriptorRead': 'security/_types/RoleDescriptor.ts#L66-L98', +'security._types.RemoteClusterPrivilege': 'security/_types/Privileges.ts#L201-L213', +'security._types.RemoteClusterPrivileges': 'security/_types/Privileges.ts#L278-L290', +'security._types.RemoteIndicesPrivileges': 'security/_types/Privileges.ts#L244-L276', +'security._types.ReplicationAccess': 'security/_types/Privileges.ts#L417-L427', +'security._types.Restriction': 'security/_types/RoleDescriptor.ts#L130-L132', +'security._types.RestrictionWorkflow': 'security/_types/RoleDescriptor.ts#L134-L137', +'security._types.RoleDescriptor': 'security/_types/RoleDescriptor.ts#L33-L80', +'security._types.RoleDescriptorRead': 'security/_types/RoleDescriptor.ts#L82-L128', 'security._types.RoleMapping': 'security/_types/RoleMapping.ts#L25-L33', 'security._types.RoleMappingRule': 'security/_types/RoleMappingRule.ts#L22-L33', 'security._types.RoleTemplate': 'security/_types/RoleTemplate.ts#L28-L31', -'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L321-L322', -'security._types.RoleTemplateQuery': 'security/_types/Privileges.ts#L289-L299', -'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L301-L319', -'security._types.SearchAccess': 'security/_types/Privileges.ts#L387-L407', +'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L358-L359', +'security._types.RoleTemplateQuery': 'security/_types/Privileges.ts#L326-L336', +'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L338-L356', +'security._types.SearchAccess': 'security/_types/Privileges.ts#L429-L449', 'security._types.TemplateFormat': 'security/_types/RoleTemplate.ts#L22-L25', 'security._types.User': 'security/_types/User.ts#L23-L31', -'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L255-L277', +'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L292-L314', 'security._types.UserProfile': 'security/_types/UserProfile.ts#L41-L47', 'security._types.UserProfileHitMetadata': 'security/_types/UserProfile.ts#L27-L30', 'security._types.UserProfileUser': 'security/_types/UserProfile.ts#L32-L39', @@ -2481,12 +2485,12 @@ 'security.get_api_key.Request': 'security/get_api_key/SecurityGetApiKeyRequest.ts#L23-L88', 'security.get_api_key.Response': 'security/get_api_key/SecurityGetApiKeyResponse.ts#L22-L24', 'security.get_builtin_privileges.Request': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesRequest.ts#L22-L32', -'security.get_builtin_privileges.Response': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesResponse.ts#L22-L24', +'security.get_builtin_privileges.Response': 'security/get_builtin_privileges/SecurityGetBuiltinPrivilegesResponse.ts#L26-L35', 'security.get_privileges.Request': 'security/get_privileges/SecurityGetPrivilegesRequest.ts#L23-L35', 'security.get_privileges.Response': 'security/get_privileges/SecurityGetPrivilegesResponse.ts#L23-L26', 'security.get_role.Request': 'security/get_role/SecurityGetRoleRequest.ts#L23-L39', 'security.get_role.Response': 'security/get_role/SecurityGetRoleResponse.ts#L23-L26', -'security.get_role.Role': 'security/get_role/types.ts#L29-L42', +'security.get_role.Role': 'security/get_role/types.ts#L32-L53', 'security.get_role_mapping.Request': 'security/get_role_mapping/SecurityGetRoleMappingRequest.ts#L23-L42', 'security.get_role_mapping.Response': 'security/get_role_mapping/SecurityGetRoleMappingResponse.ts#L23-L26', 'security.get_service_accounts.Request': 'security/get_service_accounts/GetServiceAccountsRequest.ts#L23-L44', @@ -2528,7 +2532,7 @@ 'security.put_privileges.Actions': 'security/put_privileges/types.ts#L22-L27', 'security.put_privileges.Request': 'security/put_privileges/SecurityPutPrivilegesRequest.ts#L25-L38', 'security.put_privileges.Response': 'security/put_privileges/SecurityPutPrivilegesResponse.ts#L23-L26', -'security.put_role.Request': 'security/put_role/SecurityPutRoleRequest.ts#L31-L95', +'security.put_role.Request': 'security/put_role/SecurityPutRoleRequest.ts#L32-L101', 'security.put_role.Response': 'security/put_role/SecurityPutRoleResponse.ts#L22-L24', 'security.put_role_mapping.Request': 'security/put_role_mapping/SecurityPutRoleMappingRequest.ts#L25-L56', 'security.put_role_mapping.Response': 'security/put_role_mapping/SecurityPutRoleMappingResponse.ts#L22-L24', @@ -2953,10 +2957,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/55d431ab4ffe02043ba6f6a41d27f14542f4c792/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/cf7d574e642f871f48b16f316b56acc17acf4752/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java index 638061f29..ce5ab90a0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java @@ -85,6 +85,11 @@ public class IndexTemplate implements JsonpSerializable { @Nullable private final IndexTemplateDataStreamConfiguration dataStream; + @Nullable + private final Boolean deprecated; + + private final List ignoreMissingComponentTemplates; + // --------------------------------------------------------------------------------------------- private IndexTemplate(Builder builder) { @@ -97,6 +102,8 @@ private IndexTemplate(Builder builder) { this.meta = ApiTypeHelper.unmodifiable(builder.meta); this.allowAutoCreate = builder.allowAutoCreate; this.dataStream = builder.dataStream; + this.deprecated = builder.deprecated; + this.ignoreMissingComponentTemplates = ApiTypeHelper.unmodifiable(builder.ignoreMissingComponentTemplates); } @@ -190,6 +197,27 @@ public final IndexTemplateDataStreamConfiguration dataStream() { return this.dataStream; } + /** + * Marks this index template as deprecated. When creating or updating a + * non-deprecated index template that uses deprecated components, Elasticsearch + * will emit a deprecation warning. + *

    + * API name: {@code deprecated} + */ + @Nullable + public final Boolean deprecated() { + return this.deprecated; + } + + /** + * A list of component template names that are allowed to be absent. + *

    + * API name: {@code ignore_missing_component_templates} + */ + public final List ignoreMissingComponentTemplates() { + return this.ignoreMissingComponentTemplates; + } + /** * Serialize this object to JSON. */ @@ -257,6 +285,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.dataStream.serialize(generator, mapper); } + if (this.deprecated != null) { + generator.writeKey("deprecated"); + generator.write(this.deprecated); + + } + if (ApiTypeHelper.isDefined(this.ignoreMissingComponentTemplates)) { + generator.writeKey("ignore_missing_component_templates"); + generator.writeStartArray(); + for (String item0 : this.ignoreMissingComponentTemplates) { + generator.write(item0); + + } + generator.writeEnd(); + + } } @@ -294,6 +337,12 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private IndexTemplateDataStreamConfiguration dataStream; + @Nullable + private Boolean deprecated; + + @Nullable + private List ignoreMissingComponentTemplates; + /** * Required - Name of the index template. *

    @@ -450,6 +499,43 @@ public final Builder dataStream( return this.dataStream(fn.apply(new IndexTemplateDataStreamConfiguration.Builder()).build()); } + /** + * Marks this index template as deprecated. When creating or updating a + * non-deprecated index template that uses deprecated components, Elasticsearch + * will emit a deprecation warning. + *

    + * API name: {@code deprecated} + */ + public final Builder deprecated(@Nullable Boolean value) { + this.deprecated = value; + return this; + } + + /** + * A list of component template names that are allowed to be absent. + *

    + * API name: {@code ignore_missing_component_templates} + *

    + * Adds all elements of list to + * ignoreMissingComponentTemplates. + */ + public final Builder ignoreMissingComponentTemplates(List list) { + this.ignoreMissingComponentTemplates = _listAddAll(this.ignoreMissingComponentTemplates, list); + return this; + } + + /** + * A list of component template names that are allowed to be absent. + *

    + * API name: {@code ignore_missing_component_templates} + *

    + * Adds one or more values to ignoreMissingComponentTemplates. + */ + public final Builder ignoreMissingComponentTemplates(String value, String... values) { + this.ignoreMissingComponentTemplates = _listAdd(this.ignoreMissingComponentTemplates, value, values); + return this; + } + @Override protected Builder self() { return this; @@ -488,6 +574,10 @@ protected static void setupIndexTemplateDeserializer(ObjectDeserializer> indexSettings; + private final Map> dataStreams; + private final List nodeSettings; private final List mlSettings; @@ -76,6 +78,7 @@ private DeprecationsResponse(Builder builder) { this.clusterSettings = ApiTypeHelper.unmodifiableRequired(builder.clusterSettings, this, "clusterSettings"); this.indexSettings = ApiTypeHelper.unmodifiableRequired(builder.indexSettings, this, "indexSettings"); + this.dataStreams = ApiTypeHelper.unmodifiableRequired(builder.dataStreams, this, "dataStreams"); this.nodeSettings = ApiTypeHelper.unmodifiableRequired(builder.nodeSettings, this, "nodeSettings"); this.mlSettings = ApiTypeHelper.unmodifiableRequired(builder.mlSettings, this, "mlSettings"); @@ -99,6 +102,13 @@ public final Map> indexSettings() { return this.indexSettings; } + /** + * Required - API name: {@code data_streams} + */ + public final Map> dataStreams() { + return this.dataStreams; + } + /** * Required - API name: {@code node_settings} */ @@ -151,6 +161,24 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.dataStreams)) { + generator.writeKey("data_streams"); + generator.writeStartObject(); + for (Map.Entry> item0 : this.dataStreams.entrySet()) { + generator.writeKey(item0.getKey()); + generator.writeStartArray(); + if (item0.getValue() != null) { + for (Deprecation item1 : item0.getValue()) { + item1.serialize(generator, mapper); + + } + } + generator.writeEnd(); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.nodeSettings)) { generator.writeKey("node_settings"); @@ -193,6 +221,8 @@ public static class Builder extends WithJsonObjectBuilderBase private Map> indexSettings; + private Map> dataStreams; + private List nodeSettings; private List mlSettings; @@ -246,6 +276,26 @@ public final Builder indexSettings(String key, List value) { return this; } + /** + * Required - API name: {@code data_streams} + *

    + * Adds all entries of map to dataStreams. + */ + public final Builder dataStreams(Map> map) { + this.dataStreams = _mapPutAll(this.dataStreams, map); + return this; + } + + /** + * Required - API name: {@code data_streams} + *

    + * Adds an entry to dataStreams. + */ + public final Builder dataStreams(String key, List value) { + this.dataStreams = _mapPut(this.dataStreams, key, value); + return this; + } + /** * Required - API name: {@code node_settings} *

    @@ -337,6 +387,9 @@ protected static void setupDeprecationsResponseDeserializer(ObjectDeserializer index; + private final List remoteCluster; + // --------------------------------------------------------------------------------------------- private GetBuiltinPrivilegesResponse(Builder builder) { this.cluster = ApiTypeHelper.unmodifiableRequired(builder.cluster, this, "cluster"); this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); + this.remoteCluster = ApiTypeHelper.unmodifiableRequired(builder.remoteCluster, this, "remoteCluster"); } @@ -92,6 +95,13 @@ public final List index() { return this.index; } + /** + * Required - API name: {@code remote_cluster} + */ + public final List remoteCluster() { + return this.remoteCluster; + } + /** * Serialize this object to JSON. */ @@ -123,6 +133,15 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (ApiTypeHelper.isDefined(this.remoteCluster)) { + generator.writeKey("remote_cluster"); + generator.writeStartArray(); + for (RemoteClusterPrivilege item0 : this.remoteCluster) { + item0.serialize(generator, mapper); + } + generator.writeEnd(); + + } } @@ -144,6 +163,8 @@ public static class Builder extends WithJsonObjectBuilderBase private List index; + private List remoteCluster; + /** * Required - API name: {@code cluster} *

    @@ -184,6 +205,26 @@ public final Builder index(String value, String... values) { return this; } + /** + * Required - API name: {@code remote_cluster} + *

    + * Adds all elements of list to remoteCluster. + */ + public final Builder remoteCluster(List list) { + this.remoteCluster = _listAddAll(this.remoteCluster, list); + return this; + } + + /** + * Required - API name: {@code remote_cluster} + *

    + * Adds one or more values to remoteCluster. + */ + public final Builder remoteCluster(RemoteClusterPrivilege value, RemoteClusterPrivilege... values) { + this.remoteCluster = _listAdd(this.remoteCluster, value, values); + return this; + } + @Override protected Builder self() { return this; @@ -216,6 +257,8 @@ protected static void setupGetBuiltinPrivilegesResponseDeserializer( op.add(Builder::cluster, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "cluster"); op.add(Builder::index, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "index"); + op.add(Builder::remoteCluster, JsonpDeserializer.arrayDeserializer(RemoteClusterPrivilege._DESERIALIZER), + "remote_cluster"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java index a5381c075..59d1df3c5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java @@ -90,6 +90,8 @@ public class PutRoleRequest extends RequestBase implements JsonpSerializable { @Nullable private final Refresh refresh; + private final List remoteCluster; + private final List remoteIndices; private final List runAs; @@ -108,6 +110,7 @@ private PutRoleRequest(Builder builder) { this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); this.refresh = builder.refresh; + this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); this.transientMetadata = ApiTypeHelper.unmodifiable(builder.transientMetadata); @@ -203,6 +206,15 @@ public final Refresh refresh() { return this.refresh; } + /** + * A list of remote cluster permissions entries. + *

    + * API name: {@code remote_cluster} + */ + public final List remoteCluster() { + return this.remoteCluster; + } + /** * A list of remote indices permissions entries. *

    @@ -305,6 +317,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.remoteCluster)) { + generator.writeKey("remote_cluster"); + generator.writeStartArray(); + for (RemoteClusterPrivileges item0 : this.remoteCluster) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.remoteIndices)) { generator.writeKey("remote_indices"); @@ -370,6 +392,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Refresh refresh; + @Nullable + private List remoteCluster; + @Nullable private List remoteIndices; @@ -567,6 +592,42 @@ public final Builder refresh(@Nullable Refresh value) { return this; } + /** + * A list of remote cluster permissions entries. + *

    + * API name: {@code remote_cluster} + *

    + * Adds all elements of list to remoteCluster. + */ + public final Builder remoteCluster(List list) { + this.remoteCluster = _listAddAll(this.remoteCluster, list); + return this; + } + + /** + * A list of remote cluster permissions entries. + *

    + * API name: {@code remote_cluster} + *

    + * Adds one or more values to remoteCluster. + */ + public final Builder remoteCluster(RemoteClusterPrivileges value, RemoteClusterPrivileges... values) { + this.remoteCluster = _listAdd(this.remoteCluster, value, values); + return this; + } + + /** + * A list of remote cluster permissions entries. + *

    + * API name: {@code remote_cluster} + *

    + * Adds a value to remoteCluster using a builder lambda. + */ + public final Builder remoteCluster( + Function> fn) { + return remoteCluster(fn.apply(new RemoteClusterPrivileges.Builder()).build()); + } + /** * A list of remote indices permissions entries. *

    @@ -703,6 +764,8 @@ protected static void setupPutRoleRequestDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public enum RemoteClusterPrivilege implements JsonEnum { + MonitorEnrich("monitor_enrich"), + + MonitorStats("monitor_stats"), + + ; + + private final String jsonValue; + + RemoteClusterPrivilege(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + RemoteClusterPrivilege.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteClusterPrivileges.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteClusterPrivileges.java new file mode 100644 index 000000000..619b3d03b --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteClusterPrivileges.java @@ -0,0 +1,242 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.RemoteClusterPrivileges + +/** + * The subset of cluster level privileges that can be defined for remote + * clusters. + * + * @see API + * specification + */ +@JsonpDeserializable +public class RemoteClusterPrivileges implements JsonpSerializable { + private final List clusters; + + private final List privileges; + + // --------------------------------------------------------------------------------------------- + + private RemoteClusterPrivileges(Builder builder) { + + this.clusters = ApiTypeHelper.unmodifiableRequired(builder.clusters, this, "clusters"); + this.privileges = ApiTypeHelper.unmodifiableRequired(builder.privileges, this, "privileges"); + + } + + public static RemoteClusterPrivileges of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

    + * API name: {@code clusters} + */ + public final List clusters() { + return this.clusters; + } + + /** + * Required - The cluster level privileges that owners of the role have on the + * remote cluster. + *

    + * API name: {@code privileges} + */ + public final List privileges() { + return this.privileges; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.clusters)) { + generator.writeKey("clusters"); + generator.writeStartArray(); + for (String item0 : this.clusters) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.privileges)) { + generator.writeKey("privileges"); + generator.writeStartArray(); + for (RemoteClusterPrivilege item0 : this.privileges) { + item0.serialize(generator, mapper); + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link RemoteClusterPrivileges}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private List clusters; + + private List privileges; + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

    + * API name: {@code clusters} + *

    + * Adds all elements of list to clusters. + */ + public final Builder clusters(List list) { + this.clusters = _listAddAll(this.clusters, list); + return this; + } + + /** + * Required - A list of cluster aliases to which the permissions in this entry + * apply. + *

    + * API name: {@code clusters} + *

    + * Adds one or more values to clusters. + */ + public final Builder clusters(String value, String... values) { + this.clusters = _listAdd(this.clusters, value, values); + return this; + } + + /** + * Required - The cluster level privileges that owners of the role have on the + * remote cluster. + *

    + * API name: {@code privileges} + *

    + * Adds all elements of list to privileges. + */ + public final Builder privileges(List list) { + this.privileges = _listAddAll(this.privileges, list); + return this; + } + + /** + * Required - The cluster level privileges that owners of the role have on the + * remote cluster. + *

    + * API name: {@code privileges} + *

    + * Adds one or more values to privileges. + */ + public final Builder privileges(RemoteClusterPrivilege value, RemoteClusterPrivilege... values) { + this.privileges = _listAdd(this.privileges, value, values); + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link RemoteClusterPrivileges}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public RemoteClusterPrivileges build() { + _checkSingleUse(); + + return new RemoteClusterPrivileges(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link RemoteClusterPrivileges} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, RemoteClusterPrivileges::setupRemoteClusterPrivilegesDeserializer); + + protected static void setupRemoteClusterPrivilegesDeserializer( + ObjectDeserializer op) { + + op.add(Builder::clusters, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "clusters"); + op.add(Builder::privileges, JsonpDeserializer.arrayDeserializer(RemoteClusterPrivilege._DESERIALIZER), + "privileges"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteIndicesPrivileges.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteIndicesPrivileges.java index 73659d0fc..bf0228ca9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteIndicesPrivileges.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RemoteIndicesPrivileges.java @@ -55,7 +55,8 @@ // typedef: security._types.RemoteIndicesPrivileges /** - * + * The subset of index level privileges that can be defined for remote clusters. + * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java index 7907d7f89..5bd2ca9e1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ReplicationAccess.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -63,11 +64,15 @@ public class ReplicationAccess implements JsonpSerializable { private final List names; + @Nullable + private final Boolean allowRestrictedIndices; + // --------------------------------------------------------------------------------------------- private ReplicationAccess(Builder builder) { this.names = ApiTypeHelper.unmodifiableRequired(builder.names, this, "names"); + this.allowRestrictedIndices = builder.allowRestrictedIndices; } @@ -85,6 +90,17 @@ public final List names() { return this.names; } + /** + * This needs to be set to true if the patterns in the names field should cover + * system indices. + *

    + * API name: {@code allow_restricted_indices} + */ + @Nullable + public final Boolean allowRestrictedIndices() { + return this.allowRestrictedIndices; + } + /** * Serialize this object to JSON. */ @@ -106,6 +122,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (this.allowRestrictedIndices != null) { + generator.writeKey("allow_restricted_indices"); + generator.write(this.allowRestrictedIndices); + + } } @@ -123,6 +144,9 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { private List names; + @Nullable + private Boolean allowRestrictedIndices; + /** * Required - A list of indices (or index name patterns) to which the * permissions in this entry apply. @@ -149,6 +173,17 @@ public final Builder names(String value, String... values) { return this; } + /** + * This needs to be set to true if the patterns in the names field should cover + * system indices. + *

    + * API name: {@code allow_restricted_indices} + */ + public final Builder allowRestrictedIndices(@Nullable Boolean value) { + this.allowRestrictedIndices = value; + return this; + } + @Override protected Builder self() { return this; @@ -178,6 +213,7 @@ public ReplicationAccess build() { protected static void setupReplicationAccessDeserializer(ObjectDeserializer op) { op.add(Builder::names, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "names"); + op.add(Builder::allowRestrictedIndices, JsonpDeserializer.booleanDeserializer(), "allow_restricted_indices"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Restriction.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Restriction.java new file mode 100644 index 000000000..2d48411ac --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/Restriction.java @@ -0,0 +1,175 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security._types.Restriction + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class Restriction implements JsonpSerializable { + private final List workflows; + + // --------------------------------------------------------------------------------------------- + + private Restriction(Builder builder) { + + this.workflows = ApiTypeHelper.unmodifiableRequired(builder.workflows, this, "workflows"); + + } + + public static Restriction of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code workflows} + */ + public final List workflows() { + return this.workflows; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.workflows)) { + generator.writeKey("workflows"); + generator.writeStartArray(); + for (String item0 : this.workflows) { + generator.write(item0); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link Restriction}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private List workflows; + + /** + * Required - API name: {@code workflows} + *

    + * Adds all elements of list to workflows. + */ + public final Builder workflows(List list) { + this.workflows = _listAddAll(this.workflows, list); + return this; + } + + /** + * Required - API name: {@code workflows} + *

    + * Adds one or more values to workflows. + */ + public final Builder workflows(String value, String... values) { + this.workflows = _listAdd(this.workflows, value, values); + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link Restriction}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public Restriction build() { + _checkSingleUse(); + + return new Restriction(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link Restriction} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + Restriction::setupRestrictionDeserializer); + + protected static void setupRestrictionDeserializer(ObjectDeserializer op) { + + op.add(Builder::workflows, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), + "workflows"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RestrictionWorkflow.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RestrictionWorkflow.java new file mode 100644 index 000000000..4d7f7da51 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RestrictionWorkflow.java @@ -0,0 +1,65 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum RestrictionWorkflow implements JsonEnum { + SearchApplicationQuery("search_application_query"), + + ; + + private final String jsonValue; + + RestrictionWorkflow(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + RestrictionWorkflow.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java index d19de378e..f2f4db6eb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java @@ -66,6 +66,10 @@ public class RoleDescriptor implements JsonpSerializable { private final List indices; + private final List remoteIndices; + + private final List remoteCluster; + private final List global; private final List applications; @@ -77,6 +81,9 @@ public class RoleDescriptor implements JsonpSerializable { @Nullable private final String description; + @Nullable + private final Restriction restriction; + private final Map transientMetadata; // --------------------------------------------------------------------------------------------- @@ -85,11 +92,14 @@ protected RoleDescriptor(AbstractBuilder builder) { this.cluster = ApiTypeHelper.unmodifiable(builder.cluster); this.indices = ApiTypeHelper.unmodifiable(builder.indices); + this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); + this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); this.global = ApiTypeHelper.unmodifiable(builder.global); this.applications = ApiTypeHelper.unmodifiable(builder.applications); this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); this.description = builder.description; + this.restriction = builder.restriction; this.transientMetadata = ApiTypeHelper.unmodifiable(builder.transientMetadata); } @@ -117,6 +127,25 @@ public final List indices() { return this.indices; } + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + */ + public final List remoteIndices() { + return this.remoteIndices; + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + */ + public final List remoteCluster() { + return this.remoteCluster; + } + /** * An object defining global privileges. A global privilege is a form of cluster * privilege that is request-aware. Support for global privileges is currently @@ -169,6 +198,16 @@ public final String description() { return this.description; } + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + @Nullable + public final Restriction restriction() { + return this.restriction; + } + /** * API name: {@code transient_metadata} */ @@ -206,6 +245,26 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.remoteIndices)) { + generator.writeKey("remote_indices"); + generator.writeStartArray(); + for (RemoteIndicesPrivileges item0 : this.remoteIndices) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.remoteCluster)) { + generator.writeKey("remote_cluster"); + generator.writeStartArray(); + for (RemoteClusterPrivileges item0 : this.remoteCluster) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.global)) { generator.writeKey("global"); @@ -252,6 +311,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("description"); generator.write(this.description); + } + if (this.restriction != null) { + generator.writeKey("restriction"); + this.restriction.serialize(generator, mapper); + } if (ApiTypeHelper.isDefined(this.transientMetadata)) { generator.writeKey("transient_metadata"); @@ -308,6 +372,12 @@ public abstract static class AbstractBuilder indices; + @Nullable + private List remoteIndices; + + @Nullable + private List remoteCluster; + @Nullable private List global; @@ -323,6 +393,9 @@ public abstract static class AbstractBuilder transientMetadata; @@ -387,6 +460,81 @@ public final BuilderT indices(Function + * API name: {@code remote_indices} + *

    + * Adds all elements of list to remoteIndices. + */ + public final BuilderT remoteIndices(List list) { + this.remoteIndices = _listAddAll(this.remoteIndices, list); + return self(); + } + + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + *

    + * Adds one or more values to remoteIndices. + */ + public final BuilderT remoteIndices(RemoteIndicesPrivileges value, RemoteIndicesPrivileges... values) { + this.remoteIndices = _listAdd(this.remoteIndices, value, values); + return self(); + } + + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + *

    + * Adds a value to remoteIndices using a builder lambda. + */ + public final BuilderT remoteIndices( + Function> fn) { + return remoteIndices(fn.apply(new RemoteIndicesPrivileges.Builder()).build()); + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds all elements of list to remoteCluster. + */ + public final BuilderT remoteCluster(List list) { + this.remoteCluster = _listAddAll(this.remoteCluster, list); + return self(); + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds one or more values to remoteCluster. + */ + public final BuilderT remoteCluster(RemoteClusterPrivileges value, RemoteClusterPrivileges... values) { + this.remoteCluster = _listAdd(this.remoteCluster, value, values); + return self(); + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds a value to remoteCluster using a builder lambda. + */ + public final BuilderT remoteCluster( + Function> fn) { + return remoteCluster(fn.apply(new RemoteClusterPrivileges.Builder()).build()); + } + /** * An object defining global privileges. A global privilege is a form of cluster * privilege that is request-aware. Support for global privileges is currently @@ -530,6 +678,25 @@ public final BuilderT description(@Nullable String value) { return self(); } + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + public final BuilderT restriction(@Nullable Restriction value) { + this.restriction = value; + return self(); + } + + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + public final BuilderT restriction(Function> fn) { + return this.restriction(fn.apply(new Restriction.Builder()).build()); + } + /** * API name: {@code transient_metadata} *

    @@ -569,6 +736,10 @@ protected static > void setupRoleDesc "cluster"); op.add(AbstractBuilder::indices, JsonpDeserializer.arrayDeserializer(IndicesPrivileges._DESERIALIZER), "indices", "index"); + op.add(AbstractBuilder::remoteIndices, + JsonpDeserializer.arrayDeserializer(RemoteIndicesPrivileges._DESERIALIZER), "remote_indices"); + op.add(AbstractBuilder::remoteCluster, + JsonpDeserializer.arrayDeserializer(RemoteClusterPrivileges._DESERIALIZER), "remote_cluster"); op.add(AbstractBuilder::global, JsonpDeserializer.arrayDeserializer(GlobalPrivilege._DESERIALIZER), "global"); op.add(AbstractBuilder::applications, JsonpDeserializer.arrayDeserializer(ApplicationPrivileges._DESERIALIZER), "applications"); @@ -576,6 +747,7 @@ protected static > void setupRoleDesc op.add(AbstractBuilder::runAs, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "run_as"); op.add(AbstractBuilder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(AbstractBuilder::restriction, Restriction._DESERIALIZER, "restriction"); op.add(AbstractBuilder::transientMetadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "transient_metadata"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java index 07c3ac990..632a06b9b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java @@ -67,6 +67,10 @@ public class RoleDescriptorRead implements JsonpSerializable { private final List indices; + private final List remoteIndices; + + private final List remoteCluster; + private final List global; private final List applications; @@ -78,6 +82,9 @@ public class RoleDescriptorRead implements JsonpSerializable { @Nullable private final String description; + @Nullable + private final Restriction restriction; + private final Map transientMetadata; // --------------------------------------------------------------------------------------------- @@ -86,11 +93,14 @@ private RoleDescriptorRead(Builder builder) { this.cluster = ApiTypeHelper.unmodifiableRequired(builder.cluster, this, "cluster"); this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); + this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); + this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); this.global = ApiTypeHelper.unmodifiable(builder.global); this.applications = ApiTypeHelper.unmodifiable(builder.applications); this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); this.description = builder.description; + this.restriction = builder.restriction; this.transientMetadata = ApiTypeHelper.unmodifiable(builder.transientMetadata); } @@ -118,6 +128,25 @@ public final List indices() { return this.indices; } + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + */ + public final List remoteIndices() { + return this.remoteIndices; + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + */ + public final List remoteCluster() { + return this.remoteCluster; + } + /** * An object defining global privileges. A global privilege is a form of cluster * privilege that is request-aware. Support for global privileges is currently @@ -167,6 +196,16 @@ public final String description() { return this.description; } + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + @Nullable + public final Restriction restriction() { + return this.restriction; + } + /** * API name: {@code transient_metadata} */ @@ -204,6 +243,26 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.remoteIndices)) { + generator.writeKey("remote_indices"); + generator.writeStartArray(); + for (RemoteIndicesPrivileges item0 : this.remoteIndices) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.remoteCluster)) { + generator.writeKey("remote_cluster"); + generator.writeStartArray(); + for (RemoteClusterPrivileges item0 : this.remoteCluster) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.global)) { generator.writeKey("global"); @@ -250,6 +309,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("description"); generator.write(this.description); + } + if (this.restriction != null) { + generator.writeKey("restriction"); + this.restriction.serialize(generator, mapper); + } if (ApiTypeHelper.isDefined(this.transientMetadata)) { generator.writeKey("transient_metadata"); @@ -283,6 +347,12 @@ public static class Builder extends WithJsonObjectBuilderBase private List indices; + @Nullable + private List remoteIndices; + + @Nullable + private List remoteCluster; + @Nullable private List global; @@ -298,6 +368,9 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String description; + @Nullable + private Restriction restriction; + @Nullable private Map transientMetadata; @@ -362,6 +435,81 @@ public final Builder indices(Function + * API name: {@code remote_indices} + *

    + * Adds all elements of list to remoteIndices. + */ + public final Builder remoteIndices(List list) { + this.remoteIndices = _listAddAll(this.remoteIndices, list); + return this; + } + + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + *

    + * Adds one or more values to remoteIndices. + */ + public final Builder remoteIndices(RemoteIndicesPrivileges value, RemoteIndicesPrivileges... values) { + this.remoteIndices = _listAdd(this.remoteIndices, value, values); + return this; + } + + /** + * A list of indices permissions for remote clusters. + *

    + * API name: {@code remote_indices} + *

    + * Adds a value to remoteIndices using a builder lambda. + */ + public final Builder remoteIndices( + Function> fn) { + return remoteIndices(fn.apply(new RemoteIndicesPrivileges.Builder()).build()); + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds all elements of list to remoteCluster. + */ + public final Builder remoteCluster(List list) { + this.remoteCluster = _listAddAll(this.remoteCluster, list); + return this; + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds one or more values to remoteCluster. + */ + public final Builder remoteCluster(RemoteClusterPrivileges value, RemoteClusterPrivileges... values) { + this.remoteCluster = _listAdd(this.remoteCluster, value, values); + return this; + } + + /** + * A list of cluster permissions for remote clusters. Note - this is limited a + * subset of the cluster permissions. + *

    + * API name: {@code remote_cluster} + *

    + * Adds a value to remoteCluster using a builder lambda. + */ + public final Builder remoteCluster( + Function> fn) { + return remoteCluster(fn.apply(new RemoteClusterPrivileges.Builder()).build()); + } + /** * An object defining global privileges. A global privilege is a form of cluster * privilege that is request-aware. Support for global privileges is currently @@ -499,6 +647,25 @@ public final Builder description(@Nullable String value) { return this; } + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + public final Builder restriction(@Nullable Restriction value) { + this.restriction = value; + return this; + } + + /** + * Restriction for when the role descriptor is allowed to be effective. + *

    + * API name: {@code restriction} + */ + public final Builder restriction(Function> fn) { + return this.restriction(fn.apply(new Restriction.Builder()).build()); + } + /** * API name: {@code transient_metadata} *

    @@ -551,12 +718,17 @@ protected static void setupRoleDescriptorReadDeserializer(ObjectDeserializer indices; + private final List remoteIndices; + + private final List remoteCluster; + private final Map metadata; private final List runAs; @@ -87,6 +94,8 @@ private Role(Builder builder) { this.cluster = ApiTypeHelper.unmodifiableRequired(builder.cluster, this, "cluster"); this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); + this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); + this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); this.metadata = ApiTypeHelper.unmodifiableRequired(builder.metadata, this, "metadata"); this.runAs = ApiTypeHelper.unmodifiableRequired(builder.runAs, this, "runAs"); this.transientMetadata = ApiTypeHelper.unmodifiable(builder.transientMetadata); @@ -114,6 +123,20 @@ public final List indices() { return this.indices; } + /** + * API name: {@code remote_indices} + */ + public final List remoteIndices() { + return this.remoteIndices; + } + + /** + * API name: {@code remote_cluster} + */ + public final List remoteCluster() { + return this.remoteCluster; + } + /** * Required - API name: {@code metadata} */ @@ -186,6 +209,26 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (ApiTypeHelper.isDefined(this.remoteIndices)) { + generator.writeKey("remote_indices"); + generator.writeStartArray(); + for (RemoteIndicesPrivileges item0 : this.remoteIndices) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.remoteCluster)) { + generator.writeKey("remote_cluster"); + generator.writeStartArray(); + for (RemoteClusterPrivileges item0 : this.remoteCluster) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + } if (ApiTypeHelper.isDefined(this.metadata)) { generator.writeKey("metadata"); @@ -292,6 +335,12 @@ public static class Builder extends WithJsonObjectBuilderBase implement private List indices; + @Nullable + private List remoteIndices; + + @Nullable + private List remoteCluster; + private Map metadata; private List runAs; @@ -356,6 +405,66 @@ public final Builder indices(Function + * Adds all elements of list to remoteIndices. + */ + public final Builder remoteIndices(List list) { + this.remoteIndices = _listAddAll(this.remoteIndices, list); + return this; + } + + /** + * API name: {@code remote_indices} + *

    + * Adds one or more values to remoteIndices. + */ + public final Builder remoteIndices(RemoteIndicesPrivileges value, RemoteIndicesPrivileges... values) { + this.remoteIndices = _listAdd(this.remoteIndices, value, values); + return this; + } + + /** + * API name: {@code remote_indices} + *

    + * Adds a value to remoteIndices using a builder lambda. + */ + public final Builder remoteIndices( + Function> fn) { + return remoteIndices(fn.apply(new RemoteIndicesPrivileges.Builder()).build()); + } + + /** + * API name: {@code remote_cluster} + *

    + * Adds all elements of list to remoteCluster. + */ + public final Builder remoteCluster(List list) { + this.remoteCluster = _listAddAll(this.remoteCluster, list); + return this; + } + + /** + * API name: {@code remote_cluster} + *

    + * Adds one or more values to remoteCluster. + */ + public final Builder remoteCluster(RemoteClusterPrivileges value, RemoteClusterPrivileges... values) { + this.remoteCluster = _listAdd(this.remoteCluster, value, values); + return this; + } + + /** + * API name: {@code remote_cluster} + *

    + * Adds a value to remoteCluster using a builder lambda. + */ + public final Builder remoteCluster( + Function> fn) { + return remoteCluster(fn.apply(new RemoteClusterPrivileges.Builder()).build()); + } + /** * Required - API name: {@code metadata} *

    @@ -526,6 +635,10 @@ protected static void setupRoleDeserializer(ObjectDeserializer op) op.add(Builder::cluster, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "cluster"); op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(IndicesPrivileges._DESERIALIZER), "indices"); + op.add(Builder::remoteIndices, JsonpDeserializer.arrayDeserializer(RemoteIndicesPrivileges._DESERIALIZER), + "remote_indices"); + op.add(Builder::remoteCluster, JsonpDeserializer.arrayDeserializer(RemoteClusterPrivileges._DESERIALIZER), + "remote_cluster"); op.add(Builder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); op.add(Builder::runAs, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "run_as"); op.add(Builder::transientMetadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), From ebbf1d85c058949a5ef1477c9571aaf280bdcdd1 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Thu, 5 Dec 2024 17:18:09 +0100 Subject: [PATCH 022/106] [codegen] update to latest spec --- .../ElasticsearchAsyncClient.java | 6 +- .../elasticsearch/ElasticsearchClient.java | 6 +- .../AsyncSearchStatusRequest.java | 47 +- .../async_search/SubmitRequest.java | 109 ---- .../DeleteAutoscalingPolicyRequest.java | 89 +++- .../ElasticsearchAutoscalingAsyncClient.java | 77 ++- .../ElasticsearchAutoscalingClient.java | 78 ++- .../GetAutoscalingCapacityRequest.java | 86 ++- .../GetAutoscalingPolicyRequest.java | 47 +- .../PutAutoscalingPolicyRequest.java | 89 +++- .../elasticsearch/cat/AllocationRequest.java | 8 +- .../cat/ElasticsearchCatAsyncClient.java | 498 +++++++++--------- .../cat/ElasticsearchCatClient.java | 498 +++++++++--------- .../elasticsearch/cat/FielddataRequest.java | 10 +- .../elasticsearch/cat/HealthRequest.java | 24 +- .../elasticsearch/cat/MasterRequest.java | 9 +- .../elasticsearch/cat/NodeattrsRequest.java | 8 +- .../elasticsearch/cat/NodesRequest.java | 8 +- .../cat/PendingTasksRequest.java | 9 +- .../elasticsearch/cat/PluginsRequest.java | 8 +- .../elasticsearch/cat/RecoveryRequest.java | 18 +- .../cat/RepositoriesRequest.java | 9 +- .../elasticsearch/cat/SegmentsRequest.java | 10 +- .../elasticsearch/cat/ShardsRequest.java | 8 +- .../elasticsearch/cat/SnapshotsRequest.java | 11 +- .../elasticsearch/cat/TasksRequest.java | 8 +- .../elasticsearch/cat/TemplatesRequest.java | 11 +- .../elasticsearch/cat/ThreadPoolRequest.java | 10 +- .../elasticsearch/cat/TransformsRequest.java | 3 +- .../elasticsearch/core/CountRequest.java | 2 +- .../core/OpenPointInTimeRequest.java | 36 ++ .../health_report/FileSettingsIndicator.java | 154 ++++++ .../FileSettingsIndicatorDetails.java | 182 +++++++ .../core/health_report/Indicators.java | 37 ++ .../elasticsearch/doc-files/api-spec.html | 216 ++++---- .../ElasticsearchEnrichAsyncClient.java | 4 +- .../enrich/ElasticsearchEnrichClient.java | 4 +- .../enrich/ExecutePolicyRequest.java | 2 +- .../eql/ElasticsearchEqlAsyncClient.java | 48 +- .../eql/ElasticsearchEqlClient.java | 48 +- .../elasticsearch/eql/EqlDeleteRequest.java | 4 +- .../elasticsearch/eql/EqlGetRequest.java | 4 +- .../elasticsearch/eql/EqlSearchRequest.java | 4 +- .../eql/GetEqlStatusRequest.java | 4 +- .../esql/ElasticsearchEsqlAsyncClient.java | 6 +- .../esql/ElasticsearchEsqlClient.java | 6 +- .../elasticsearch/esql/QueryRequest.java | 3 +- .../fleet/ElasticsearchFleetAsyncClient.java | 24 +- .../fleet/ElasticsearchFleetClient.java | 24 +- .../fleet/FleetSearchRequest.java | 6 +- .../graph/ElasticsearchGraphAsyncClient.java | 20 +- .../graph/ElasticsearchGraphClient.java | 20 +- .../elasticsearch/graph/ExploreRequest.java | 10 +- .../ElasticsearchIndicesAsyncClient.java | 14 +- .../indices/ElasticsearchIndicesClient.java | 14 +- .../indices/ExistsAliasRequest.java | 43 ++ .../indices/ExistsIndexTemplateRequest.java | 2 +- .../indices/GetAliasRequest.java | 43 ++ .../MappingLimitSettingsTotalFields.java | 12 +- .../indices/ResolveIndexRequest.java | 5 +- .../ingest/DeleteGeoipDatabaseRequest.java | 3 +- .../ingest/DeletePipelineRequest.java | 2 +- .../ElasticsearchIngestAsyncClient.java | 67 ++- .../ingest/ElasticsearchIngestClient.java | 67 ++- .../ingest/GeoIpStatsRequest.java | 3 +- .../ingest/GetGeoipDatabaseRequest.java | 3 +- .../ingest/GetPipelineRequest.java | 4 +- .../ingest/ProcessorGrokRequest.java | 9 +- .../ingest/PutGeoipDatabaseRequest.java | 3 +- .../ingest/PutPipelineRequest.java | 4 +- .../elasticsearch/ingest/SimulateRequest.java | 5 +- .../migration/deprecations/Deprecation.java | 92 +++- .../query_rules/DeleteRuleRequest.java | 2 +- .../query_rules/DeleteRulesetRequest.java | 2 +- .../ElasticsearchQueryRulesAsyncClient.java | 38 +- .../ElasticsearchQueryRulesClient.java | 38 +- .../query_rules/GetRuleRequest.java | 2 +- .../query_rules/GetRulesetRequest.java | 2 +- .../query_rules/ListRulesetsRequest.java | 2 +- .../query_rules/PutRuleRequest.java | 3 +- .../query_rules/PutRulesetRequest.java | 2 +- .../query_rules/TestRequest.java | 3 +- .../list_rulesets/QueryRulesetListItem.java | 63 ++- .../elasticsearch/security/ApiKey.java | 392 +++++++++----- .../elasticsearch/security/ApiKeyType.java | 66 +++ .../security/AuthenticateResponse.java | 15 +- .../authenticate/AuthenticateApiKey.java | 186 +++++++ .../elasticsearch/sql/ClearCursorRequest.java | 2 +- .../elasticsearch/sql/DeleteAsyncRequest.java | 4 +- .../sql/ElasticsearchSqlAsyncClient.java | 40 +- .../sql/ElasticsearchSqlClient.java | 40 +- .../elasticsearch/sql/GetAsyncRequest.java | 4 +- .../sql/GetAsyncStatusRequest.java | 4 +- .../elasticsearch/sql/QueryRequest.java | 2 +- .../elasticsearch/sql/TranslateRequest.java | 3 +- .../synonyms/DeleteSynonymRequest.java | 2 +- .../synonyms/DeleteSynonymRuleRequest.java | 2 +- .../ElasticsearchSynonymsAsyncClient.java | 36 +- .../synonyms/ElasticsearchSynonymsClient.java | 36 +- .../synonyms/GetSynonymRequest.java | 2 +- .../synonyms/GetSynonymRuleRequest.java | 2 +- .../synonyms/GetSynonymsSetsRequest.java | 2 +- .../synonyms/PutSynonymRequest.java | 4 +- .../synonyms/PutSynonymRuleRequest.java | 3 +- .../elasticsearch/watcher/Schedule.java | 30 ++ .../watcher/ScheduleBuilders.java | 6 +- 106 files changed, 2841 insertions(+), 1264 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicator.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicatorDetails.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKeyType.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/security/authenticate/AuthenticateApiKey.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index 57c716250..5ab973dfa 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -502,7 +502,7 @@ public final CompletableFuture closePointInTime( // ----- Endpoint: count /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @see Documentation @@ -517,7 +517,7 @@ public CompletableFuture count(CountRequest request) { } /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @param fn * a function that initializes a builder to create the @@ -533,7 +533,7 @@ public final CompletableFuture count( } /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index 8502c784c..d1bbae89a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -507,7 +507,7 @@ public final ClosePointInTimeResponse closePointInTime( // ----- Endpoint: count /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @see Documentation @@ -522,7 +522,7 @@ public CountResponse count(CountRequest request) throws IOException, Elasticsear } /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @param fn * a function that initializes a builder to create the @@ -538,7 +538,7 @@ public final CountResponse count(FunctionDocumentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java index eca1c109a..f0151830e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -31,7 +32,6 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.String; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -70,11 +70,15 @@ public class AsyncSearchStatusRequest extends RequestBase { private final String id; + @Nullable + private final Time keepAlive; + // --------------------------------------------------------------------------------------------- private AsyncSearchStatusRequest(Builder builder) { this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + this.keepAlive = builder.keepAlive; } @@ -91,6 +95,17 @@ public final String id() { return this.id; } + /** + * Specifies how long the async search needs to be available. Ongoing async + * searches and any saved search results are deleted after this period. + *

    + * API name: {@code keep_alive} + */ + @Nullable + public final Time keepAlive() { + return this.keepAlive; + } + // --------------------------------------------------------------------------------------------- /** @@ -102,6 +117,9 @@ public static class Builder extends RequestBase.AbstractBuilder ObjectBuilder { private String id; + @Nullable + private Time keepAlive; + /** * Required - A unique identifier for the async search. *

    @@ -112,6 +130,27 @@ public final Builder id(String value) { return this; } + /** + * Specifies how long the async search needs to be available. Ongoing async + * searches and any saved search results are deleted after this period. + *

    + * API name: {@code keep_alive} + */ + public final Builder keepAlive(@Nullable Time value) { + this.keepAlive = value; + return this; + } + + /** + * Specifies how long the async search needs to be available. Ongoing async + * searches and any saved search results are deleted after this period. + *

    + * API name: {@code keep_alive} + */ + public final Builder keepAlive(Function> fn) { + return this.keepAlive(fn.apply(new Time.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -181,7 +220,11 @@ public AsyncSearchStatusRequest build() { // Request parameters request -> { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (request.keepAlive != null) { + params.put("keep_alive", request.keepAlive._toJsonString()); + } + return params; }, SimpleEndpoint.emptyMap(), false, AsyncSearchStatusResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java index 2c9ac8899..d38c35ab7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java @@ -164,9 +164,6 @@ public class SubmitRequest extends RequestBase implements JsonpSerializable { private final List> indicesBoost; - @Nullable - private final Time keepAlive; - @Nullable private final Boolean keepOnCompletion; @@ -187,9 +184,6 @@ public class SubmitRequest extends RequestBase implements JsonpSerializable { @Nullable private final Query postFilter; - @Nullable - private final Long preFilterShardSize; - @Nullable private final String preference; @@ -214,9 +208,6 @@ public class SubmitRequest extends RequestBase implements JsonpSerializable { private final Map scriptFields; - @Nullable - private final Time scroll; - private final List searchAfter; @Nullable @@ -284,7 +275,6 @@ private SubmitRequest(Builder builder) { this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); this.indicesBoost = ApiTypeHelper.unmodifiable(builder.indicesBoost); - this.keepAlive = builder.keepAlive; this.keepOnCompletion = builder.keepOnCompletion; this.knn = ApiTypeHelper.unmodifiable(builder.knn); this.lenient = builder.lenient; @@ -292,7 +282,6 @@ private SubmitRequest(Builder builder) { this.minScore = builder.minScore; this.pit = builder.pit; this.postFilter = builder.postFilter; - this.preFilterShardSize = builder.preFilterShardSize; this.preference = builder.preference; this.profile = builder.profile; this.q = builder.q; @@ -302,7 +291,6 @@ private SubmitRequest(Builder builder) { this.routing = builder.routing; this.runtimeMappings = ApiTypeHelper.unmodifiable(builder.runtimeMappings); this.scriptFields = ApiTypeHelper.unmodifiable(builder.scriptFields); - this.scroll = builder.scroll; this.searchAfter = ApiTypeHelper.unmodifiable(builder.searchAfter); this.searchType = builder.searchType; this.seqNoPrimaryTerm = builder.seqNoPrimaryTerm; @@ -550,17 +538,6 @@ public final List> indicesBoost() { return this.indicesBoost; } - /** - * Specifies how long the async search needs to be available. Ongoing async - * searches and any saved search results are deleted after this period. - *

    - * API name: {@code keep_alive} - */ - @Nullable - public final Time keepAlive() { - return this.keepAlive; - } - /** * If true, results are stored for later retrieval when the search * completes within the wait_for_completion_timeout. @@ -634,18 +611,6 @@ public final Query postFilter() { return this.postFilter; } - /** - * The default value cannot be changed, which enforces the execution of a - * pre-filter roundtrip to retrieve statistics from each shard so that the ones - * that surely don’t hold any document matching the query get skipped. - *

    - * API name: {@code pre_filter_shard_size} - */ - @Nullable - public final Long preFilterShardSize() { - return this.preFilterShardSize; - } - /** * Specify the node or shard the operation should be performed on (default: * random) @@ -732,14 +697,6 @@ public final Map scriptFields() { return this.scriptFields; } - /** - * API name: {@code scroll} - */ - @Nullable - public final Time scroll() { - return this.scroll; - } - /** * API name: {@code search_after} */ @@ -1227,9 +1184,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private List> indicesBoost; - @Nullable - private Time keepAlive; - @Nullable private Boolean keepOnCompletion; @@ -1251,9 +1205,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Query postFilter; - @Nullable - private Long preFilterShardSize; - @Nullable private String preference; @@ -1281,9 +1232,6 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Map scriptFields; - @Nullable - private Time scroll; - @Nullable private List searchAfter; @@ -1718,27 +1666,6 @@ public final Builder indicesBoost(Map value, Map return this; } - /** - * Specifies how long the async search needs to be available. Ongoing async - * searches and any saved search results are deleted after this period. - *

    - * API name: {@code keep_alive} - */ - public final Builder keepAlive(@Nullable Time value) { - this.keepAlive = value; - return this; - } - - /** - * Specifies how long the async search needs to be available. Ongoing async - * searches and any saved search results are deleted after this period. - *

    - * API name: {@code keep_alive} - */ - public final Builder keepAlive(Function> fn) { - return this.keepAlive(fn.apply(new Time.Builder()).build()); - } - /** * If true, results are stored for later retrieval when the search * completes within the wait_for_completion_timeout. @@ -1855,18 +1782,6 @@ public final Builder postFilter(Function> fn return this.postFilter(fn.apply(new Query.Builder()).build()); } - /** - * The default value cannot be changed, which enforces the execution of a - * pre-filter roundtrip to retrieve statistics from each shard so that the ones - * that surely don’t hold any document matching the query get skipped. - *

    - * API name: {@code pre_filter_shard_size} - */ - public final Builder preFilterShardSize(@Nullable Long value) { - this.preFilterShardSize = value; - return this; - } - /** * Specify the node or shard the operation should be performed on (default: * random) @@ -2039,21 +1954,6 @@ public final Builder scriptFields(String key, Function> fn) { - return this.scroll(fn.apply(new Time.Builder()).build()); - } - /** * API name: {@code search_after} *

    @@ -2521,9 +2421,6 @@ protected static void setupSubmitRequestDeserializer(ObjectDeserializer + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; + } + /** * Required - the name of the autoscaling policy *

    @@ -92,6 +111,17 @@ public final String name() { return this.name; } + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + @Nullable + public final Time timeout() { + return this.timeout; + } + // --------------------------------------------------------------------------------------------- /** @@ -101,8 +131,35 @@ public final String name() { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Time masterTimeout; + private String name; + @Nullable + private Time timeout; + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + /** * Required - the name of the autoscaling policy *

    @@ -113,6 +170,27 @@ public final Builder name(String value) { return this; } + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + public final Builder timeout(@Nullable Time value) { + this.timeout = value; + return this; + } + + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + public final Builder timeout(Function> fn) { + return this.timeout(fn.apply(new Time.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -182,7 +260,14 @@ public DeleteAutoscalingPolicyRequest build() { // Request parameters request -> { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } + if (request.timeout != null) { + params.put("timeout", request.timeout._toJsonString()); + } + return params; }, SimpleEndpoint.emptyMap(), false, DeleteAutoscalingPolicyResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java index c2bb7b04b..e1fd47ce6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingAsyncClient.java @@ -139,8 +139,83 @@ public final CompletableFuture deleteAutoscalin * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ + + public CompletableFuture getAutoscalingCapacity( + GetAutoscalingCapacityRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) GetAutoscalingCapacityRequest._ENDPOINT; + + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. + * + * @param fn + * a function that initializes a builder to create the + * {@link GetAutoscalingCapacityRequest} + * @see Documentation + * on elastic.co + */ + + public final CompletableFuture getAutoscalingCapacity( + Function> fn) { + return getAutoscalingCapacity(fn.apply(new GetAutoscalingCapacityRequest.Builder()).build()); + } + + /** + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. + * + * @see Documentation + * on elastic.co + */ + public CompletableFuture getAutoscalingCapacity() { - return this.transport.performRequestAsync(GetAutoscalingCapacityRequest._INSTANCE, + return this.transport.performRequestAsync(new GetAutoscalingCapacityRequest.Builder().build(), GetAutoscalingCapacityRequest._ENDPOINT, this.transportOptions); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java index c98f8d2b9..ff756bbee 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/ElasticsearchAutoscalingClient.java @@ -139,8 +139,84 @@ public final DeleteAutoscalingPolicyResponse deleteAutoscalingPolicy( * "https://www.elastic.co/guide/en/elasticsearch/reference/9.0/autoscaling-get-autoscaling-capacity.html">Documentation * on elastic.co */ + + public GetAutoscalingCapacityResponse getAutoscalingCapacity(GetAutoscalingCapacityRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint endpoint = (JsonEndpoint) GetAutoscalingCapacityRequest._ENDPOINT; + + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. + * + * @param fn + * a function that initializes a builder to create the + * {@link GetAutoscalingCapacityRequest} + * @see Documentation + * on elastic.co + */ + + public final GetAutoscalingCapacityResponse getAutoscalingCapacity( + Function> fn) + throws IOException, ElasticsearchException { + return getAutoscalingCapacity(fn.apply(new GetAutoscalingCapacityRequest.Builder()).build()); + } + + /** + * Get the autoscaling capacity. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * This API gets the current autoscaling capacity based on the configured + * autoscaling policy. It will return information to size the cluster + * appropriately to the current workload. + *

    + * The required_capacity is calculated as the maximum of the + * required_capacity result of all individual deciders that are + * enabled for the policy. + *

    + * The operator should verify that the current_nodes match the + * operator’s knowledge of the cluster to avoid making autoscaling decisions + * based on stale or incomplete information. + *

    + * The response contains decider-specific information you can use to diagnose + * how and why autoscaling determined a certain capacity was required. This + * information is provided for diagnosis only. Do not use this information to + * make autoscaling decisions. + * + * @see Documentation + * on elastic.co + */ + public GetAutoscalingCapacityResponse getAutoscalingCapacity() throws IOException, ElasticsearchException { - return this.transport.performRequest(GetAutoscalingCapacityRequest._INSTANCE, + return this.transport.performRequest(new GetAutoscalingCapacityRequest.Builder().build(), GetAutoscalingCapacityRequest._ENDPOINT, this.transportOptions); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java index 40d0c71a6..96f46db2f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingCapacityRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -30,7 +31,11 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; //---------------------------------------------------------------- // THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. @@ -79,13 +84,82 @@ */ public class GetAutoscalingCapacityRequest extends RequestBase { - public GetAutoscalingCapacityRequest() { + @Nullable + private final Time masterTimeout; + + // --------------------------------------------------------------------------------------------- + + private GetAutoscalingCapacityRequest(Builder builder) { + + this.masterTimeout = builder.masterTimeout; + + } + + public static GetAutoscalingCapacityRequest of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; } + // --------------------------------------------------------------------------------------------- + /** - * Singleton instance for {@link GetAutoscalingCapacityRequest}. + * Builder for {@link GetAutoscalingCapacityRequest}. */ - public static final GetAutoscalingCapacityRequest _INSTANCE = new GetAutoscalingCapacityRequest(); + + public static class Builder extends RequestBase.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private Time masterTimeout; + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link GetAutoscalingCapacityRequest}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public GetAutoscalingCapacityRequest build() { + _checkSingleUse(); + + return new GetAutoscalingCapacityRequest(this); + } + } // --------------------------------------------------------------------------------------------- @@ -114,7 +188,11 @@ public GetAutoscalingCapacityRequest() { // Request parameters request -> { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } + return params; }, SimpleEndpoint.emptyMap(), false, GetAutoscalingCapacityResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java index ad1047dfc..4faccea7f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/GetAutoscalingPolicyRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -31,7 +32,6 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.String; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -68,12 +68,16 @@ */ public class GetAutoscalingPolicyRequest extends RequestBase { + @Nullable + private final Time masterTimeout; + private final String name; // --------------------------------------------------------------------------------------------- private GetAutoscalingPolicyRequest(Builder builder) { + this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); } @@ -82,6 +86,17 @@ public static GetAutoscalingPolicyRequest of(Function + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; + } + /** * Required - the name of the autoscaling policy *

    @@ -100,8 +115,32 @@ public final String name() { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Time masterTimeout; + private String name; + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + /** * Required - the name of the autoscaling policy *

    @@ -181,7 +220,11 @@ public GetAutoscalingPolicyRequest build() { // Request parameters request -> { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } + return params; }, SimpleEndpoint.emptyMap(), false, GetAutoscalingPolicyResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java index e639e46c6..66e553363 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/autoscaling/PutAutoscalingPolicyRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -34,7 +35,6 @@ import jakarta.json.stream.JsonGenerator; import jakarta.json.stream.JsonParser; import java.lang.String; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -71,15 +71,23 @@ */ @JsonpDeserializable public class PutAutoscalingPolicyRequest extends RequestBase implements JsonpSerializable { + @Nullable + private final Time masterTimeout; + private final String name; + @Nullable + private final Time timeout; + private final AutoscalingPolicy policy; // --------------------------------------------------------------------------------------------- private PutAutoscalingPolicyRequest(Builder builder) { + this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); + this.timeout = builder.timeout; this.policy = ApiTypeHelper.requireNonNull(builder.policy, this, "policy"); } @@ -88,6 +96,17 @@ public static PutAutoscalingPolicyRequest of(Function + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; + } + /** * Required - the name of the autoscaling policy *

    @@ -97,6 +116,17 @@ public final String name() { return this.name; } + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + @Nullable + public final Time timeout() { + return this.timeout; + } + /** * Required - Request body. */ @@ -121,10 +151,37 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Time masterTimeout; + private String name; + @Nullable + private Time timeout; + private AutoscalingPolicy policy; + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + /** * Required - the name of the autoscaling policy *

    @@ -135,6 +192,27 @@ public final Builder name(String value) { return this; } + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + public final Builder timeout(@Nullable Time value) { + this.timeout = value; + return this; + } + + /** + * Period to wait for a response. If no response is received before the timeout + * expires, the request fails and returns an error. + *

    + * API name: {@code timeout} + */ + public final Builder timeout(Function> fn) { + return this.timeout(fn.apply(new Time.Builder()).build()); + } + /** * Required - Request body. */ @@ -236,7 +314,14 @@ protected static JsonpDeserializer createPutAutosca // Request parameters request -> { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } + if (request.timeout != null) { + params.put("timeout", request.timeout._toJsonString()); + } + return params; }, SimpleEndpoint.emptyMap(), true, PutAutoscalingPolicyResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java index 5b7c6dbf7..208adcedb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/AllocationRequest.java @@ -58,10 +58,10 @@ // typedef: cat.allocation.Request /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java index d37c93a62..84420f15c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java @@ -128,10 +128,10 @@ public CompletableFuture aliases() { // ----- Endpoint: cat.allocation /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @see Documentation @@ -146,10 +146,10 @@ public CompletableFuture allocation(AllocationRequest reques } /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @param fn * a function that initializes a builder to create the @@ -165,10 +165,10 @@ public final CompletableFuture allocation( } /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @see Documentation @@ -314,11 +314,11 @@ public CompletableFuture count() { // ----- Endpoint: cat.fielddata /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @see Documentation @@ -333,11 +333,11 @@ public CompletableFuture fielddata(FielddataRequest request) } /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @param fn * a function that initializes a builder to create the @@ -353,11 +353,11 @@ public final CompletableFuture fielddata( } /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @see Documentation @@ -372,18 +372,18 @@ public CompletableFuture fielddata() { // ----- Endpoint: cat.health /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @see Documentation @@ -398,18 +398,18 @@ public CompletableFuture health(HealthRequest request) { } /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @param fn * a function that initializes a builder to create the @@ -425,18 +425,18 @@ public final CompletableFuture health( } /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @see Documentation @@ -570,10 +570,11 @@ public CompletableFuture indices() { // ----- Endpoint: cat.master /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @see Documentation @@ -588,10 +589,11 @@ public CompletableFuture master(MasterRequest request) { } /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @param fn * a function that initializes a builder to create the @@ -607,10 +609,11 @@ public final CompletableFuture master( } /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @see Documentation @@ -887,10 +890,10 @@ public CompletableFuture mlTrainedModels() { // ----- Endpoint: cat.nodeattrs /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -905,10 +908,10 @@ public CompletableFuture nodeattrs(NodeattrsRequest request) } /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -924,10 +927,10 @@ public final CompletableFuture nodeattrs( } /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -942,10 +945,10 @@ public CompletableFuture nodeattrs() { // ----- Endpoint: cat.nodes /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -960,10 +963,10 @@ public CompletableFuture nodes(NodesRequest request) { } /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -979,10 +982,10 @@ public final CompletableFuture nodes( } /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -997,10 +1000,11 @@ public CompletableFuture nodes() { // ----- Endpoint: cat.pending_tasks /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @see Documentation @@ -1015,10 +1019,11 @@ public CompletableFuture pendingTasks(PendingTasksRequest } /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @param fn * a function that initializes a builder to create the @@ -1034,10 +1039,11 @@ public final CompletableFuture pendingTasks( } /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @see Documentation @@ -1052,10 +1058,10 @@ public CompletableFuture pendingTasks() { // ----- Endpoint: cat.plugins /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1070,10 +1076,10 @@ public CompletableFuture plugins(PluginsRequest request) { } /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -1089,10 +1095,10 @@ public final CompletableFuture plugins( } /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1107,15 +1113,15 @@ public CompletableFuture plugins() { // ----- Endpoint: cat.recovery /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @see Documentation @@ -1130,15 +1136,15 @@ public CompletableFuture recovery(RecoveryRequest request) { } /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @param fn * a function that initializes a builder to create the @@ -1154,15 +1160,15 @@ public final CompletableFuture recovery( } /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @see Documentation @@ -1177,10 +1183,11 @@ public CompletableFuture recovery() { // ----- Endpoint: cat.repositories /** - * Returns the snapshot repositories for a cluster. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. For application consumption, use - * the get snapshot repository API. + * Get snapshot repository information. Get a list of snapshot repositories for + * a cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the get snapshot repository + * API. * * @see Documentation @@ -1194,11 +1201,11 @@ public CompletableFuture repositories() { // ----- Endpoint: cat.segments /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @see Documentation @@ -1213,11 +1220,11 @@ public CompletableFuture segments(SegmentsRequest request) { } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @param fn * a function that initializes a builder to create the @@ -1233,11 +1240,11 @@ public final CompletableFuture segments( } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @see Documentation @@ -1252,10 +1259,10 @@ public CompletableFuture segments() { // ----- Endpoint: cat.shards /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @see Documentation @@ -1270,10 +1277,10 @@ public CompletableFuture shards(ShardsRequest request) { } /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @param fn * a function that initializes a builder to create the @@ -1289,10 +1296,10 @@ public final CompletableFuture shards( } /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @see Documentation @@ -1307,11 +1314,12 @@ public CompletableFuture shards() { // ----- Endpoint: cat.snapshots /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @see Documentation @@ -1326,11 +1334,12 @@ public CompletableFuture snapshots(SnapshotsRequest request) } /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @param fn * a function that initializes a builder to create the @@ -1346,11 +1355,12 @@ public final CompletableFuture snapshots( } /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @see Documentation @@ -1365,10 +1375,10 @@ public CompletableFuture snapshots() { // ----- Endpoint: cat.tasks /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @see Documentation @@ -1383,10 +1393,10 @@ public CompletableFuture tasks(TasksRequest request) { } /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @param fn * a function that initializes a builder to create the @@ -1402,10 +1412,10 @@ public final CompletableFuture tasks( } /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @see Documentation @@ -1420,11 +1430,12 @@ public CompletableFuture tasks() { // ----- Endpoint: cat.templates /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @see Documentation @@ -1439,11 +1450,12 @@ public CompletableFuture templates(TemplatesRequest request) } /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @param fn * a function that initializes a builder to create the @@ -1459,11 +1471,12 @@ public final CompletableFuture templates( } /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @see Documentation @@ -1478,11 +1491,11 @@ public CompletableFuture templates() { // ----- Endpoint: cat.thread_pool /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1497,11 +1510,11 @@ public CompletableFuture threadPool(ThreadPoolRequest reques } /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -1517,11 +1530,11 @@ public final CompletableFuture threadPool( } /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1536,7 +1549,8 @@ public CompletableFuture threadPool() { // ----- Endpoint: cat.transforms /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application @@ -1555,7 +1569,8 @@ public CompletableFuture transforms(TransformsRequest reques } /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application @@ -1575,7 +1590,8 @@ public final CompletableFuture transforms( } /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java index 8138deefb..dbc70f2db 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java @@ -129,10 +129,10 @@ public AliasesResponse aliases() throws IOException, ElasticsearchException { // ----- Endpoint: cat.allocation /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @see Documentation @@ -147,10 +147,10 @@ public AllocationResponse allocation(AllocationRequest request) throws IOExcepti } /** - * Provides a snapshot of the number of shards allocated to each data node and - * their disk space. IMPORTANT: cat APIs are only intended for human consumption - * using the command line or Kibana console. They are not intended for use by - * applications. + * Get shard allocation information. Get a snapshot of the number of shards + * allocated to each data node and their disk space. IMPORTANT: cat APIs are + * only intended for human consumption using the command line or Kibana console. + * They are not intended for use by applications. * * @param fn * a function that initializes a builder to create the @@ -166,10 +166,10 @@ public final AllocationResponse allocation(FunctionDocumentation @@ -317,11 +317,11 @@ public CountResponse count() throws IOException, ElasticsearchException { // ----- Endpoint: cat.fielddata /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @see Documentation @@ -336,11 +336,11 @@ public FielddataResponse fielddata(FielddataRequest request) throws IOException, } /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @param fn * a function that initializes a builder to create the @@ -356,11 +356,11 @@ public final FielddataResponse fielddata(FunctionDocumentation @@ -375,18 +375,18 @@ public FielddataResponse fielddata() throws IOException, ElasticsearchException // ----- Endpoint: cat.health /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @see Documentation @@ -401,18 +401,18 @@ public HealthResponse health(HealthRequest request) throws IOException, Elastics } /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @param fn * a function that initializes a builder to create the @@ -428,18 +428,18 @@ public final HealthResponse health(FunctionHH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @see Documentation @@ -573,10 +573,11 @@ public IndicesResponse indices() throws IOException, ElasticsearchException { // ----- Endpoint: cat.master /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @see Documentation @@ -591,10 +592,11 @@ public MasterResponse master(MasterRequest request) throws IOException, Elastics } /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @param fn * a function that initializes a builder to create the @@ -610,10 +612,11 @@ public final MasterResponse master(FunctionDocumentation @@ -895,10 +898,10 @@ public MlTrainedModelsResponse mlTrainedModels() throws IOException, Elasticsear // ----- Endpoint: cat.nodeattrs /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -913,10 +916,10 @@ public NodeattrsResponse nodeattrs(NodeattrsRequest request) throws IOException, } /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -932,10 +935,10 @@ public final NodeattrsResponse nodeattrs(FunctionDocumentation @@ -950,10 +953,10 @@ public NodeattrsResponse nodeattrs() throws IOException, ElasticsearchException // ----- Endpoint: cat.nodes /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see Documentation @@ -968,10 +971,10 @@ public NodesResponse nodes(NodesRequest request) throws IOException, Elasticsear } /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -987,10 +990,10 @@ public final NodesResponse nodes(FunctionDocumentation @@ -1005,10 +1008,11 @@ public NodesResponse nodes() throws IOException, ElasticsearchException { // ----- Endpoint: cat.pending_tasks /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @see Documentation @@ -1023,10 +1027,11 @@ public PendingTasksResponse pendingTasks(PendingTasksRequest request) throws IOE } /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @param fn * a function that initializes a builder to create the @@ -1043,10 +1048,11 @@ public final PendingTasksResponse pendingTasks( } /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @see Documentation @@ -1061,10 +1067,10 @@ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchExce // ----- Endpoint: cat.plugins /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1079,10 +1085,10 @@ public PluginsResponse plugins(PluginsRequest request) throws IOException, Elast } /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -1098,10 +1104,10 @@ public final PluginsResponse plugins(FunctionDocumentation @@ -1116,15 +1122,15 @@ public PluginsResponse plugins() throws IOException, ElasticsearchException { // ----- Endpoint: cat.recovery /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @see Documentation @@ -1139,15 +1145,15 @@ public RecoveryResponse recovery(RecoveryRequest request) throws IOException, El } /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @param fn * a function that initializes a builder to create the @@ -1163,15 +1169,15 @@ public final RecoveryResponse recovery(FunctionDocumentation @@ -1186,10 +1192,11 @@ public RecoveryResponse recovery() throws IOException, ElasticsearchException { // ----- Endpoint: cat.repositories /** - * Returns the snapshot repositories for a cluster. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. For application consumption, use - * the get snapshot repository API. + * Get snapshot repository information. Get a list of snapshot repositories for + * a cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the get snapshot repository + * API. * * @see Documentation @@ -1203,11 +1210,11 @@ public RepositoriesResponse repositories() throws IOException, ElasticsearchExce // ----- Endpoint: cat.segments /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @see Documentation @@ -1222,11 +1229,11 @@ public SegmentsResponse segments(SegmentsRequest request) throws IOException, El } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @param fn * a function that initializes a builder to create the @@ -1242,11 +1249,11 @@ public final SegmentsResponse segments(FunctionDocumentation @@ -1261,10 +1268,10 @@ public SegmentsResponse segments() throws IOException, ElasticsearchException { // ----- Endpoint: cat.shards /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @see Documentation @@ -1279,10 +1286,10 @@ public ShardsResponse shards(ShardsRequest request) throws IOException, Elastics } /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @param fn * a function that initializes a builder to create the @@ -1298,10 +1305,10 @@ public final ShardsResponse shards(FunctionDocumentation @@ -1316,11 +1323,12 @@ public ShardsResponse shards() throws IOException, ElasticsearchException { // ----- Endpoint: cat.snapshots /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @see Documentation @@ -1335,11 +1343,12 @@ public SnapshotsResponse snapshots(SnapshotsRequest request) throws IOException, } /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @param fn * a function that initializes a builder to create the @@ -1355,11 +1364,12 @@ public final SnapshotsResponse snapshots(FunctionDocumentation @@ -1374,10 +1384,10 @@ public SnapshotsResponse snapshots() throws IOException, ElasticsearchException // ----- Endpoint: cat.tasks /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @see Documentation @@ -1392,10 +1402,10 @@ public TasksResponse tasks(TasksRequest request) throws IOException, Elasticsear } /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @param fn * a function that initializes a builder to create the @@ -1411,10 +1421,10 @@ public final TasksResponse tasks(FunctionDocumentation @@ -1429,11 +1439,12 @@ public TasksResponse tasks() throws IOException, ElasticsearchException { // ----- Endpoint: cat.templates /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @see Documentation @@ -1448,11 +1459,12 @@ public TemplatesResponse templates(TemplatesRequest request) throws IOException, } /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @param fn * a function that initializes a builder to create the @@ -1468,11 +1480,12 @@ public final TemplatesResponse templates(FunctionDocumentation @@ -1487,11 +1500,11 @@ public TemplatesResponse templates() throws IOException, ElasticsearchException // ----- Endpoint: cat.thread_pool /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see Documentation @@ -1506,11 +1519,11 @@ public ThreadPoolResponse threadPool(ThreadPoolRequest request) throws IOExcepti } /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @param fn * a function that initializes a builder to create the @@ -1526,11 +1539,11 @@ public final ThreadPoolResponse threadPool(FunctionDocumentation @@ -1545,7 +1558,8 @@ public ThreadPoolResponse threadPool() throws IOException, ElasticsearchExceptio // ----- Endpoint: cat.transforms /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application @@ -1564,7 +1578,8 @@ public TransformsResponse transforms(TransformsRequest request) throws IOExcepti } /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application @@ -1584,7 +1599,8 @@ public final TransformsResponse transforms(Function * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/FielddataRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/FielddataRequest.java index ca611a8dd..7cbd6677f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/FielddataRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/FielddataRequest.java @@ -57,11 +57,11 @@ // typedef: cat.fielddata.Request /** - * Returns the amount of heap memory currently used by the field data cache on - * every data node in the cluster. IMPORTANT: cat APIs are only intended for - * human consumption using the command line or Kibana console. They are not - * intended for use by applications. For application consumption, use the nodes - * stats API. + * Get field data cache information. Get the amount of heap memory currently + * used by the field data cache on every data node in the cluster. IMPORTANT: + * cat APIs are only intended for human consumption using the command line or + * Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes stats API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/HealthRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/HealthRequest.java index 14e470a02..a5849749a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/HealthRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/HealthRequest.java @@ -55,18 +55,18 @@ // typedef: cat.health.Request /** - * Returns the health status of a cluster, similar to the cluster health API. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the cluster health API. This API is often used - * to check malfunctioning clusters. To help you track cluster health alongside - * log files and alerting systems, the API returns timestamps in two formats: - * HH:MM:SS, which is human-readable but includes no date - * information; Unix epoch time, which is machine-sortable and - * includes date information. The latter format is useful for cluster recoveries - * that take multiple days. You can use the cat health API to verify cluster - * health across multiple nodes. You also can use the API to track the recovery - * of a large cluster over a longer period of time. + * Get the cluster health status. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * cluster health API. This API is often used to check malfunctioning clusters. + * To help you track cluster health alongside log files and alerting systems, + * the API returns timestamps in two formats: HH:MM:SS, which is + * human-readable but includes no date information; + * Unix epoch time, which is machine-sortable and includes date + * information. The latter format is useful for cluster recoveries that take + * multiple days. You can use the cat health API to verify cluster health across + * multiple nodes. You also can use the API to track the recovery of a large + * cluster over a longer period of time. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java index a0a61756f..a9cc80187 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/MasterRequest.java @@ -54,10 +54,11 @@ // typedef: cat.master.Request /** - * Returns information about the master node, including the ID, bound IP - * address, and name. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the nodes info API. + * Get master node information. Get information about the master node, including + * the ID, bound IP address, and name. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the nodes + * info API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java index b457e5782..d97911919 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodeattrsRequest.java @@ -54,10 +54,10 @@ // typedef: cat.nodeattrs.Request /** - * Returns information about custom node attributes. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node attribute information. Get information about custom node attributes. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodesRequest.java index eda8fcae2..8fea93dc6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/NodesRequest.java @@ -55,10 +55,10 @@ // typedef: cat.nodes.Request /** - * Returns information about the nodes in a cluster. IMPORTANT: cat APIs are - * only intended for human consumption using the command line or Kibana console. - * They are not intended for use by applications. For application consumption, - * use the nodes info API. + * Get node information. Get information about the nodes in a cluster. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. For + * application consumption, use the nodes info API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java index 926e50a56..3f08d5276 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PendingTasksRequest.java @@ -54,10 +54,11 @@ // typedef: cat.pending_tasks.Request /** - * Returns cluster-level changes that have not yet been executed. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the pending cluster tasks API. + * Get pending task information. Get information about cluster-level changes + * that have not yet taken effect. IMPORTANT: cat APIs are only intended for + * human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the + * pending cluster tasks API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java index 0385c8a95..1487f4cf1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/PluginsRequest.java @@ -54,10 +54,10 @@ // typedef: cat.plugins.Request /** - * Returns a list of plugins running on each node of a cluster. IMPORTANT: cat - * APIs are only intended for human consumption using the command line or Kibana - * console. They are not intended for use by applications. For application - * consumption, use the nodes info API. + * Get plugin information. Get a list of plugins running on each node of a + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RecoveryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RecoveryRequest.java index db204aefc..37e01d4c0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RecoveryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RecoveryRequest.java @@ -58,15 +58,15 @@ // typedef: cat.recovery.Request /** - * Returns information about ongoing and completed shard recoveries. Shard - * recovery is the process of initializing a shard copy, such as restoring a - * primary shard from a snapshot or syncing a replica shard from a primary - * shard. When a shard recovery completes, the recovered shard is available for - * search and indexing. For data streams, the API returns information about the - * stream’s backing indices. IMPORTANT: cat APIs are only intended for human - * consumption using the command line or Kibana console. They are not intended - * for use by applications. For application consumption, use the index recovery - * API. + * Get shard recovery information. Get information about ongoing and completed + * shard recoveries. Shard recovery is the process of initializing a shard copy, + * such as restoring a primary shard from a snapshot or syncing a replica shard + * from a primary shard. When a shard recovery completes, the recovered shard is + * available for search and indexing. For data streams, the API returns + * information about the stream’s backing indices. IMPORTANT: cat APIs are only + * intended for human consumption using the command line or Kibana console. They + * are not intended for use by applications. For application consumption, use + * the index recovery API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RepositoriesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RepositoriesRequest.java index 28e9bc101..99f6cd8f7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RepositoriesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/RepositoriesRequest.java @@ -51,10 +51,11 @@ // typedef: cat.repositories.Request /** - * Returns the snapshot repositories for a cluster. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. For application consumption, use - * the get snapshot repository API. + * Get snapshot repository information. Get a list of snapshot repositories for + * a cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the get snapshot repository + * API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java index c5591ae86..b5199379e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SegmentsRequest.java @@ -58,11 +58,11 @@ // typedef: cat.segments.Request /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the backing indices. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the index segments API. + * Get segment information. Get low-level information about the Lucene segments + * in index shards. For data streams, the API returns information about the + * backing indices. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the index segments API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ShardsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ShardsRequest.java index 06a51f901..8ce91892d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ShardsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ShardsRequest.java @@ -57,10 +57,10 @@ // typedef: cat.shards.Request /** - * Returns information about the shards in a cluster. For data streams, the API - * returns information about the backing indices. IMPORTANT: cat APIs are only - * intended for human consumption using the command line or Kibana console. They - * are not intended for use by applications. + * Get shard information. Get information about the shards in a cluster. For + * data streams, the API returns information about the backing indices. + * IMPORTANT: cat APIs are only intended for human consumption using the command + * line or Kibana console. They are not intended for use by applications. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SnapshotsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SnapshotsRequest.java index a9754e6ff..1e30a07c4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SnapshotsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/SnapshotsRequest.java @@ -57,11 +57,12 @@ // typedef: cat.snapshots.Request /** - * Returns information about the snapshots stored in one or more repositories. A - * snapshot is a backup of an index or running Elasticsearch cluster. IMPORTANT: - * cat APIs are only intended for human consumption using the command line or - * Kibana console. They are not intended for use by applications. For - * application consumption, use the get snapshot API. + * Get snapshot information Get information about the snapshots stored in one or + * more repositories. A snapshot is a backup of an index or running + * Elasticsearch cluster. IMPORTANT: cat APIs are only intended for human + * consumption using the command line or Kibana console. They are not intended + * for use by applications. For application consumption, use the get snapshot + * API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TasksRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TasksRequest.java index e55ebc5f5..7abeec6e1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TasksRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TasksRequest.java @@ -58,10 +58,10 @@ // typedef: cat.tasks.Request /** - * Returns information about tasks currently executing in the cluster. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the task management API. + * Get task information. Get information about tasks currently running in the + * cluster. IMPORTANT: cat APIs are only intended for human consumption using + * the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the task management API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java index 77aad9f0e..150e9d865 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TemplatesRequest.java @@ -54,11 +54,12 @@ // typedef: cat.templates.Request /** - * Returns information about index templates in a cluster. You can use index - * templates to apply index settings and field mappings to new indices at - * creation. IMPORTANT: cat APIs are only intended for human consumption using - * the command line or Kibana console. They are not intended for use by - * applications. For application consumption, use the get index template API. + * Get index template information. Get information about the index templates in + * a cluster. You can use index templates to apply index settings and field + * mappings to new indices at creation. IMPORTANT: cat APIs are only intended + * for human consumption using the command line or Kibana console. They are not + * intended for use by applications. For application consumption, use the get + * index template API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java index f44ee12a7..b9b79ea4f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/ThreadPoolRequest.java @@ -58,11 +58,11 @@ // typedef: cat.thread_pool.Request /** - * Returns thread pool statistics for each node in a cluster. Returned - * information includes all built-in thread pools and custom thread pools. - * IMPORTANT: cat APIs are only intended for human consumption using the command - * line or Kibana console. They are not intended for use by applications. For - * application consumption, use the nodes info API. + * Get thread pool statistics. Get thread pool statistics for each node in a + * cluster. Returned information includes all built-in thread pools and custom + * thread pools. IMPORTANT: cat APIs are only intended for human consumption + * using the command line or Kibana console. They are not intended for use by + * applications. For application consumption, use the nodes info API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsRequest.java index 095b25d87..c8a3bd62f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsRequest.java @@ -59,7 +59,8 @@ // typedef: cat.transforms.Request /** - * Get transforms. Returns configuration and usage information about transforms. + * Get transform information. Get configuration and usage information about + * transforms. *

    * CAT APIs are only intended for human consumption using the Kibana console or * command line. They are not intended for use by applications. For application diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java index 360897e9b..7fe4999b6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java @@ -65,7 +65,7 @@ // typedef: _global.count.Request /** - * Returns number of documents matching a query. + * Count search results. Get the number of documents matching a query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java index 1701d0acb..33f573830 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java @@ -84,6 +84,9 @@ */ @JsonpDeserializable public class OpenPointInTimeRequest extends RequestBase implements JsonpSerializable { + @Nullable + private final Boolean allowPartialSearchResults; + private final List expandWildcards; @Nullable @@ -106,6 +109,7 @@ public class OpenPointInTimeRequest extends RequestBase implements JsonpSerializ private OpenPointInTimeRequest(Builder builder) { + this.allowPartialSearchResults = builder.allowPartialSearchResults; this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); @@ -120,6 +124,19 @@ public static OpenPointInTimeRequest of(Functionfalse, creating a point in time request when a shard is + * missing or unavailable will throw an exception. If true, the + * point in time will contain all the shards that are available at the time of + * the request. + *

    + * API name: {@code allow_partial_search_results} + */ + @Nullable + public final Boolean allowPartialSearchResults() { + return this.allowPartialSearchResults; + } + /** * Type of index that wildcard patterns can match. If the request can target * data streams, this argument determines whether wildcard expressions match @@ -224,6 +241,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Boolean allowPartialSearchResults; + @Nullable private List expandWildcards; @@ -243,6 +263,19 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private String routing; + /** + * If false, creating a point in time request when a shard is + * missing or unavailable will throw an exception. If true, the + * point in time will contain all the shards that are available at the time of + * the request. + *

    + * API name: {@code allow_partial_search_results} + */ + public final Builder allowPartialSearchResults(@Nullable Boolean value) { + this.allowPartialSearchResults = value; + return this; + } + /** * Type of index that wildcard patterns can match. If the request can target * data streams, this argument determines whether wildcard expressions match @@ -462,6 +495,9 @@ protected static void setupOpenPointInTimeRequestDeserializer( if (request.routing != null) { params.put("routing", request.routing); } + if (request.allowPartialSearchResults != null) { + params.put("allow_partial_search_results", String.valueOf(request.allowPartialSearchResults)); + } if (request.ignoreUnavailable != null) { params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicator.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicator.java new file mode 100644 index 000000000..2fbfee90c --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicator.java @@ -0,0 +1,154 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.health_report; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.health_report.FileSettingsIndicator + +/** + * FILE_SETTINGS + * + * @see API + * specification + */ +@JsonpDeserializable +public class FileSettingsIndicator extends BaseIndicator { + @Nullable + private final FileSettingsIndicatorDetails details; + + // --------------------------------------------------------------------------------------------- + + private FileSettingsIndicator(Builder builder) { + super(builder); + + this.details = builder.details; + + } + + public static FileSettingsIndicator of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code details} + */ + @Nullable + public final FileSettingsIndicatorDetails details() { + return this.details; + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + super.serializeInternal(generator, mapper); + if (this.details != null) { + generator.writeKey("details"); + this.details.serialize(generator, mapper); + + } + + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link FileSettingsIndicator}. + */ + + public static class Builder extends BaseIndicator.AbstractBuilder + implements + ObjectBuilder { + @Nullable + private FileSettingsIndicatorDetails details; + + /** + * API name: {@code details} + */ + public final Builder details(@Nullable FileSettingsIndicatorDetails value) { + this.details = value; + return this; + } + + /** + * API name: {@code details} + */ + public final Builder details( + Function> fn) { + return this.details(fn.apply(new FileSettingsIndicatorDetails.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link FileSettingsIndicator}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public FileSettingsIndicator build() { + _checkSingleUse(); + + return new FileSettingsIndicator(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link FileSettingsIndicator} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, FileSettingsIndicator::setupFileSettingsIndicatorDeserializer); + + protected static void setupFileSettingsIndicatorDeserializer(ObjectDeserializer op) { + BaseIndicator.setupBaseIndicatorDeserializer(op); + op.add(Builder::details, FileSettingsIndicatorDetails._DESERIALIZER, "details"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicatorDetails.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicatorDetails.java new file mode 100644 index 000000000..dd7f978ba --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/FileSettingsIndicatorDetails.java @@ -0,0 +1,182 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.core.health_report; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Long; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: _global.health_report.FileSettingsIndicatorDetails + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class FileSettingsIndicatorDetails implements JsonpSerializable { + private final long failureStreak; + + private final String mostRecentFailure; + + // --------------------------------------------------------------------------------------------- + + private FileSettingsIndicatorDetails(Builder builder) { + + this.failureStreak = ApiTypeHelper.requireNonNull(builder.failureStreak, this, "failureStreak"); + this.mostRecentFailure = ApiTypeHelper.requireNonNull(builder.mostRecentFailure, this, "mostRecentFailure"); + + } + + public static FileSettingsIndicatorDetails of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code failure_streak} + */ + public final long failureStreak() { + return this.failureStreak; + } + + /** + * Required - API name: {@code most_recent_failure} + */ + public final String mostRecentFailure() { + return this.mostRecentFailure; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("failure_streak"); + generator.write(this.failureStreak); + + generator.writeKey("most_recent_failure"); + generator.write(this.mostRecentFailure); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link FileSettingsIndicatorDetails}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Long failureStreak; + + private String mostRecentFailure; + + /** + * Required - API name: {@code failure_streak} + */ + public final Builder failureStreak(long value) { + this.failureStreak = value; + return this; + } + + /** + * Required - API name: {@code most_recent_failure} + */ + public final Builder mostRecentFailure(String value) { + this.mostRecentFailure = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link FileSettingsIndicatorDetails}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public FileSettingsIndicatorDetails build() { + _checkSingleUse(); + + return new FileSettingsIndicatorDetails(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link FileSettingsIndicatorDetails} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, FileSettingsIndicatorDetails::setupFileSettingsIndicatorDetailsDeserializer); + + protected static void setupFileSettingsIndicatorDetailsDeserializer( + ObjectDeserializer op) { + + op.add(Builder::failureStreak, JsonpDeserializer.longDeserializer(), "failure_streak"); + op.add(Builder::mostRecentFailure, JsonpDeserializer.stringDeserializer(), "most_recent_failure"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/Indicators.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/Indicators.java index f313d5945..a4f85fb5f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/Indicators.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/health_report/Indicators.java @@ -82,6 +82,9 @@ public class Indicators implements JsonpSerializable { @Nullable private final ShardsCapacityIndicator shardsCapacity; + @Nullable + private final FileSettingsIndicator fileSettings; + // --------------------------------------------------------------------------------------------- private Indicators(Builder builder) { @@ -94,6 +97,7 @@ private Indicators(Builder builder) { this.ilm = builder.ilm; this.slm = builder.slm; this.shardsCapacity = builder.shardsCapacity; + this.fileSettings = builder.fileSettings; } @@ -165,6 +169,14 @@ public final ShardsCapacityIndicator shardsCapacity() { return this.shardsCapacity; } + /** + * API name: {@code file_settings} + */ + @Nullable + public final FileSettingsIndicator fileSettings() { + return this.fileSettings; + } + /** * Serialize this object to JSON. */ @@ -216,6 +228,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.shardsCapacity.serialize(generator, mapper); } + if (this.fileSettings != null) { + generator.writeKey("file_settings"); + this.fileSettings.serialize(generator, mapper); + + } } @@ -255,6 +272,9 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private ShardsCapacityIndicator shardsCapacity; + @Nullable + private FileSettingsIndicator fileSettings; + /** * API name: {@code master_is_stable} */ @@ -380,6 +400,22 @@ public final Builder shardsCapacity( return this.shardsCapacity(fn.apply(new ShardsCapacityIndicator.Builder()).build()); } + /** + * API name: {@code file_settings} + */ + public final Builder fileSettings(@Nullable FileSettingsIndicator value) { + this.fileSettings = value; + return this; + } + + /** + * API name: {@code file_settings} + */ + public final Builder fileSettings( + Function> fn) { + return this.fileSettings(fn.apply(new FileSettingsIndicator.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -416,6 +452,7 @@ protected static void setupIndicatorsDeserializer(ObjectDeserializer 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/cf7d574e642f871f48b16f316b56acc17acf4752/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/54858439f77f353d64fec90ccdb70bc54b43a7c8/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java index 4eadca956..104c092d7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java @@ -103,7 +103,7 @@ public final CompletableFuture deletePolicy( // ----- Endpoint: enrich.execute_policy /** - * Creates the enrich index for an existing enrich policy. + * Run an enrich policy. Create the enrich index for an existing enrich policy. * * @see Documentation @@ -118,7 +118,7 @@ public CompletableFuture executePolicy(ExecutePolicyReque } /** - * Creates the enrich index for an existing enrich policy. + * Run an enrich policy. Create the enrich index for an existing enrich policy. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java index 705285103..7b4b8a1f1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java @@ -104,7 +104,7 @@ public final DeletePolicyResponse deletePolicy( // ----- Endpoint: enrich.execute_policy /** - * Creates the enrich index for an existing enrich policy. + * Run an enrich policy. Create the enrich index for an existing enrich policy. * * @see Documentation @@ -120,7 +120,7 @@ public ExecutePolicyResponse executePolicy(ExecutePolicyRequest request) } /** - * Creates the enrich index for an existing enrich policy. + * Run an enrich policy. Create the enrich index for an existing enrich policy. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java index 1623ad63c..f7610957d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java @@ -56,7 +56,7 @@ // typedef: enrich.execute_policy.Request /** - * Creates the enrich index for an existing enrich policy. + * Run an enrich policy. Create the enrich index for an existing enrich policy. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java index a2162780e..a6faa51d8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java @@ -69,8 +69,8 @@ public ElasticsearchEqlAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: eql.delete /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. + * Delete an async EQL search. Delete an async EQL search or a stored + * synchronous EQL search. The API also deletes results for the search. * * @see Documentation @@ -85,8 +85,8 @@ public CompletableFuture delete(EqlDeleteRequest request) { } /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. + * Delete an async EQL search. Delete an async EQL search or a stored + * synchronous EQL search. The API also deletes results for the search. * * @param fn * a function that initializes a builder to create the @@ -104,8 +104,8 @@ public final CompletableFuture delete( // ----- Endpoint: eql.get /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @see Documentation @@ -122,8 +122,8 @@ public CompletableFuture> get(EqlGetRequest requ } /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @param fn * a function that initializes a builder to create the @@ -139,8 +139,8 @@ public final CompletableFuture> get( } /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @see Documentation @@ -157,8 +157,8 @@ public CompletableFuture> get(EqlGetRequest requ } /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @param fn * a function that initializes a builder to create the @@ -176,8 +176,8 @@ public final CompletableFuture> get( // ----- Endpoint: eql.get_status /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. + * Get the async EQL status. Get the current status for an async EQL search or a + * stored synchronous EQL search without returning results. * * @see Documentation @@ -192,8 +192,8 @@ public CompletableFuture getStatus(GetEqlStatusRequest req } /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. + * Get the async EQL status. Get the current status for an async EQL search or a + * stored synchronous EQL search without returning results. * * @param fn * a function that initializes a builder to create the @@ -211,7 +211,9 @@ public final CompletableFuture getStatus( // ----- Endpoint: eql.search /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @see Documentation @@ -229,7 +231,9 @@ public CompletableFuture> search(EqlSearchReq } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @param fn * a function that initializes a builder to create the @@ -245,7 +249,9 @@ public final CompletableFuture> search( } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @see Documentation @@ -262,7 +268,9 @@ public CompletableFuture> search(EqlSearchReq } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java index a274fd527..4c6285064 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java @@ -70,8 +70,8 @@ public ElasticsearchEqlClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: eql.delete /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. + * Delete an async EQL search. Delete an async EQL search or a stored + * synchronous EQL search. The API also deletes results for the search. * * @see Documentation @@ -86,8 +86,8 @@ public EqlDeleteResponse delete(EqlDeleteRequest request) throws IOException, El } /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. + * Delete an async EQL search. Delete an async EQL search or a stored + * synchronous EQL search. The API also deletes results for the search. * * @param fn * a function that initializes a builder to create the @@ -105,8 +105,8 @@ public final EqlDeleteResponse delete(FunctionDocumentation @@ -124,8 +124,8 @@ public EqlGetResponse get(EqlGetRequest request, Class } /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @param fn * a function that initializes a builder to create the @@ -141,8 +141,8 @@ public final EqlGetResponse get(FunctionDocumentation @@ -160,8 +160,8 @@ public EqlGetResponse get(EqlGetRequest request, Type tEventTyp } /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @param fn * a function that initializes a builder to create the @@ -179,8 +179,8 @@ public final EqlGetResponse get(FunctionDocumentation @@ -195,8 +195,8 @@ public GetEqlStatusResponse getStatus(GetEqlStatusRequest request) throws IOExce } /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. + * Get the async EQL status. Get the current status for an async EQL search or a + * stored synchronous EQL search without returning results. * * @param fn * a function that initializes a builder to create the @@ -215,7 +215,9 @@ public final GetEqlStatusResponse getStatus( // ----- Endpoint: eql.search /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @see Documentation @@ -233,7 +235,9 @@ public EqlSearchResponse search(EqlSearchRequest request, Class } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @param fn * a function that initializes a builder to create the @@ -250,7 +254,9 @@ public final EqlSearchResponse search( } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @see Documentation @@ -268,7 +274,9 @@ public EqlSearchResponse search(EqlSearchRequest request, Type } /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java index 79d4e352a..3df6b40df 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java @@ -56,8 +56,8 @@ // typedef: eql.delete.Request /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. + * Delete an async EQL search. Delete an async EQL search or a stored + * synchronous EQL search. The API also deletes results for the search. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java index dfb379ee1..7fe2693f8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java @@ -56,8 +56,8 @@ // typedef: eql.get.Request /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. + * Get async EQL search results. Get the current status and available results + * for an async EQL search or a stored synchronous EQL search. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java index 84b491e2b..603e1074b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java @@ -68,7 +68,9 @@ // typedef: eql.search.Request /** - * Returns results matching a query expressed in Event Query Language (EQL) + * Get EQL search results. Returns search results for an Event Query Language + * (EQL) query. EQL assumes each document in a data stream or index corresponds + * to an event. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java index 2d6aeec92..aa3df1098 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java @@ -56,8 +56,8 @@ // typedef: eql.get_status.Request /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. + * Get the async EQL status. Get the current status for an async EQL search or a + * stored synchronous EQL search without returning results. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java index 79fd20c34..2f7144e6f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java @@ -70,7 +70,8 @@ public ElasticsearchEsqlAsyncClient withTransportOptions(@Nullable TransportOpti // ----- Endpoint: esql.query /** - * Executes an ES|QL request + * Run an ES|QL query. Get search results for an ES|QL (Elasticsearch query + * language) query. * * @see Documentation @@ -85,7 +86,8 @@ public CompletableFuture query(QueryRequest request) { } /** - * Executes an ES|QL request + * Run an ES|QL query. Get search results for an ES|QL (Elasticsearch query + * language) query. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java index b77487c97..24b56e29e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java @@ -71,7 +71,8 @@ public ElasticsearchEsqlClient withTransportOptions(@Nullable TransportOptions t // ----- Endpoint: esql.query /** - * Executes an ES|QL request + * Run an ES|QL query. Get search results for an ES|QL (Elasticsearch query + * language) query. * * @see Documentation @@ -86,7 +87,8 @@ public BinaryResponse query(QueryRequest request) throws IOException, Elasticsea } /** - * Executes an ES|QL request + * Run an ES|QL query. Get search results for an ES|QL (Elasticsearch query + * language) query. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java index 70aa0079b..0d235bbc5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java @@ -66,7 +66,8 @@ // typedef: esql.query.Request /** - * Executes an ES|QL request + * Run an ES|QL query. Get search results for an ES|QL (Elasticsearch query + * language) query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java index 3dd41c32c..94e8a968d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java @@ -70,9 +70,9 @@ public ElasticsearchFleetAsyncClient withTransportOptions(@Nullable TransportOpt // ----- Endpoint: fleet.search /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @see Documentation on elastic.co */ @@ -88,9 +88,9 @@ public CompletableFuture> search(Flee } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @param fn * a function that initializes a builder to create the @@ -105,9 +105,9 @@ public final CompletableFuture> searc } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @see Documentation on elastic.co */ @@ -123,9 +123,9 @@ public CompletableFuture> search(Flee } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java index 6cc870710..30503174d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java @@ -70,9 +70,9 @@ public ElasticsearchFleetClient withTransportOptions(@Nullable TransportOptions // ----- Endpoint: fleet.search /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @see Documentation on elastic.co */ @@ -88,9 +88,9 @@ public FleetSearchResponse search(FleetSearchRequest requ } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @param fn * a function that initializes a builder to create the @@ -105,9 +105,9 @@ public final FleetSearchResponse search( } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @see Documentation on elastic.co */ @@ -123,9 +123,9 @@ public FleetSearchResponse search(FleetSearchRequest requ } /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java index 7922bedde..1fd937219 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java @@ -84,9 +84,9 @@ // typedef: fleet.search.Request /** - * The purpose of the fleet search api is to provide a search api where the - * search will only be executed after provided checkpoint has been processed and - * is visible for searches inside of Elasticsearch. + * Run a Fleet search. The purpose of the Fleet search API is to provide an API + * where the search will be run only after the provided checkpoint has been + * processed and is visible for searches inside of Elasticsearch. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java index 1bf89d303..46ddcc73a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java @@ -68,8 +68,14 @@ public ElasticsearchGraphAsyncClient withTransportOptions(@Nullable TransportOpt // ----- Endpoint: graph.explore /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. + * Explore graph analytics. Extract and summarize information about the + * documents and terms in an Elasticsearch data stream or index. The easiest way + * to understand the behavior of this API is to use the Graph UI to explore + * connections. An initial request to the _explore API contains a + * seed query that identifies the documents of interest and specifies the fields + * that define the vertices and connections you want to include in the graph. + * Subsequent requests enable you to spider out from one more vertices of + * interest. You can exclude vertices that have already been returned. * * @see Documentation @@ -84,8 +90,14 @@ public CompletableFuture explore(ExploreRequest request) { } /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. + * Explore graph analytics. Extract and summarize information about the + * documents and terms in an Elasticsearch data stream or index. The easiest way + * to understand the behavior of this API is to use the Graph UI to explore + * connections. An initial request to the _explore API contains a + * seed query that identifies the documents of interest and specifies the fields + * that define the vertices and connections you want to include in the graph. + * Subsequent requests enable you to spider out from one more vertices of + * interest. You can exclude vertices that have already been returned. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java index 658be9a19..47056e9bc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java @@ -68,8 +68,14 @@ public ElasticsearchGraphClient withTransportOptions(@Nullable TransportOptions // ----- Endpoint: graph.explore /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. + * Explore graph analytics. Extract and summarize information about the + * documents and terms in an Elasticsearch data stream or index. The easiest way + * to understand the behavior of this API is to use the Graph UI to explore + * connections. An initial request to the _explore API contains a + * seed query that identifies the documents of interest and specifies the fields + * that define the vertices and connections you want to include in the graph. + * Subsequent requests enable you to spider out from one more vertices of + * interest. You can exclude vertices that have already been returned. * * @see Documentation @@ -84,8 +90,14 @@ public ExploreResponse explore(ExploreRequest request) throws IOException, Elast } /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. + * Explore graph analytics. Extract and summarize information about the + * documents and terms in an Elasticsearch data stream or index. The easiest way + * to understand the behavior of this API is to use the Graph UI to explore + * connections. An initial request to the _explore API contains a + * seed query that identifies the documents of interest and specifies the fields + * that define the vertices and connections you want to include in the graph. + * Subsequent requests enable you to spider out from one more vertices of + * interest. You can exclude vertices that have already been returned. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java index 601f88927..70a34690e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java @@ -61,8 +61,14 @@ // typedef: graph.explore.Request /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. + * Explore graph analytics. Extract and summarize information about the + * documents and terms in an Elasticsearch data stream or index. The easiest way + * to understand the behavior of this API is to use the Graph UI to explore + * connections. An initial request to the _explore API contains a + * seed query that identifies the documents of interest and specifies the fields + * that define the vertices and connections you want to include in the graph. + * Subsequent requests enable you to spider out from one more vertices of + * interest. You can exclude vertices that have already been returned. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java index 6017306b2..b651cf821 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java @@ -735,7 +735,7 @@ public final CompletableFuture existsAlias( // ----- Endpoint: indices.exists_index_template /** - * Returns information about whether a particular index template exists. + * Check index templates. Check whether index templates exist. * * @see Documentation @@ -750,7 +750,7 @@ public CompletableFuture existsIndexTemplate(ExistsIndexTemplat } /** - * Returns information about whether a particular index template exists. + * Check index templates. Check whether index templates exist. * * @param fn * a function that initializes a builder to create the @@ -1916,8 +1916,9 @@ public final CompletableFuture resolveCluster( // ----- Endpoint: indices.resolve_index /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. + * Resolve indices. Resolve the names and/or index patterns for indices, + * aliases, and data streams. Multiple patterns and remote clusters are + * supported. * * @see Documentation @@ -1932,8 +1933,9 @@ public CompletableFuture resolveIndex(ResolveIndexRequest } /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. + * Resolve indices. Resolve the names and/or index patterns for indices, + * aliases, and data streams. Multiple patterns and remote clusters are + * supported. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java index 60e3b5bd8..c4887ea43 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java @@ -746,7 +746,7 @@ public final BooleanResponse existsAlias(FunctionDocumentation @@ -762,7 +762,7 @@ public BooleanResponse existsIndexTemplate(ExistsIndexTemplateRequest request) } /** - * Returns information about whether a particular index template exists. + * Check index templates. Check whether index templates exist. * * @param fn * a function that initializes a builder to create the @@ -1962,8 +1962,9 @@ public final ResolveClusterResponse resolveCluster( // ----- Endpoint: indices.resolve_index /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. + * Resolve indices. Resolve the names and/or index patterns for indices, + * aliases, and data streams. Multiple patterns and remote clusters are + * supported. * * @see Documentation @@ -1978,8 +1979,9 @@ public ResolveIndexResponse resolveIndex(ResolveIndexRequest request) throws IOE } /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. + * Resolve indices. Resolve the names and/or index patterns for indices, + * aliases, and data streams. Multiple patterns and remote clusters are + * supported. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java index 83f03e238..afa873138 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.ExpandWildcard; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -78,6 +79,9 @@ public class ExistsAliasRequest extends RequestBase { private final List index; + @Nullable + private final Time masterTimeout; + private final List name; // --------------------------------------------------------------------------------------------- @@ -88,6 +92,7 @@ private ExistsAliasRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); + this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); } @@ -145,6 +150,17 @@ public final List index() { return this.index; } + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; + } + /** * Required - Comma-separated list of aliases to check. Supports wildcards * (*). @@ -176,6 +192,9 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private List index; + @Nullable + private Time masterTimeout; + private List name; /** @@ -264,6 +283,27 @@ public final Builder index(String value, String... values) { return this; } + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + /** * Required - Comma-separated list of aliases to check. Supports wildcards * (*). @@ -378,6 +418,9 @@ public ExistsAliasRequest build() { // Request parameters request -> { Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } if (ApiTypeHelper.isDefined(request.expandWildcards)) { params.put("expand_wildcards", request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java index f204a6986..41bc9454b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java @@ -58,7 +58,7 @@ // typedef: indices.exists_index_template.Request /** - * Returns information about whether a particular index template exists. + * Check index templates. Check whether index templates exist. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java index d0337c73d..4e1d9c815 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.ExpandWildcard; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.ObjectBuilderDeserializer; @@ -77,6 +78,9 @@ public class GetAliasRequest extends RequestBase { private final List index; + @Nullable + private final Time masterTimeout; + private final List name; // --------------------------------------------------------------------------------------------- @@ -87,6 +91,7 @@ private GetAliasRequest(Builder builder) { this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.ignoreUnavailable = builder.ignoreUnavailable; this.index = ApiTypeHelper.unmodifiable(builder.index); + this.masterTimeout = builder.masterTimeout; this.name = ApiTypeHelper.unmodifiable(builder.name); } @@ -144,6 +149,17 @@ public final List index() { return this.index; } + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + @Nullable + public final Time masterTimeout() { + return this.masterTimeout; + } + /** * Comma-separated list of aliases to retrieve. Supports wildcards * (*). To retrieve all aliases, omit this parameter or use @@ -174,6 +190,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private List index; + @Nullable + private Time masterTimeout; + @Nullable private List name; @@ -263,6 +282,27 @@ public final Builder index(String value, String... values) { return this; } + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(@Nullable Time value) { + this.masterTimeout = value; + return this; + } + + /** + * Period to wait for a connection to the master node. If no response is + * received before the timeout expires, the request fails and returns an error. + *

    + * API name: {@code master_timeout} + */ + public final Builder masterTimeout(Function> fn) { + return this.masterTimeout(fn.apply(new Time.Builder()).build()); + } + /** * Comma-separated list of aliases to retrieve. Supports wildcards * (*). To retrieve all aliases, omit this parameter or use @@ -398,6 +438,9 @@ public GetAliasRequest build() { // Request parameters request -> { Map params = new HashMap<>(); + if (request.masterTimeout != null) { + params.put("master_timeout", request.masterTimeout._toJsonString()); + } if (ApiTypeHelper.isDefined(request.expandWildcards)) { params.put("expand_wildcards", request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java index ace492270..3dfe8f1a4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java @@ -30,7 +30,7 @@ import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; -import java.lang.Long; +import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -61,7 +61,7 @@ @JsonpDeserializable public class MappingLimitSettingsTotalFields implements JsonpSerializable { @Nullable - private final Long limit; + private final String limit; @Nullable private final Boolean ignoreDynamicBeyondLimit; @@ -90,7 +90,7 @@ public static MappingLimitSettingsTotalFields of( * API name: {@code limit} */ @Nullable - public final Long limit() { + public final String limit() { return this.limit; } @@ -149,7 +149,7 @@ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { @Nullable - private Long limit; + private String limit; @Nullable private Boolean ignoreDynamicBeyondLimit; @@ -163,7 +163,7 @@ public static class Builder extends WithJsonObjectBuilderBase *

    * API name: {@code limit} */ - public final Builder limit(@Nullable Long value) { + public final Builder limit(@Nullable String value) { this.limit = value; return this; } @@ -213,7 +213,7 @@ public MappingLimitSettingsTotalFields build() { protected static void setupMappingLimitSettingsTotalFieldsDeserializer( ObjectDeserializer op) { - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); + op.add(Builder::limit, JsonpDeserializer.stringDeserializer(), "limit"); op.add(Builder::ignoreDynamicBeyondLimit, JsonpDeserializer.booleanDeserializer(), "ignore_dynamic_beyond_limit"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java index 1e6af297b..ec21ee58a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java @@ -59,8 +59,9 @@ // typedef: indices.resolve_index.Request /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. + * Resolve indices. Resolve the names and/or index patterns for indices, + * aliases, and data streams. Multiple patterns and remote clusters are + * supported. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeleteGeoipDatabaseRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeleteGeoipDatabaseRequest.java index b89273361..331f47acb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeleteGeoipDatabaseRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeleteGeoipDatabaseRequest.java @@ -58,7 +58,8 @@ // typedef: ingest.delete_geoip_database.Request /** - * Deletes a geoip database configuration. + * Delete GeoIP database configurations. Delete one or more IP geolocation + * database configurations. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineRequest.java index 651038e09..27cffbb33 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineRequest.java @@ -56,7 +56,7 @@ // typedef: ingest.delete_pipeline.Request /** - * Deletes one or more existing ingest pipeline. + * Delete pipelines. Delete one or more ingest pipelines. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java index 71c5ab695..f412dfe03 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java @@ -68,7 +68,8 @@ public ElasticsearchIngestAsyncClient withTransportOptions(@Nullable TransportOp // ----- Endpoint: ingest.delete_geoip_database /** - * Deletes a geoip database configuration. + * Delete GeoIP database configurations. Delete one or more IP geolocation + * database configurations. * * @see Documentation @@ -83,7 +84,8 @@ public CompletableFuture deleteGeoipDatabase(Delete } /** - * Deletes a geoip database configuration. + * Delete GeoIP database configurations. Delete one or more IP geolocation + * database configurations. * * @param fn * a function that initializes a builder to create the @@ -101,7 +103,7 @@ public final CompletableFuture deleteGeoipDatabase( // ----- Endpoint: ingest.delete_pipeline /** - * Deletes one or more existing ingest pipeline. + * Delete pipelines. Delete one or more ingest pipelines. * * @see Documentation @@ -116,7 +118,7 @@ public CompletableFuture deletePipeline(DeletePipelineRe } /** - * Deletes one or more existing ingest pipeline. + * Delete pipelines. Delete one or more ingest pipelines. * * @param fn * a function that initializes a builder to create the @@ -134,7 +136,8 @@ public final CompletableFuture deletePipeline( // ----- Endpoint: ingest.geo_ip_stats /** - * Gets download statistics for GeoIP2 databases used with the geoip processor. + * Get GeoIP statistics. Get download statistics for GeoIP2 databases that are + * used with the GeoIP processor. * * @see Documentation @@ -148,7 +151,8 @@ public CompletableFuture geoIpStats() { // ----- Endpoint: ingest.get_geoip_database /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @see Documentation @@ -163,7 +167,8 @@ public CompletableFuture getGeoipDatabase(GetGeoipData } /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @param fn * a function that initializes a builder to create the @@ -179,7 +184,8 @@ public final CompletableFuture getGeoipDatabase( } /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @see Documentation @@ -194,8 +200,8 @@ public CompletableFuture getGeoipDatabase() { // ----- Endpoint: ingest.get_pipeline /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @see Documentation @@ -210,8 +216,8 @@ public CompletableFuture getPipeline(GetPipelineRequest req } /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @param fn * a function that initializes a builder to create the @@ -227,8 +233,8 @@ public final CompletableFuture getPipeline( } /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @see Documentation @@ -243,10 +249,11 @@ public CompletableFuture getPipeline() { // ----- Endpoint: ingest.processor_grok /** - * Extracts structured fields out of a single text field within a document. You - * choose which field to extract matched fields from, as well as the grok - * pattern you expect will match. A grok pattern is like a regular expression - * that supports aliased expressions that can be reused. + * Run a grok processor. Extract structured fields out of a single text field + * within a document. You must choose which field to extract matched fields + * from, as well as the grok pattern you expect will match. A grok pattern is + * like a regular expression that supports aliased expressions that can be + * reused. * * @see Documentation @@ -260,7 +267,8 @@ public CompletableFuture processorGrok() { // ----- Endpoint: ingest.put_geoip_database /** - * Returns information about one or more geoip database configurations. + * Create or update GeoIP database configurations. Create or update IP + * geolocation database configurations. * * @see Documentation @@ -275,7 +283,8 @@ public CompletableFuture putGeoipDatabase(PutGeoipData } /** - * Returns information about one or more geoip database configurations. + * Create or update GeoIP database configurations. Create or update IP + * geolocation database configurations. * * @param fn * a function that initializes a builder to create the @@ -293,8 +302,8 @@ public final CompletableFuture putGeoipDatabase( // ----- Endpoint: ingest.put_pipeline /** - * Creates or updates an ingest pipeline. Changes made using this API take - * effect immediately. + * Create or update a pipeline. Changes made using this API take effect + * immediately. * * @see Documentation @@ -309,8 +318,8 @@ public CompletableFuture putPipeline(PutPipelineRequest req } /** - * Creates or updates an ingest pipeline. Changes made using this API take - * effect immediately. + * Create or update a pipeline. Changes made using this API take effect + * immediately. * * @param fn * a function that initializes a builder to create the @@ -328,7 +337,10 @@ public final CompletableFuture putPipeline( // ----- Endpoint: ingest.simulate /** - * Executes an ingest pipeline against a set of provided documents. + * Simulate a pipeline. Run an ingest pipeline against a set of provided + * documents. You can either specify an existing pipeline to use with the + * provided documents or supply a pipeline definition in the body of the + * request. * * @see Documentation @@ -343,7 +355,10 @@ public CompletableFuture simulate(SimulateRequest request) { } /** - * Executes an ingest pipeline against a set of provided documents. + * Simulate a pipeline. Run an ingest pipeline against a set of provided + * documents. You can either specify an existing pipeline to use with the + * provided documents or supply a pipeline definition in the body of the + * request. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java index 442a89ea9..4f3f2c160 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java @@ -68,7 +68,8 @@ public ElasticsearchIngestClient withTransportOptions(@Nullable TransportOptions // ----- Endpoint: ingest.delete_geoip_database /** - * Deletes a geoip database configuration. + * Delete GeoIP database configurations. Delete one or more IP geolocation + * database configurations. * * @see Documentation @@ -84,7 +85,8 @@ public DeleteGeoipDatabaseResponse deleteGeoipDatabase(DeleteGeoipDatabaseReques } /** - * Deletes a geoip database configuration. + * Delete GeoIP database configurations. Delete one or more IP geolocation + * database configurations. * * @param fn * a function that initializes a builder to create the @@ -103,7 +105,7 @@ public final DeleteGeoipDatabaseResponse deleteGeoipDatabase( // ----- Endpoint: ingest.delete_pipeline /** - * Deletes one or more existing ingest pipeline. + * Delete pipelines. Delete one or more ingest pipelines. * * @see Documentation @@ -119,7 +121,7 @@ public DeletePipelineResponse deletePipeline(DeletePipelineRequest request) } /** - * Deletes one or more existing ingest pipeline. + * Delete pipelines. Delete one or more ingest pipelines. * * @param fn * a function that initializes a builder to create the @@ -138,7 +140,8 @@ public final DeletePipelineResponse deletePipeline( // ----- Endpoint: ingest.geo_ip_stats /** - * Gets download statistics for GeoIP2 databases used with the geoip processor. + * Get GeoIP statistics. Get download statistics for GeoIP2 databases that are + * used with the GeoIP processor. * * @see Documentation @@ -152,7 +155,8 @@ public GeoIpStatsResponse geoIpStats() throws IOException, ElasticsearchExceptio // ----- Endpoint: ingest.get_geoip_database /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @see Documentation @@ -168,7 +172,8 @@ public GetGeoipDatabaseResponse getGeoipDatabase(GetGeoipDatabaseRequest request } /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @param fn * a function that initializes a builder to create the @@ -185,7 +190,8 @@ public final GetGeoipDatabaseResponse getGeoipDatabase( } /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @see Documentation @@ -200,8 +206,8 @@ public GetGeoipDatabaseResponse getGeoipDatabase() throws IOException, Elasticse // ----- Endpoint: ingest.get_pipeline /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @see Documentation @@ -216,8 +222,8 @@ public GetPipelineResponse getPipeline(GetPipelineRequest request) throws IOExce } /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @param fn * a function that initializes a builder to create the @@ -234,8 +240,8 @@ public final GetPipelineResponse getPipeline( } /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @see Documentation @@ -250,10 +256,11 @@ public GetPipelineResponse getPipeline() throws IOException, ElasticsearchExcept // ----- Endpoint: ingest.processor_grok /** - * Extracts structured fields out of a single text field within a document. You - * choose which field to extract matched fields from, as well as the grok - * pattern you expect will match. A grok pattern is like a regular expression - * that supports aliased expressions that can be reused. + * Run a grok processor. Extract structured fields out of a single text field + * within a document. You must choose which field to extract matched fields + * from, as well as the grok pattern you expect will match. A grok pattern is + * like a regular expression that supports aliased expressions that can be + * reused. * * @see Documentation @@ -267,7 +274,8 @@ public ProcessorGrokResponse processorGrok() throws IOException, ElasticsearchEx // ----- Endpoint: ingest.put_geoip_database /** - * Returns information about one or more geoip database configurations. + * Create or update GeoIP database configurations. Create or update IP + * geolocation database configurations. * * @see Documentation @@ -283,7 +291,8 @@ public PutGeoipDatabaseResponse putGeoipDatabase(PutGeoipDatabaseRequest request } /** - * Returns information about one or more geoip database configurations. + * Create or update GeoIP database configurations. Create or update IP + * geolocation database configurations. * * @param fn * a function that initializes a builder to create the @@ -302,8 +311,8 @@ public final PutGeoipDatabaseResponse putGeoipDatabase( // ----- Endpoint: ingest.put_pipeline /** - * Creates or updates an ingest pipeline. Changes made using this API take - * effect immediately. + * Create or update a pipeline. Changes made using this API take effect + * immediately. * * @see Documentation @@ -318,8 +327,8 @@ public PutPipelineResponse putPipeline(PutPipelineRequest request) throws IOExce } /** - * Creates or updates an ingest pipeline. Changes made using this API take - * effect immediately. + * Create or update a pipeline. Changes made using this API take effect + * immediately. * * @param fn * a function that initializes a builder to create the @@ -338,7 +347,10 @@ public final PutPipelineResponse putPipeline( // ----- Endpoint: ingest.simulate /** - * Executes an ingest pipeline against a set of provided documents. + * Simulate a pipeline. Run an ingest pipeline against a set of provided + * documents. You can either specify an existing pipeline to use with the + * provided documents or supply a pipeline definition in the body of the + * request. * * @see Documentation @@ -353,7 +365,10 @@ public SimulateResponse simulate(SimulateRequest request) throws IOException, El } /** - * Executes an ingest pipeline against a set of provided documents. + * Simulate a pipeline. Run an ingest pipeline against a set of provided + * documents. You can either specify an existing pipeline to use with the + * provided documents or supply a pipeline definition in the body of the + * request. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpStatsRequest.java index 7c7ae6425..b7048547f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpStatsRequest.java @@ -50,7 +50,8 @@ // typedef: ingest.geo_ip_stats.Request /** - * Gets download statistics for GeoIP2 databases used with the geoip processor. + * Get GeoIP statistics. Get download statistics for GeoIP2 databases that are + * used with the GeoIP processor. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetGeoipDatabaseRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetGeoipDatabaseRequest.java index d25608a2e..cfc6b0418 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetGeoipDatabaseRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetGeoipDatabaseRequest.java @@ -58,7 +58,8 @@ // typedef: ingest.get_geoip_database.Request /** - * Returns information about one or more geoip database configurations. + * Get GeoIP database configurations. Get information about one or more IP + * geolocation database configurations. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineRequest.java index 244fdd148..534729398 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineRequest.java @@ -56,8 +56,8 @@ // typedef: ingest.get_pipeline.Request /** - * Returns information about one or more ingest pipelines. This API returns a - * local reference of the pipeline. + * Get pipelines. Get information about one or more ingest pipelines. This API + * returns a local reference of the pipeline. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokRequest.java index 49a6a6246..2398ff96e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokRequest.java @@ -50,10 +50,11 @@ // typedef: ingest.processor_grok.Request /** - * Extracts structured fields out of a single text field within a document. You - * choose which field to extract matched fields from, as well as the grok - * pattern you expect will match. A grok pattern is like a regular expression - * that supports aliased expressions that can be reused. + * Run a grok processor. Extract structured fields out of a single text field + * within a document. You must choose which field to extract matched fields + * from, as well as the grok pattern you expect will match. A grok pattern is + * like a regular expression that supports aliased expressions that can be + * reused. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutGeoipDatabaseRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutGeoipDatabaseRequest.java index 3ba5584b5..30855196d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutGeoipDatabaseRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutGeoipDatabaseRequest.java @@ -58,7 +58,8 @@ // typedef: ingest.put_geoip_database.Request /** - * Returns information about one or more geoip database configurations. + * Create or update GeoIP database configurations. Create or update IP + * geolocation database configurations. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java index fc71a6ce2..439bd5f2e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java @@ -62,8 +62,8 @@ // typedef: ingest.put_pipeline.Request /** - * Creates or updates an ingest pipeline. Changes made using this API take - * effect immediately. + * Create or update a pipeline. Changes made using this API take effect + * immediately. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java index e38ed19e9..4c703f530 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java @@ -60,7 +60,10 @@ // typedef: ingest.simulate.Request /** - * Executes an ingest pipeline against a set of provided documents. + * Simulate a pipeline. Run an ingest pipeline against a set of provided + * documents. You can either specify an existing pipeline to use with the + * provided documents or supply a pipeline definition in the body of the + * request. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/deprecations/Deprecation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/deprecations/Deprecation.java index 5e7cb2144..7a4caa705 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/deprecations/Deprecation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/deprecations/Deprecation.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch.migration.deprecations; +import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -30,7 +31,9 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -60,6 +63,7 @@ */ @JsonpDeserializable public class Deprecation implements JsonpSerializable { + @Nullable private final String details; private final DeprecationLevel level; @@ -68,14 +72,21 @@ public class Deprecation implements JsonpSerializable { private final String url; + private final boolean resolveDuringRollingUpgrade; + + private final Map meta; + // --------------------------------------------------------------------------------------------- private Deprecation(Builder builder) { - this.details = ApiTypeHelper.requireNonNull(builder.details, this, "details"); + this.details = builder.details; this.level = ApiTypeHelper.requireNonNull(builder.level, this, "level"); this.message = ApiTypeHelper.requireNonNull(builder.message, this, "message"); this.url = ApiTypeHelper.requireNonNull(builder.url, this, "url"); + this.resolveDuringRollingUpgrade = ApiTypeHelper.requireNonNull(builder.resolveDuringRollingUpgrade, this, + "resolveDuringRollingUpgrade"); + this.meta = ApiTypeHelper.unmodifiable(builder.meta); } @@ -84,8 +95,9 @@ public static Deprecation of(Function> fn) { } /** - * Required - API name: {@code details} + * API name: {@code details} */ + @Nullable public final String details() { return this.details; } @@ -113,6 +125,20 @@ public final String url() { return this.url; } + /** + * Required - API name: {@code resolve_during_rolling_upgrade} + */ + public final boolean resolveDuringRollingUpgrade() { + return this.resolveDuringRollingUpgrade; + } + + /** + * API name: {@code _meta} + */ + public final Map meta() { + return this.meta; + } + /** * Serialize this object to JSON. */ @@ -124,9 +150,11 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("details"); - generator.write(this.details); + if (this.details != null) { + generator.writeKey("details"); + generator.write(this.details); + } generator.writeKey("level"); this.level.serialize(generator, mapper); generator.writeKey("message"); @@ -135,6 +163,21 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("url"); generator.write(this.url); + generator.writeKey("resolve_during_rolling_upgrade"); + generator.write(this.resolveDuringRollingUpgrade); + + if (ApiTypeHelper.isDefined(this.meta)) { + generator.writeKey("_meta"); + generator.writeStartObject(); + for (Map.Entry item0 : this.meta.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + } @Override @@ -149,6 +192,7 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable private String details; private DeprecationLevel level; @@ -157,10 +201,15 @@ public static class Builder extends WithJsonObjectBuilderBase implement private String url; + private Boolean resolveDuringRollingUpgrade; + + @Nullable + private Map meta; + /** - * Required - API name: {@code details} + * API name: {@code details} */ - public final Builder details(String value) { + public final Builder details(@Nullable String value) { this.details = value; return this; } @@ -191,6 +240,34 @@ public final Builder url(String value) { return this; } + /** + * Required - API name: {@code resolve_during_rolling_upgrade} + */ + public final Builder resolveDuringRollingUpgrade(boolean value) { + this.resolveDuringRollingUpgrade = value; + return this; + } + + /** + * API name: {@code _meta} + *

    + * Adds all entries of map to meta. + */ + public final Builder meta(Map map) { + this.meta = _mapPutAll(this.meta, map); + return this; + } + + /** + * API name: {@code _meta} + *

    + * Adds an entry to meta. + */ + public final Builder meta(String key, JsonData value) { + this.meta = _mapPut(this.meta, key, value); + return this; + } + @Override protected Builder self() { return this; @@ -223,6 +300,9 @@ protected static void setupDeprecationDeserializer(ObjectDeserializerAPI * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetRequest.java index ecba8d4e0..e94b5fc9f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetRequest.java @@ -56,7 +56,7 @@ // typedef: query_rules.delete_ruleset.Request /** - * Deletes a query ruleset. + * Delete a query ruleset. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java index 7c322da2b..8035356b4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java @@ -70,7 +70,7 @@ public ElasticsearchQueryRulesAsyncClient withTransportOptions(@Nullable Transpo // ----- Endpoint: query_rules.delete_rule /** - * Deletes a query rule within a query ruleset. + * Delete a query rule. Delete a query rule within a query ruleset. * * @see Documentation @@ -85,7 +85,7 @@ public CompletableFuture deleteRule(DeleteRuleRequest reques } /** - * Deletes a query rule within a query ruleset. + * Delete a query rule. Delete a query rule within a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -103,7 +103,7 @@ public final CompletableFuture deleteRule( // ----- Endpoint: query_rules.delete_ruleset /** - * Deletes a query ruleset. + * Delete a query ruleset. * * @see Documentation @@ -118,7 +118,7 @@ public CompletableFuture deleteRuleset(DeleteRulesetReque } /** - * Deletes a query ruleset. + * Delete a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -136,7 +136,7 @@ public final CompletableFuture deleteRuleset( // ----- Endpoint: query_rules.get_rule /** - * Returns the details about a query rule within a query ruleset + * Get a query rule. Get details about a query rule within a query ruleset. * * @see Documentation @@ -151,7 +151,7 @@ public CompletableFuture getRule(GetRuleRequest request) { } /** - * Returns the details about a query rule within a query ruleset + * Get a query rule. Get details about a query rule within a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -169,7 +169,7 @@ public final CompletableFuture getRule( // ----- Endpoint: query_rules.get_ruleset /** - * Returns the details about a query ruleset + * Get a query ruleset. Get details about a query ruleset. * * @see Documentation @@ -184,7 +184,7 @@ public CompletableFuture getRuleset(GetRulesetRequest reques } /** - * Returns the details about a query ruleset + * Get a query ruleset. Get details about a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -202,7 +202,7 @@ public final CompletableFuture getRuleset( // ----- Endpoint: query_rules.list_rulesets /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @see Documentation @@ -217,7 +217,7 @@ public CompletableFuture listRulesets(ListRulesetsRequest } /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @param fn * a function that initializes a builder to create the @@ -233,7 +233,7 @@ public final CompletableFuture listRulesets( } /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @see Documentation @@ -248,7 +248,8 @@ public CompletableFuture listRulesets() { // ----- Endpoint: query_rules.put_rule /** - * Creates or updates a query rule within a query ruleset. + * Create or update a query rule. Create or update a query rule within a query + * ruleset. * * @see Documentation @@ -263,7 +264,8 @@ public CompletableFuture putRule(PutRuleRequest request) { } /** - * Creates or updates a query rule within a query ruleset. + * Create or update a query rule. Create or update a query rule within a query + * ruleset. * * @param fn * a function that initializes a builder to create the @@ -281,7 +283,7 @@ public final CompletableFuture putRule( // ----- Endpoint: query_rules.put_ruleset /** - * Creates or updates a query ruleset. + * Create or update a query ruleset. * * @see Documentation @@ -296,7 +298,7 @@ public CompletableFuture putRuleset(PutRulesetRequest reques } /** - * Creates or updates a query ruleset. + * Create or update a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -314,7 +316,8 @@ public final CompletableFuture putRuleset( // ----- Endpoint: query_rules.test /** - * Creates or updates a query ruleset. + * Test a query ruleset. Evaluate match criteria against a query ruleset to + * identify the rules that would match that criteria. * * @see Documentation @@ -329,7 +332,8 @@ public CompletableFuture test(TestRequest request) { } /** - * Creates or updates a query ruleset. + * Test a query ruleset. Evaluate match criteria against a query ruleset to + * identify the rules that would match that criteria. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java index 53367ecde..701bf9515 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java @@ -69,7 +69,7 @@ public ElasticsearchQueryRulesClient withTransportOptions(@Nullable TransportOpt // ----- Endpoint: query_rules.delete_rule /** - * Deletes a query rule within a query ruleset. + * Delete a query rule. Delete a query rule within a query ruleset. * * @see Documentation @@ -84,7 +84,7 @@ public DeleteRuleResponse deleteRule(DeleteRuleRequest request) throws IOExcepti } /** - * Deletes a query rule within a query ruleset. + * Delete a query rule. Delete a query rule within a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -102,7 +102,7 @@ public final DeleteRuleResponse deleteRule(FunctionDocumentation @@ -118,7 +118,7 @@ public DeleteRulesetResponse deleteRuleset(DeleteRulesetRequest request) } /** - * Deletes a query ruleset. + * Delete a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -137,7 +137,7 @@ public final DeleteRulesetResponse deleteRuleset( // ----- Endpoint: query_rules.get_rule /** - * Returns the details about a query rule within a query ruleset + * Get a query rule. Get details about a query rule within a query ruleset. * * @see Documentation @@ -152,7 +152,7 @@ public GetRuleResponse getRule(GetRuleRequest request) throws IOException, Elast } /** - * Returns the details about a query rule within a query ruleset + * Get a query rule. Get details about a query rule within a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -170,7 +170,7 @@ public final GetRuleResponse getRule(FunctionDocumentation @@ -185,7 +185,7 @@ public GetRulesetResponse getRuleset(GetRulesetRequest request) throws IOExcepti } /** - * Returns the details about a query ruleset + * Get a query ruleset. Get details about a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -203,7 +203,7 @@ public final GetRulesetResponse getRuleset(FunctionDocumentation @@ -218,7 +218,7 @@ public ListRulesetsResponse listRulesets(ListRulesetsRequest request) throws IOE } /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @param fn * a function that initializes a builder to create the @@ -235,7 +235,7 @@ public final ListRulesetsResponse listRulesets( } /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @see Documentation @@ -250,7 +250,8 @@ public ListRulesetsResponse listRulesets() throws IOException, ElasticsearchExce // ----- Endpoint: query_rules.put_rule /** - * Creates or updates a query rule within a query ruleset. + * Create or update a query rule. Create or update a query rule within a query + * ruleset. * * @see Documentation @@ -265,7 +266,8 @@ public PutRuleResponse putRule(PutRuleRequest request) throws IOException, Elast } /** - * Creates or updates a query rule within a query ruleset. + * Create or update a query rule. Create or update a query rule within a query + * ruleset. * * @param fn * a function that initializes a builder to create the @@ -283,7 +285,7 @@ public final PutRuleResponse putRule(FunctionDocumentation @@ -298,7 +300,7 @@ public PutRulesetResponse putRuleset(PutRulesetRequest request) throws IOExcepti } /** - * Creates or updates a query ruleset. + * Create or update a query ruleset. * * @param fn * a function that initializes a builder to create the @@ -316,7 +318,8 @@ public final PutRulesetResponse putRuleset(FunctionDocumentation @@ -331,7 +334,8 @@ public TestResponse test(TestRequest request) throws IOException, ElasticsearchE } /** - * Creates or updates a query ruleset. + * Test a query ruleset. Evaluate match criteria against a query ruleset to + * identify the rules that would match that criteria. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleRequest.java index d3b8825c5..b136cca50 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleRequest.java @@ -56,7 +56,7 @@ // typedef: query_rules.get_rule.Request /** - * Returns the details about a query rule within a query ruleset + * Get a query rule. Get details about a query rule within a query ruleset. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetRequest.java index 9081dca34..08cb75e6b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetRequest.java @@ -56,7 +56,7 @@ // typedef: query_rules.get_ruleset.Request /** - * Returns the details about a query ruleset + * Get a query ruleset. Get details about a query ruleset. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsRequest.java index 825b2276b..ca631743b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsRequest.java @@ -55,7 +55,7 @@ // typedef: query_rules.list_rulesets.Request /** - * Returns summarized information about existing query rulesets. + * Get all query rulesets. Get summarized information about the query rulesets. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleRequest.java index 25271bb07..4add60608 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleRequest.java @@ -60,7 +60,8 @@ // typedef: query_rules.put_rule.Request /** - * Creates or updates a query rule within a query ruleset. + * Create or update a query rule. Create or update a query rule within a query + * ruleset. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetRequest.java index ce0826fed..081c61197 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetRequest.java @@ -59,7 +59,7 @@ // typedef: query_rules.put_ruleset.Request /** - * Creates or updates a query ruleset. + * Create or update a query ruleset. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java index 9c7777941..aa53b4113 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/TestRequest.java @@ -59,7 +59,8 @@ // typedef: query_rules.test.Request /** - * Creates or updates a query ruleset. + * Test a query ruleset. Evaluate match criteria against a query ruleset to + * identify the rules that would match that criteria. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/list_rulesets/QueryRulesetListItem.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/list_rulesets/QueryRulesetListItem.java index 8910039e3..12a44fa53 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/list_rulesets/QueryRulesetListItem.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/query_rules/list_rulesets/QueryRulesetListItem.java @@ -68,6 +68,8 @@ public class QueryRulesetListItem implements JsonpSerializable { private final Map ruleCriteriaTypesCounts; + private final Map ruleTypeCounts; + // --------------------------------------------------------------------------------------------- private QueryRulesetListItem(Builder builder) { @@ -76,6 +78,7 @@ private QueryRulesetListItem(Builder builder) { this.ruleTotalCount = ApiTypeHelper.requireNonNull(builder.ruleTotalCount, this, "ruleTotalCount"); this.ruleCriteriaTypesCounts = ApiTypeHelper.unmodifiableRequired(builder.ruleCriteriaTypesCounts, this, "ruleCriteriaTypesCounts"); + this.ruleTypeCounts = ApiTypeHelper.unmodifiableRequired(builder.ruleTypeCounts, this, "ruleTypeCounts"); } @@ -102,7 +105,8 @@ public final int ruleTotalCount() { } /** - * Required - A map of criteria type to the number of rules of that type + * Required - A map of criteria type (e.g. exact) to the number of rules of that + * type *

    * API name: {@code rule_criteria_types_counts} */ @@ -110,6 +114,16 @@ public final Map ruleCriteriaTypesCounts() { return this.ruleCriteriaTypesCounts; } + /** + * Required - A map of rule type (e.g. pinned) to the number of rules of that + * type + *

    + * API name: {@code rule_type_counts} + */ + public final Map ruleTypeCounts() { + return this.ruleTypeCounts; + } + /** * Serialize this object to JSON. */ @@ -138,6 +152,17 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (ApiTypeHelper.isDefined(this.ruleTypeCounts)) { + generator.writeKey("rule_type_counts"); + generator.writeStartObject(); + for (Map.Entry item0 : this.ruleTypeCounts.entrySet()) { + generator.writeKey(item0.getKey()); + generator.write(item0.getValue()); + + } + generator.writeEnd(); + + } } @@ -161,6 +186,8 @@ public static class Builder extends WithJsonObjectBuilderBase private Map ruleCriteriaTypesCounts; + private Map ruleTypeCounts; + /** * Required - Ruleset unique identifier *

    @@ -182,7 +209,8 @@ public final Builder ruleTotalCount(int value) { } /** - * Required - A map of criteria type to the number of rules of that type + * Required - A map of criteria type (e.g. exact) to the number of rules of that + * type *

    * API name: {@code rule_criteria_types_counts} *

    @@ -194,7 +222,8 @@ public final Builder ruleCriteriaTypesCounts(Map map) { } /** - * Required - A map of criteria type to the number of rules of that type + * Required - A map of criteria type (e.g. exact) to the number of rules of that + * type *

    * API name: {@code rule_criteria_types_counts} *

    @@ -205,6 +234,32 @@ public final Builder ruleCriteriaTypesCounts(String key, Integer value) { return this; } + /** + * Required - A map of rule type (e.g. pinned) to the number of rules of that + * type + *

    + * API name: {@code rule_type_counts} + *

    + * Adds all entries of map to ruleTypeCounts. + */ + public final Builder ruleTypeCounts(Map map) { + this.ruleTypeCounts = _mapPutAll(this.ruleTypeCounts, map); + return this; + } + + /** + * Required - A map of rule type (e.g. pinned) to the number of rules of that + * type + *

    + * API name: {@code rule_type_counts} + *

    + * Adds an entry to ruleTypeCounts. + */ + public final Builder ruleTypeCounts(String key, Integer value) { + this.ruleTypeCounts = _mapPut(this.ruleTypeCounts, key, value); + return this; + } + @Override protected Builder self() { return this; @@ -238,6 +293,8 @@ protected static void setupQueryRulesetListItemDeserializer(ObjectDeserializer metadata; private final Map roleDescriptors; private final List> limitedBy; + @Nullable + private final Access access; + + @Nullable + private final String profileUid; + private final List sort; // --------------------------------------------------------------------------------------------- private ApiKey(Builder builder) { - this.creation = builder.creation; - this.expiration = builder.expiration; this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.invalidated = builder.invalidated; this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.realm = builder.realm; + this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); + this.creation = ApiTypeHelper.requireNonNull(builder.creation, this, "creation"); + this.expiration = builder.expiration; + this.invalidated = ApiTypeHelper.requireNonNull(builder.invalidated, this, "invalidated"); + this.invalidation = builder.invalidation; + this.username = ApiTypeHelper.requireNonNull(builder.username, this, "username"); + this.realm = ApiTypeHelper.requireNonNull(builder.realm, this, "realm"); this.realmType = builder.realmType; - this.username = builder.username; - this.profileUid = builder.profileUid; - this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); + this.metadata = ApiTypeHelper.unmodifiableRequired(builder.metadata, this, "metadata"); this.roleDescriptors = ApiTypeHelper.unmodifiable(builder.roleDescriptors); this.limitedBy = ApiTypeHelper.unmodifiable(builder.limitedBy); + this.access = builder.access; + this.profileUid = builder.profileUid; this.sort = ApiTypeHelper.unmodifiable(builder.sort); } @@ -124,12 +131,39 @@ public static ApiKey of(Function> fn) { } /** - * Creation time for the API key in milliseconds. + * Required - Id for the API key + *

    + * API name: {@code id} + */ + public final String id() { + return this.id; + } + + /** + * Required - Name of the API key. + *

    + * API name: {@code name} + */ + public final String name() { + return this.name; + } + + /** + * Required - The type of the API key (e.g. rest or + * cross_cluster). + *

    + * API name: {@code type} + */ + public final ApiKeyType type() { + return this.type; + } + + /** + * Required - Creation time for the API key in milliseconds. *

    * API name: {@code creation} */ - @Nullable - public final Long creation() { + public final long creation() { return this.creation; } @@ -144,40 +178,40 @@ public final Long expiration() { } /** - * Required - Id for the API key + * Required - Invalidation status for the API key. If the key has been + * invalidated, it has a value of true. Otherwise, it is + * false. *

    - * API name: {@code id} + * API name: {@code invalidated} */ - public final String id() { - return this.id; + public final boolean invalidated() { + return this.invalidated; } /** - * Invalidation status for the API key. If the key has been invalidated, it has - * a value of true. Otherwise, it is false. + * If the key has been invalidated, invalidation time in milliseconds. *

    - * API name: {@code invalidated} + * API name: {@code invalidation} */ @Nullable - public final Boolean invalidated() { - return this.invalidated; + public final Long invalidation() { + return this.invalidation; } /** - * Required - Name of the API key. + * Required - Principal for which this API key was created *

    - * API name: {@code name} + * API name: {@code username} */ - public final String name() { - return this.name; + public final String username() { + return this.username; } /** - * Realm name of the principal for which this API key was created. + * Required - Realm name of the principal for which this API key was created. *

    * API name: {@code realm} */ - @Nullable public final String realm() { return this.realm; } @@ -193,28 +227,7 @@ public final String realmType() { } /** - * Principal for which this API key was created - *

    - * API name: {@code username} - */ - @Nullable - public final String username() { - return this.username; - } - - /** - * The profile uid for the API key owner principal, if requested and if it - * exists - *

    - * API name: {@code profile_uid} - */ - @Nullable - public final String profileUid() { - return this.profileUid; - } - - /** - * Metadata of the API key + * Required - Metadata of the API key *

    * API name: {@code metadata} */ @@ -246,6 +259,33 @@ public final List> limitedBy() { } /** + * The access granted to cross-cluster API keys. The access is composed of + * permissions for cross cluster search and cross cluster replication. At least + * one of them must be specified. When specified, the new access assignment + * fully replaces the previously assigned access. + *

    + * API name: {@code access} + */ + @Nullable + public final Access access() { + return this.access; + } + + /** + * The profile uid for the API key owner principal, if requested and if it + * exists + *

    + * API name: {@code profile_uid} + */ + @Nullable + public final String profileUid() { + return this.profileUid; + } + + /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} */ public final List sort() { @@ -263,46 +303,40 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - if (this.creation != null) { - generator.writeKey("creation"); - generator.write(this.creation); + generator.writeKey("id"); + generator.write(this.id); + + generator.writeKey("name"); + generator.write(this.name); + + generator.writeKey("type"); + this.type.serialize(generator, mapper); + generator.writeKey("creation"); + generator.write(this.creation); - } if (this.expiration != null) { generator.writeKey("expiration"); generator.write(this.expiration); } - generator.writeKey("id"); - generator.write(this.id); + generator.writeKey("invalidated"); + generator.write(this.invalidated); - if (this.invalidated != null) { - generator.writeKey("invalidated"); - generator.write(this.invalidated); + if (this.invalidation != null) { + generator.writeKey("invalidation"); + generator.write(this.invalidation); } - generator.writeKey("name"); - generator.write(this.name); + generator.writeKey("username"); + generator.write(this.username); - if (this.realm != null) { - generator.writeKey("realm"); - generator.write(this.realm); + generator.writeKey("realm"); + generator.write(this.realm); - } if (this.realmType != null) { generator.writeKey("realm_type"); generator.write(this.realmType); - } - if (this.username != null) { - generator.writeKey("username"); - generator.write(this.username); - - } - if (this.profileUid != null) { - generator.writeKey("profile_uid"); - generator.write(this.profileUid); - } if (ApiTypeHelper.isDefined(this.metadata)) { generator.writeKey("metadata"); @@ -343,6 +377,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeEnd(); + } + if (this.access != null) { + generator.writeKey("access"); + this.access.serialize(generator, mapper); + + } + if (this.profileUid != null) { + generator.writeKey("profile_uid"); + generator.write(this.profileUid); + } if (ApiTypeHelper.isDefined(this.sort)) { generator.writeKey("_sort"); @@ -369,137 +413,151 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable + private String id; + + private String name; + + private ApiKeyType type; + private Long creation; @Nullable private Long expiration; - private String id; + private Boolean invalidated; @Nullable - private Boolean invalidated; + private Long invalidation; - private String name; + private String username; - @Nullable private String realm; @Nullable private String realmType; - @Nullable - private String username; + private Map metadata; @Nullable - private String profileUid; + private Map roleDescriptors; @Nullable - private Map metadata; + private List> limitedBy; @Nullable - private Map roleDescriptors; + private Access access; @Nullable - private List> limitedBy; + private String profileUid; @Nullable private List sort; /** - * Creation time for the API key in milliseconds. + * Required - Id for the API key *

    - * API name: {@code creation} + * API name: {@code id} */ - public final Builder creation(@Nullable Long value) { - this.creation = value; + public final Builder id(String value) { + this.id = value; return this; } /** - * Expiration time for the API key in milliseconds. + * Required - Name of the API key. *

    - * API name: {@code expiration} + * API name: {@code name} */ - public final Builder expiration(@Nullable Long value) { - this.expiration = value; + public final Builder name(String value) { + this.name = value; return this; } /** - * Required - Id for the API key + * Required - The type of the API key (e.g. rest or + * cross_cluster). *

    - * API name: {@code id} + * API name: {@code type} */ - public final Builder id(String value) { - this.id = value; + public final Builder type(ApiKeyType value) { + this.type = value; return this; } /** - * Invalidation status for the API key. If the key has been invalidated, it has - * a value of true. Otherwise, it is false. + * Required - Creation time for the API key in milliseconds. *

    - * API name: {@code invalidated} + * API name: {@code creation} */ - public final Builder invalidated(@Nullable Boolean value) { - this.invalidated = value; + public final Builder creation(long value) { + this.creation = value; return this; } /** - * Required - Name of the API key. + * Expiration time for the API key in milliseconds. *

    - * API name: {@code name} + * API name: {@code expiration} */ - public final Builder name(String value) { - this.name = value; + public final Builder expiration(@Nullable Long value) { + this.expiration = value; return this; } /** - * Realm name of the principal for which this API key was created. + * Required - Invalidation status for the API key. If the key has been + * invalidated, it has a value of true. Otherwise, it is + * false. *

    - * API name: {@code realm} + * API name: {@code invalidated} */ - public final Builder realm(@Nullable String value) { - this.realm = value; + public final Builder invalidated(boolean value) { + this.invalidated = value; return this; } /** - * Realm type of the principal for which this API key was created + * If the key has been invalidated, invalidation time in milliseconds. *

    - * API name: {@code realm_type} + * API name: {@code invalidation} */ - public final Builder realmType(@Nullable String value) { - this.realmType = value; + public final Builder invalidation(@Nullable Long value) { + this.invalidation = value; return this; } /** - * Principal for which this API key was created + * Required - Principal for which this API key was created *

    * API name: {@code username} */ - public final Builder username(@Nullable String value) { + public final Builder username(String value) { this.username = value; return this; } /** - * The profile uid for the API key owner principal, if requested and if it - * exists + * Required - Realm name of the principal for which this API key was created. *

    - * API name: {@code profile_uid} + * API name: {@code realm} */ - public final Builder profileUid(@Nullable String value) { - this.profileUid = value; + public final Builder realm(String value) { + this.realm = value; + return this; + } + + /** + * Realm type of the principal for which this API key was created + *

    + * API name: {@code realm_type} + */ + public final Builder realmType(@Nullable String value) { + this.realmType = value; return this; } /** - * Metadata of the API key + * Required - Metadata of the API key *

    * API name: {@code metadata} *

    @@ -511,7 +569,7 @@ public final Builder metadata(Map map) { } /** - * Metadata of the API key + * Required - Metadata of the API key *

    * API name: {@code metadata} *

    @@ -595,6 +653,45 @@ public final Builder limitedBy(Map value, Map + * API name: {@code access} + */ + public final Builder access(@Nullable Access value) { + this.access = value; + return this; + } + + /** + * The access granted to cross-cluster API keys. The access is composed of + * permissions for cross cluster search and cross cluster replication. At least + * one of them must be specified. When specified, the new access assignment + * fully replaces the previously assigned access. + *

    + * API name: {@code access} + */ + public final Builder access(Function> fn) { + return this.access(fn.apply(new Access.Builder()).build()); + } + + /** + * The profile uid for the API key owner principal, if requested and if it + * exists + *

    + * API name: {@code profile_uid} + */ + public final Builder profileUid(@Nullable String value) { + this.profileUid = value; + return this; + } + + /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds all elements of list to sort. @@ -605,6 +702,9 @@ public final Builder sort(List list) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds one or more values to sort. @@ -615,6 +715,9 @@ public final Builder sort(FieldValue value, FieldValue... values) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds all passed values to sort. @@ -630,6 +733,9 @@ public final Builder sort(String value, String... values) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds all passed values to sort. @@ -645,6 +751,9 @@ public final Builder sort(long value, long... values) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds all passed values to sort. @@ -660,6 +769,9 @@ public final Builder sort(double value, double... values) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds all passed values to sort. @@ -675,6 +787,9 @@ public final Builder sort(boolean value, boolean... values) { } /** + * Sorting values when using the sort parameter with the + * security.query_api_keys API. + *

    * API name: {@code _sort} *

    * Adds a value to sort using a builder lambda. @@ -711,20 +826,23 @@ public ApiKey build() { protected static void setupApiKeyDeserializer(ObjectDeserializer op) { + op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + op.add(Builder::type, ApiKeyType._DESERIALIZER, "type"); op.add(Builder::creation, JsonpDeserializer.longDeserializer(), "creation"); op.add(Builder::expiration, JsonpDeserializer.longDeserializer(), "expiration"); - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); op.add(Builder::invalidated, JsonpDeserializer.booleanDeserializer(), "invalidated"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + op.add(Builder::invalidation, JsonpDeserializer.longDeserializer(), "invalidation"); + op.add(Builder::username, JsonpDeserializer.stringDeserializer(), "username"); op.add(Builder::realm, JsonpDeserializer.stringDeserializer(), "realm"); op.add(Builder::realmType, JsonpDeserializer.stringDeserializer(), "realm_type"); - op.add(Builder::username, JsonpDeserializer.stringDeserializer(), "username"); - op.add(Builder::profileUid, JsonpDeserializer.stringDeserializer(), "profile_uid"); op.add(Builder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); op.add(Builder::roleDescriptors, JsonpDeserializer.stringMapDeserializer(RoleDescriptor._DESERIALIZER), "role_descriptors"); op.add(Builder::limitedBy, JsonpDeserializer.arrayDeserializer( JsonpDeserializer.stringMapDeserializer(RoleDescriptor._DESERIALIZER)), "limited_by"); + op.add(Builder::access, Access._DESERIALIZER, "access"); + op.add(Builder::profileUid, JsonpDeserializer.stringDeserializer(), "profile_uid"); op.add(Builder::sort, JsonpDeserializer.arrayDeserializer(FieldValue._DESERIALIZER), "_sort"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKeyType.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKeyType.java new file mode 100644 index 000000000..ab3080ea8 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKeyType.java @@ -0,0 +1,66 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security; + +import co.elastic.clients.json.JsonEnum; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public enum ApiKeyType implements JsonEnum { + Rest("rest"), + + CrossCluster("cross_cluster"), + + ; + + private final String jsonValue; + + ApiKeyType(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { + return this.jsonValue; + } + + public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( + ApiKeyType.values()); +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateResponse.java index fb08644ee..57b26a47c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateResponse.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch.security; +import co.elastic.clients.elasticsearch.security.authenticate.AuthenticateApiKey; import co.elastic.clients.elasticsearch.security.authenticate.ServiceToken; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; @@ -65,7 +66,7 @@ @JsonpDeserializable public class AuthenticateResponse implements JsonpSerializable { @Nullable - private final ApiKey apiKey; + private final AuthenticateApiKey apiKey; private final RealmInfo authenticationRealm; @@ -117,7 +118,7 @@ public static AuthenticateResponse of(Function implements ObjectBuilder { @Nullable - private ApiKey apiKey; + private AuthenticateApiKey apiKey; private RealmInfo authenticationRealm; @@ -307,7 +308,7 @@ public static class Builder extends WithJsonObjectBuilderBase /** * API name: {@code api_key} */ - public final Builder apiKey(@Nullable ApiKey value) { + public final Builder apiKey(@Nullable AuthenticateApiKey value) { this.apiKey = value; return this; } @@ -315,8 +316,8 @@ public final Builder apiKey(@Nullable ApiKey value) { /** * API name: {@code api_key} */ - public final Builder apiKey(Function> fn) { - return this.apiKey(fn.apply(new ApiKey.Builder()).build()); + public final Builder apiKey(Function> fn) { + return this.apiKey(fn.apply(new AuthenticateApiKey.Builder()).build()); } /** @@ -472,7 +473,7 @@ public AuthenticateResponse build() { protected static void setupAuthenticateResponseDeserializer(ObjectDeserializer op) { - op.add(Builder::apiKey, ApiKey._DESERIALIZER, "api_key"); + op.add(Builder::apiKey, AuthenticateApiKey._DESERIALIZER, "api_key"); op.add(Builder::authenticationRealm, RealmInfo._DESERIALIZER, "authentication_realm"); op.add(Builder::email, JsonpDeserializer.stringDeserializer(), "email"); op.add(Builder::fullName, JsonpDeserializer.stringDeserializer(), "full_name"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/authenticate/AuthenticateApiKey.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/authenticate/AuthenticateApiKey.java new file mode 100644 index 000000000..bb1987e9a --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/authenticate/AuthenticateApiKey.java @@ -0,0 +1,186 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.security.authenticate; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: security.authenticate.AuthenticateApiKey + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class AuthenticateApiKey implements JsonpSerializable { + private final String id; + + @Nullable + private final String name; + + // --------------------------------------------------------------------------------------------- + + private AuthenticateApiKey(Builder builder) { + + this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + this.name = builder.name; + + } + + public static AuthenticateApiKey of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code id} + */ + public final String id() { + return this.id; + } + + /** + * API name: {@code name} + */ + @Nullable + public final String name() { + return this.name; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("id"); + generator.write(this.id); + + if (this.name != null) { + generator.writeKey("name"); + generator.write(this.name); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link AuthenticateApiKey}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String id; + + @Nullable + private String name; + + /** + * Required - API name: {@code id} + */ + public final Builder id(String value) { + this.id = value; + return this; + } + + /** + * API name: {@code name} + */ + public final Builder name(@Nullable String value) { + this.name = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link AuthenticateApiKey}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public AuthenticateApiKey build() { + _checkSingleUse(); + + return new AuthenticateApiKey(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link AuthenticateApiKey} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, AuthenticateApiKey::setupAuthenticateApiKeyDeserializer); + + protected static void setupAuthenticateApiKeyDeserializer(ObjectDeserializer op) { + + op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorRequest.java index b2de6cd73..efe617454 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorRequest.java @@ -56,7 +56,7 @@ // typedef: sql.clear_cursor.Request /** - * Clears the SQL cursor + * Clear an SQL search cursor. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncRequest.java index 2563c40b6..d6a2b9bc6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncRequest.java @@ -56,8 +56,8 @@ // typedef: sql.delete_async.Request /** - * Deletes an async SQL search or a stored synchronous SQL search. If the search - * is still running, the API cancels it. + * Delete an async SQL search. Delete an async SQL search or a stored + * synchronous SQL search. If the search is still running, the API cancels it. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlAsyncClient.java index fed7550c2..2e3731257 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlAsyncClient.java @@ -67,7 +67,7 @@ public ElasticsearchSqlAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: sql.clear_cursor /** - * Clears the SQL cursor + * Clear an SQL search cursor. * * @see Documentation @@ -82,7 +82,7 @@ public CompletableFuture clearCursor(ClearCursorRequest req } /** - * Clears the SQL cursor + * Clear an SQL search cursor. * * @param fn * a function that initializes a builder to create the @@ -100,8 +100,8 @@ public final CompletableFuture clearCursor( // ----- Endpoint: sql.delete_async /** - * Deletes an async SQL search or a stored synchronous SQL search. If the search - * is still running, the API cancels it. + * Delete an async SQL search. Delete an async SQL search or a stored + * synchronous SQL search. If the search is still running, the API cancels it. * * @see Documentation @@ -116,8 +116,8 @@ public CompletableFuture deleteAsync(DeleteAsyncRequest req } /** - * Deletes an async SQL search or a stored synchronous SQL search. If the search - * is still running, the API cancels it. + * Delete an async SQL search. Delete an async SQL search or a stored + * synchronous SQL search. If the search is still running, the API cancels it. * * @param fn * a function that initializes a builder to create the @@ -135,8 +135,8 @@ public final CompletableFuture deleteAsync( // ----- Endpoint: sql.get_async /** - * Returns the current status and available results for an async SQL search or - * stored synchronous SQL search + * Get async SQL search results. Get the current status and available results + * for an async SQL search or stored synchronous SQL search. * * @see Documentation @@ -151,8 +151,8 @@ public CompletableFuture getAsync(GetAsyncRequest request) { } /** - * Returns the current status and available results for an async SQL search or - * stored synchronous SQL search + * Get async SQL search results. Get the current status and available results + * for an async SQL search or stored synchronous SQL search. * * @param fn * a function that initializes a builder to create the @@ -170,8 +170,8 @@ public final CompletableFuture getAsync( // ----- Endpoint: sql.get_async_status /** - * Returns the current status of an async SQL search or a stored synchronous SQL - * search + * Get the async SQL search status. Get the current status of an async SQL + * search or a stored synchronous SQL search. * * @see Documentation @@ -186,8 +186,8 @@ public CompletableFuture getAsyncStatus(GetAsyncStatusRe } /** - * Returns the current status of an async SQL search or a stored synchronous SQL - * search + * Get the async SQL search status. Get the current status of an async SQL + * search or a stored synchronous SQL search. * * @param fn * a function that initializes a builder to create the @@ -205,7 +205,7 @@ public final CompletableFuture getAsyncStatus( // ----- Endpoint: sql.query /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @see Documentation @@ -220,7 +220,7 @@ public CompletableFuture query(QueryRequest request) { } /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @param fn * a function that initializes a builder to create the @@ -236,7 +236,7 @@ public final CompletableFuture query( } /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @see Documentation @@ -251,7 +251,8 @@ public CompletableFuture query() { // ----- Endpoint: sql.translate /** - * Translates SQL into Elasticsearch queries + * Translate SQL into Elasticsearch queries. Translate an SQL search into a + * search API request containing Query DSL. * * @see Documentation @@ -266,7 +267,8 @@ public CompletableFuture translate(TranslateRequest request) } /** - * Translates SQL into Elasticsearch queries + * Translate SQL into Elasticsearch queries. Translate an SQL search into a + * search API request containing Query DSL. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlClient.java index cc52ab771..1e06fde80 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlClient.java @@ -68,7 +68,7 @@ public ElasticsearchSqlClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: sql.clear_cursor /** - * Clears the SQL cursor + * Clear an SQL search cursor. * * @see Documentation @@ -83,7 +83,7 @@ public ClearCursorResponse clearCursor(ClearCursorRequest request) throws IOExce } /** - * Clears the SQL cursor + * Clear an SQL search cursor. * * @param fn * a function that initializes a builder to create the @@ -102,8 +102,8 @@ public final ClearCursorResponse clearCursor( // ----- Endpoint: sql.delete_async /** - * Deletes an async SQL search or a stored synchronous SQL search. If the search - * is still running, the API cancels it. + * Delete an async SQL search. Delete an async SQL search or a stored + * synchronous SQL search. If the search is still running, the API cancels it. * * @see Documentation @@ -118,8 +118,8 @@ public DeleteAsyncResponse deleteAsync(DeleteAsyncRequest request) throws IOExce } /** - * Deletes an async SQL search or a stored synchronous SQL search. If the search - * is still running, the API cancels it. + * Delete an async SQL search. Delete an async SQL search or a stored + * synchronous SQL search. If the search is still running, the API cancels it. * * @param fn * a function that initializes a builder to create the @@ -138,8 +138,8 @@ public final DeleteAsyncResponse deleteAsync( // ----- Endpoint: sql.get_async /** - * Returns the current status and available results for an async SQL search or - * stored synchronous SQL search + * Get async SQL search results. Get the current status and available results + * for an async SQL search or stored synchronous SQL search. * * @see Documentation @@ -154,8 +154,8 @@ public GetAsyncResponse getAsync(GetAsyncRequest request) throws IOException, El } /** - * Returns the current status and available results for an async SQL search or - * stored synchronous SQL search + * Get async SQL search results. Get the current status and available results + * for an async SQL search or stored synchronous SQL search. * * @param fn * a function that initializes a builder to create the @@ -173,8 +173,8 @@ public final GetAsyncResponse getAsync(FunctionDocumentation @@ -190,8 +190,8 @@ public GetAsyncStatusResponse getAsyncStatus(GetAsyncStatusRequest request) } /** - * Returns the current status of an async SQL search or a stored synchronous SQL - * search + * Get the async SQL search status. Get the current status of an async SQL + * search or a stored synchronous SQL search. * * @param fn * a function that initializes a builder to create the @@ -210,7 +210,7 @@ public final GetAsyncStatusResponse getAsyncStatus( // ----- Endpoint: sql.query /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @see Documentation @@ -225,7 +225,7 @@ public QueryResponse query(QueryRequest request) throws IOException, Elasticsear } /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @param fn * a function that initializes a builder to create the @@ -241,7 +241,7 @@ public final QueryResponse query(FunctionDocumentation @@ -256,7 +256,8 @@ public QueryResponse query() throws IOException, ElasticsearchException { // ----- Endpoint: sql.translate /** - * Translates SQL into Elasticsearch queries + * Translate SQL into Elasticsearch queries. Translate an SQL search into a + * search API request containing Query DSL. * * @see Documentation @@ -271,7 +272,8 @@ public TranslateResponse translate(TranslateRequest request) throws IOException, } /** - * Translates SQL into Elasticsearch queries + * Translate SQL into Elasticsearch queries. Translate an SQL search into a + * search API request containing Query DSL. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncRequest.java index 7f5ed8074..54454ca9f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncRequest.java @@ -56,8 +56,8 @@ // typedef: sql.get_async.Request /** - * Returns the current status and available results for an async SQL search or - * stored synchronous SQL search + * Get async SQL search results. Get the current status and available results + * for an async SQL search or stored synchronous SQL search. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusRequest.java index f8a91c105..51e97100d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusRequest.java @@ -56,8 +56,8 @@ // typedef: sql.get_async_status.Request /** - * Returns the current status of an async SQL search or a stored synchronous SQL - * search + * Get the async SQL search status. Get the current status of an async SQL + * search or a stored synchronous SQL search. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java index 05929b3ac..4d763e6bc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java @@ -65,7 +65,7 @@ // typedef: sql.query.Request /** - * Executes a SQL request + * Get SQL search results. Run an SQL request. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java index f43365497..d74e46440 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java @@ -58,7 +58,8 @@ // typedef: sql.translate.Request /** - * Translates SQL into Elasticsearch queries + * Translate SQL into Elasticsearch queries. Translate an SQL search into a + * search API request containing Query DSL. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRequest.java index 8573eb849..7645d8847 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRequest.java @@ -56,7 +56,7 @@ // typedef: synonyms.delete_synonym.Request /** - * Deletes a synonym set + * Delete a synonym set. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleRequest.java index 1ed23fb74..398e44abd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleRequest.java @@ -56,7 +56,7 @@ // typedef: synonyms.delete_synonym_rule.Request /** - * Deletes a synonym rule in a synonym set + * Delete a synonym rule. Delete a synonym rule from a synonym set. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsAsyncClient.java index 16932ca3b..9ec40e361 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsAsyncClient.java @@ -70,7 +70,7 @@ public ElasticsearchSynonymsAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: synonyms.delete_synonym /** - * Deletes a synonym set + * Delete a synonym set. * * @see Documentation @@ -85,7 +85,7 @@ public CompletableFuture deleteSynonym(DeleteSynonymReque } /** - * Deletes a synonym set + * Delete a synonym set. * * @param fn * a function that initializes a builder to create the @@ -103,7 +103,7 @@ public final CompletableFuture deleteSynonym( // ----- Endpoint: synonyms.delete_synonym_rule /** - * Deletes a synonym rule in a synonym set + * Delete a synonym rule. Delete a synonym rule from a synonym set. * * @see Documentation @@ -118,7 +118,7 @@ public CompletableFuture deleteSynonymRule(DeleteSyno } /** - * Deletes a synonym rule in a synonym set + * Delete a synonym rule. Delete a synonym rule from a synonym set. * * @param fn * a function that initializes a builder to create the @@ -136,7 +136,7 @@ public final CompletableFuture deleteSynonymRule( // ----- Endpoint: synonyms.get_synonym /** - * Retrieves a synonym set + * Get a synonym set. * * @see Documentation @@ -151,7 +151,7 @@ public CompletableFuture getSynonym(GetSynonymRequest reques } /** - * Retrieves a synonym set + * Get a synonym set. * * @param fn * a function that initializes a builder to create the @@ -169,7 +169,7 @@ public final CompletableFuture getSynonym( // ----- Endpoint: synonyms.get_synonym_rule /** - * Retrieves a synonym rule from a synonym set + * Get a synonym rule. Get a synonym rule from a synonym set. * * @see Documentation @@ -184,7 +184,7 @@ public CompletableFuture getSynonymRule(GetSynonymRuleRe } /** - * Retrieves a synonym rule from a synonym set + * Get a synonym rule. Get a synonym rule from a synonym set. * * @param fn * a function that initializes a builder to create the @@ -202,7 +202,7 @@ public final CompletableFuture getSynonymRule( // ----- Endpoint: synonyms.get_synonyms_sets /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @see Documentation @@ -217,7 +217,7 @@ public CompletableFuture getSynonymsSets(GetSynonymsSet } /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @param fn * a function that initializes a builder to create the @@ -233,7 +233,7 @@ public final CompletableFuture getSynonymsSets( } /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @see Documentation @@ -248,7 +248,9 @@ public CompletableFuture getSynonymsSets() { // ----- Endpoint: synonyms.put_synonym /** - * Creates or updates a synonym set. + * Create or update a synonym set. Synonyms sets are limited to a maximum of + * 10,000 synonym rules per set. If you need to manage more synonym rules, you + * can create multiple synonym sets. * * @see Documentation @@ -263,7 +265,9 @@ public CompletableFuture putSynonym(PutSynonymRequest reques } /** - * Creates or updates a synonym set. + * Create or update a synonym set. Synonyms sets are limited to a maximum of + * 10,000 synonym rules per set. If you need to manage more synonym rules, you + * can create multiple synonym sets. * * @param fn * a function that initializes a builder to create the @@ -281,7 +285,8 @@ public final CompletableFuture putSynonym( // ----- Endpoint: synonyms.put_synonym_rule /** - * Creates or updates a synonym rule in a synonym set + * Create or update a synonym rule. Create or update a synonym rule in a synonym + * set. * * @see Documentation @@ -296,7 +301,8 @@ public CompletableFuture putSynonymRule(PutSynonymRuleRe } /** - * Creates or updates a synonym rule in a synonym set + * Create or update a synonym rule. Create or update a synonym rule in a synonym + * set. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsClient.java index d685bda79..693d8e6ef 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsClient.java @@ -68,7 +68,7 @@ public ElasticsearchSynonymsClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: synonyms.delete_synonym /** - * Deletes a synonym set + * Delete a synonym set. * * @see Documentation @@ -84,7 +84,7 @@ public DeleteSynonymResponse deleteSynonym(DeleteSynonymRequest request) } /** - * Deletes a synonym set + * Delete a synonym set. * * @param fn * a function that initializes a builder to create the @@ -103,7 +103,7 @@ public final DeleteSynonymResponse deleteSynonym( // ----- Endpoint: synonyms.delete_synonym_rule /** - * Deletes a synonym rule in a synonym set + * Delete a synonym rule. Delete a synonym rule from a synonym set. * * @see Documentation @@ -119,7 +119,7 @@ public DeleteSynonymRuleResponse deleteSynonymRule(DeleteSynonymRuleRequest requ } /** - * Deletes a synonym rule in a synonym set + * Delete a synonym rule. Delete a synonym rule from a synonym set. * * @param fn * a function that initializes a builder to create the @@ -138,7 +138,7 @@ public final DeleteSynonymRuleResponse deleteSynonymRule( // ----- Endpoint: synonyms.get_synonym /** - * Retrieves a synonym set + * Get a synonym set. * * @see Documentation @@ -153,7 +153,7 @@ public GetSynonymResponse getSynonym(GetSynonymRequest request) throws IOExcepti } /** - * Retrieves a synonym set + * Get a synonym set. * * @param fn * a function that initializes a builder to create the @@ -171,7 +171,7 @@ public final GetSynonymResponse getSynonym(FunctionDocumentation @@ -187,7 +187,7 @@ public GetSynonymRuleResponse getSynonymRule(GetSynonymRuleRequest request) } /** - * Retrieves a synonym rule from a synonym set + * Get a synonym rule. Get a synonym rule from a synonym set. * * @param fn * a function that initializes a builder to create the @@ -206,7 +206,7 @@ public final GetSynonymRuleResponse getSynonymRule( // ----- Endpoint: synonyms.get_synonyms_sets /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @see Documentation @@ -222,7 +222,7 @@ public GetSynonymsSetsResponse getSynonymsSets(GetSynonymsSetsRequest request) } /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @param fn * a function that initializes a builder to create the @@ -239,7 +239,7 @@ public final GetSynonymsSetsResponse getSynonymsSets( } /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @see Documentation @@ -254,7 +254,9 @@ public GetSynonymsSetsResponse getSynonymsSets() throws IOException, Elasticsear // ----- Endpoint: synonyms.put_synonym /** - * Creates or updates a synonym set. + * Create or update a synonym set. Synonyms sets are limited to a maximum of + * 10,000 synonym rules per set. If you need to manage more synonym rules, you + * can create multiple synonym sets. * * @see Documentation @@ -269,7 +271,9 @@ public PutSynonymResponse putSynonym(PutSynonymRequest request) throws IOExcepti } /** - * Creates or updates a synonym set. + * Create or update a synonym set. Synonyms sets are limited to a maximum of + * 10,000 synonym rules per set. If you need to manage more synonym rules, you + * can create multiple synonym sets. * * @param fn * a function that initializes a builder to create the @@ -287,7 +291,8 @@ public final PutSynonymResponse putSynonym(FunctionDocumentation @@ -303,7 +308,8 @@ public PutSynonymRuleResponse putSynonymRule(PutSynonymRuleRequest request) } /** - * Creates or updates a synonym rule in a synonym set + * Create or update a synonym rule. Create or update a synonym rule in a synonym + * set. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRequest.java index 19b1c69cc..bf6fda654 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRequest.java @@ -56,7 +56,7 @@ // typedef: synonyms.get_synonym.Request /** - * Retrieves a synonym set + * Get a synonym set. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleRequest.java index 4e7a72b62..90d0f74cc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleRequest.java @@ -56,7 +56,7 @@ // typedef: synonyms.get_synonym_rule.Request /** - * Retrieves a synonym rule from a synonym set + * Get a synonym rule. Get a synonym rule from a synonym set. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsRequest.java index cf6db2290..230e03b96 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsRequest.java @@ -55,7 +55,7 @@ // typedef: synonyms.get_synonyms_sets.Request /** - * Retrieves a summary of all defined synonym sets + * Get all synonym sets. Get a summary of all defined synonym sets. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRequest.java index 2e528f779..d8f5c7245 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRequest.java @@ -59,7 +59,9 @@ // typedef: synonyms.put_synonym.Request /** - * Creates or updates a synonym set. + * Create or update a synonym set. Synonyms sets are limited to a maximum of + * 10,000 synonym rules per set. If you need to manage more synonym rules, you + * can create multiple synonym sets. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleRequest.java index 89802a028..03756a7d7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleRequest.java @@ -58,7 +58,8 @@ // typedef: synonyms.put_synonym_rule.Request /** - * Creates or updates a synonym rule in a synonym set + * Create or update a synonym rule. Create or update a synonym rule in a synonym + * set. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Schedule.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Schedule.java index ed6ec0005..115bdfb4b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Schedule.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Schedule.java @@ -76,6 +76,8 @@ public class Schedule implements TaggedUnion, TriggerVari */ public enum Kind implements JsonEnum { + Timezone("timezone"), + Cron("cron"), Daily("daily"), @@ -143,6 +145,23 @@ public static Schedule of(Function> fn) { return fn.apply(new Builder()).build(); } + /** + * Is this variant instance of kind {@code timezone}? + */ + public boolean isTimezone() { + return _kind == Kind.Timezone; + } + + /** + * Get the {@code timezone} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code timezone} kind. + */ + public String timezone() { + return TaggedUnionUtils.get(this, Kind.Timezone); + } + /** * Is this variant instance of kind {@code cron}? */ @@ -273,6 +292,10 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { ((JsonpSerializable) _value).serialize(generator, mapper); } else { switch (_kind) { + case Timezone : + generator.write(((String) this._value)); + + break; case Cron : generator.write(((String) this._value)); @@ -324,6 +347,12 @@ public static class Builder extends WithJsonObjectBuilderBase implement protected Builder self() { return this; } + public ObjectBuilder timezone(String v) { + this._kind = Kind.Timezone; + this._value = v; + return this; + } + public ObjectBuilder cron(String v) { this._kind = Kind.Cron; this._value = v; @@ -387,6 +416,7 @@ public Schedule build() { protected static void setupScheduleDeserializer(ObjectDeserializer op) { + op.add(Builder::timezone, JsonpDeserializer.stringDeserializer(), "timezone"); op.add(Builder::cron, JsonpDeserializer.stringDeserializer(), "cron"); op.add(Builder::daily, DailySchedule._DESERIALIZER, "daily"); op.add(Builder::hourly, HourlySchedule._DESERIALIZER, "hourly"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/ScheduleBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/ScheduleBuilders.java index 6f70cced3..f69090877 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/ScheduleBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/ScheduleBuilders.java @@ -41,9 +41,9 @@ /** * Builders for {@link Schedule} variants. *

    - * Variants cron, monthly, weekly, - * yearly are not available here as they don't have a dedicated - * class. Use {@link Schedule}'s builder for these. + * Variants timezone, cron, monthly, + * weekly, yearly are not available here as they don't + * have a dedicated class. Use {@link Schedule}'s builder for these. * */ public class ScheduleBuilders { From 61d01ccb7a83bdaed6b237e24f26cecfbf8a411e Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 17 Dec 2024 12:24:27 +0100 Subject: [PATCH 023/106] unit test fixes --- .../_helpers/esql/EsqlAdapterEndToEndTest.java | 12 ++++++++++-- .../elasticsearch/spec_issues/SpecIssuesTest.java | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterEndToEndTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterEndToEndTest.java index 3cfd884bf..eaa413e2b 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterEndToEndTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/esql/EsqlAdapterEndToEndTest.java @@ -134,7 +134,11 @@ public void objectsTest() throws Exception { { EmpData emp = it.next(); assertEquals("10042", emp.empNo); - assertEquals(Arrays.asList("Architect", "Business Analyst", "Internship", "Junior Developer"), emp.jobPositions); + assertEquals(4, emp.jobPositions.size()); + assertTrue(emp.jobPositions.contains("Architect")); + assertTrue(emp.jobPositions.contains("Business Analyst")); + assertTrue(emp.jobPositions.contains("Internship")); + assertTrue(emp.jobPositions.contains("Junior Developer")); assertEquals("1993-03-21T00:00:00Z[UTC]", DateTimeFormatter.ISO_DATE_TIME.format(emp.hireDate.toInstant().atZone(ZoneId.of("UTC"))) @@ -172,7 +176,11 @@ public void asyncObjects() throws Exception { { EmpData emp = it.next(); assertEquals("10042", emp.empNo); - assertEquals(Arrays.asList("Architect", "Business Analyst", "Internship", "Junior Developer"), emp.jobPositions); + assertEquals(4, emp.jobPositions.size()); + assertTrue(emp.jobPositions.contains("Architect")); + assertTrue(emp.jobPositions.contains("Business Analyst")); + assertTrue(emp.jobPositions.contains("Internship")); + assertTrue(emp.jobPositions.contains("Junior Developer")); assertEquals("1993-03-21T00:00:00Z[UTC]", DateTimeFormatter.ISO_DATE_TIME.format(emp.hireDate.toInstant().atZone(ZoneId.of("UTC"))) diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/spec_issues/SpecIssuesTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/spec_issues/SpecIssuesTest.java index f1bd2857b..72a49504f 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/spec_issues/SpecIssuesTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/spec_issues/SpecIssuesTest.java @@ -115,12 +115,12 @@ public void i0297_mappingSettings() { .index("i0297") .settings(s -> s // This is "mapping" and not "mappings" - .mapping(m -> m.totalFields(totalFields -> totalFields.limit(1001L))) + .mapping(m -> m.totalFields(totalFields -> totalFields.limit("1001"))) .otherSettings("foo", JsonData.of("bar")) ) ); - assertEquals("{\"settings\":{\"foo\":\"bar\",\"mapping\":{\"total_fields\":{\"limit\":1001}}}}", toJson(request)); + assertEquals("{\"settings\":{\"foo\":\"bar\",\"mapping\":{\"total_fields\":{\"limit\":\"1001\"}}}}", toJson(request)); } @Test From f60b79f8049e733cfd193c824907adb03f5b8be3 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 17 Dec 2024 12:24:45 +0100 Subject: [PATCH 024/106] [codegen] update to latest spec --- .../ElasticsearchAsyncClient.java | 89 +- .../elasticsearch/ElasticsearchClient.java | 89 +- .../elasticsearch/ccr/CcrStatsRequest.java | 3 +- .../ccr/DeleteAutoFollowPatternRequest.java | 3 +- .../ccr/ElasticsearchCcrAsyncClient.java | 208 +++- .../ccr/ElasticsearchCcrClient.java | 208 +++- .../elasticsearch/ccr/FollowInfoRequest.java | 6 +- .../elasticsearch/ccr/FollowRequest.java | 6 +- .../elasticsearch/ccr/FollowStatsRequest.java | 5 +- .../ccr/ForgetFollowerRequest.java | 22 +- .../ccr/GetAutoFollowPatternRequest.java | 3 +- .../ccr/PauseAutoFollowPatternRequest.java | 12 +- .../elasticsearch/ccr/PauseFollowRequest.java | 7 +- .../ccr/PutAutoFollowPatternRequest.java | 14 +- .../ccr/ResumeAutoFollowPatternRequest.java | 6 +- .../ccr/ResumeFollowRequest.java | 6 +- .../elasticsearch/ccr/UnfollowRequest.java | 11 +- .../cluster/AllocationExplainRequest.java | 8 +- .../cluster/ClusterStatsRequest.java | 7 +- .../DeleteVotingConfigExclusionsRequest.java | 3 +- .../ElasticsearchClusterAsyncClient.java | 558 ++++++++-- .../cluster/ElasticsearchClusterClient.java | 558 ++++++++-- .../cluster/GetClusterSettingsRequest.java | 2 +- .../elasticsearch/cluster/HealthRequest.java | 22 +- .../cluster/PendingTasksRequest.java | 18 +- .../PostVotingConfigExclusionsRequest.java | 37 +- .../cluster/PutClusterSettingsRequest.java | 28 +- .../cluster/RemoteInfoRequest.java | 6 +- .../elasticsearch/cluster/RerouteRequest.java | 44 +- .../elasticsearch/cluster/StateRequest.java | 31 +- .../elasticsearch/core/BulkRequest.java | 64 ++ .../core/HealthReportRequest.java | 29 +- .../elasticsearch/core/PingRequest.java | 2 +- .../elasticsearch/doc-files/api-spec.html | 442 ++++---- .../ElasticsearchFeaturesAsyncClient.java | 40 +- .../features/ElasticsearchFeaturesClient.java | 40 +- .../features/GetFeaturesRequest.java | 16 +- .../features/ResetFeaturesRequest.java | 24 +- .../ilm/DeleteLifecycleRequest.java | 6 +- .../ilm/ElasticsearchIlmAsyncClient.java | 228 ++++- .../ilm/ElasticsearchIlmClient.java | 228 ++++- .../ilm/ExplainLifecycleRequest.java | 10 +- .../ilm/GetIlmStatusRequest.java | 2 +- .../ilm/GetLifecycleRequest.java | 2 +- .../ilm/MigrateToDataTiersRequest.java | 24 +- .../elasticsearch/ilm/MoveToStepRequest.java | 21 +- .../ilm/PutLifecycleRequest.java | 5 +- .../ilm/RemovePolicyRequest.java | 3 +- .../elasticsearch/ilm/RetryRequest.java | 5 +- .../elasticsearch/ilm/StartIlmRequest.java | 5 +- .../elasticsearch/ilm/StopIlmRequest.java | 11 +- .../indices/ClearCacheRequest.java | 4 +- .../indices/CloneIndexRequest.java | 38 +- .../indices/CloseIndexRequest.java | 28 +- .../indices/DiskUsageRequest.java | 5 +- .../indices/DownsampleRequest.java | 15 +- .../ElasticsearchIndicesAsyncClient.java | 961 ++++++++++++++++-- .../indices/ElasticsearchIndicesClient.java | 961 ++++++++++++++++-- .../indices/ExplainDataLifecycleRequest.java | 8 +- .../indices/FieldUsageStatsRequest.java | 6 +- .../elasticsearch/indices/FlushRequest.java | 21 +- .../indices/ForcemergeRequest.java | 20 +- .../indices/IndicesStatsRequest.java | 17 +- .../indices/PromoteDataStreamRequest.java | 18 +- .../indices/PutTemplateRequest.java | 15 + .../indices/RecoveryRequest.java | 34 +- .../indices/ReloadSearchAnalyzersRequest.java | 23 +- .../indices/ResolveClusterRequest.java | 31 +- .../indices/SegmentsRequest.java | 5 +- .../indices/ShardStoresRequest.java | 18 +- .../elasticsearch/indices/ShrinkRequest.java | 58 +- .../elasticsearch/indices/SplitRequest.java | 54 +- .../indices/UnfreezeRequest.java | 3 +- .../ElasticsearchInferenceAsyncClient.java | 40 +- .../ElasticsearchInferenceClient.java | 40 +- .../elasticsearch/inference/PutRequest.java | 20 +- .../license/DeleteLicenseRequest.java | 6 +- .../ElasticsearchLicenseAsyncClient.java | 175 +++- .../license/ElasticsearchLicenseClient.java | 175 +++- .../license/GetBasicStatusRequest.java | 2 +- .../license/GetLicenseRequest.java | 12 +- .../license/GetTrialStatusRequest.java | 2 +- .../elasticsearch/license/PostRequest.java | 11 +- .../license/PostStartBasicRequest.java | 20 +- .../license/PostStartTrialRequest.java | 12 +- .../logstash/DeletePipelineRequest.java | 8 +- .../ElasticsearchLogstashAsyncClient.java | 30 +- .../logstash/ElasticsearchLogstashClient.java | 30 +- .../logstash/GetPipelineRequest.java | 10 +- .../elasticsearch/logstash/Pipeline.java | 130 +-- .../logstash/PutPipelineRequest.java | 9 +- .../migration/DeprecationsRequest.java | 9 +- .../ElasticsearchMigrationAsyncClient.java | 45 +- .../ElasticsearchMigrationClient.java | 45 +- .../GetFeatureUpgradeStatusRequest.java | 8 +- .../migration/PostFeatureUpgradeRequest.java | 10 +- .../ml/AdaptiveAllocationsSettings.java | 217 ++++ .../ml/CommonTokenizationConfig.java | 270 +++++ .../elasticsearch/ml/DatafeedStats.java | 39 +- .../elasticsearch/ml/DatafeedTimingStats.java | 40 + .../ml/DataframeAnalyticsSummary.java | 47 + .../elasticsearch/ml/DetectorUpdate.java | 270 +++++ ...eryNode.java => DiscoveryNodeCompact.java} | 137 +-- .../ml/DiscoveryNodeContent.java | 422 ++++++++ .../ml/ElasticsearchMlAsyncClient.java | 8 +- .../ml/ElasticsearchMlClient.java | 8 +- .../ExponentialAverageCalculationContext.java | 222 ++++ .../ml/FillMaskInferenceOptions.java | 31 + .../ml/GetTrainedModelsRequest.java | 36 + .../clients/elasticsearch/ml/JobStats.java | 14 +- .../elasticsearch/ml/MlInfoRequest.java | 2 +- .../elasticsearch/ml/ModelPackageConfig.java | 593 +++++++++++ .../elasticsearch/ml/ModelSizeStats.java | 30 + .../ml/ModelSnapshotUpgrade.java | 14 +- .../ml/NlpBertTokenizationConfig.java | 202 +--- .../ml/NlpRobertaTokenizationConfig.java | 161 +-- .../elasticsearch/ml/OverallBucket.java | 19 +- .../elasticsearch/ml/PostDataResponse.java | 396 +++++--- .../ml/PutDataFrameAnalyticsRequest.java | 46 + .../ml/PutDataFrameAnalyticsResponse.java | 47 + .../elasticsearch/ml/PutDatafeedRequest.java | 2 +- .../elasticsearch/ml/PutJobRequest.java | 190 +++- .../ml/TextEmbeddingInferenceOptions.java | 31 + .../ml/TextExpansionInferenceOptions.java | 31 + .../elasticsearch/ml/TokenizationConfig.java | 31 + .../ml/TokenizationConfigBuilders.java | 19 + .../ml/TrainedModelAssignment.java | 66 ++ .../TrainedModelAssignmentRoutingTable.java | 21 +- .../TrainedModelAssignmentTaskParameters.java | 79 +- .../elasticsearch/ml/TrainedModelConfig.java | 36 + .../ml/TrainedModelDeploymentNodesStats.java | 436 ++++++-- .../ml/TrainedModelDeploymentStats.java | 307 ++++-- .../elasticsearch/ml/UpdateJobRequest.java | 18 +- .../ml/ValidateDetectorRequest.java | 2 +- .../clients/elasticsearch/ml/info/Limits.java | 78 +- .../elasticsearch/monitoring/BulkRequest.java | 3 +- .../ElasticsearchMonitoringAsyncClient.java | 6 +- .../ElasticsearchMonitoringClient.java | 6 +- ...earRepositoriesMeteringArchiveRequest.java | 4 +- .../nodes/ElasticsearchNodesAsyncClient.java | 125 ++- .../nodes/ElasticsearchNodesClient.java | 125 ++- .../GetRepositoriesMeteringInfoRequest.java | 12 +- .../nodes/HotThreadsRequest.java | 6 +- .../elasticsearch/nodes/NodesInfoRequest.java | 3 +- .../nodes/NodesStatsRequest.java | 3 +- .../nodes/NodesUsageRequest.java | 2 +- .../nodes/ReloadSecureSettingsRequest.java | 17 +- .../rollup/DeleteJobRequest.java | 30 +- .../ElasticsearchRollupAsyncClient.java | 240 ++++- .../rollup/ElasticsearchRollupClient.java | 240 ++++- .../elasticsearch/rollup/GetJobsRequest.java | 8 +- .../rollup/GetRollupCapsRequest.java | 18 +- .../rollup/GetRollupIndexCapsRequest.java | 14 +- .../elasticsearch/rollup/PutJobRequest.java | 18 +- .../rollup/RollupSearchRequest.java | 6 +- .../elasticsearch/rollup/StartJobRequest.java | 4 +- .../elasticsearch/rollup/StopJobRequest.java | 3 +- .../CacheStatsRequest.java | 3 +- .../ClearCacheRequest.java | 3 +- ...csearchSearchableSnapshotsAsyncClient.java | 32 +- ...lasticsearchSearchableSnapshotsClient.java | 32 +- .../searchable_snapshots/MountRequest.java | 4 +- .../SearchableSnapshotsStatsRequest.java | 2 +- .../shutdown/DeleteNodeRequest.java | 13 +- .../ElasticsearchShutdownAsyncClient.java | 109 +- .../shutdown/ElasticsearchShutdownClient.java | 109 +- .../shutdown/GetNodeRequest.java | 13 +- .../shutdown/PutNodeRequest.java | 22 +- .../slm/DeleteLifecycleRequest.java | 4 +- .../slm/ElasticsearchSlmAsyncClient.java | 68 +- .../slm/ElasticsearchSlmClient.java | 68 +- .../slm/ExecuteLifecycleRequest.java | 6 +- .../slm/ExecuteRetentionRequest.java | 6 +- .../slm/GetLifecycleRequest.java | 4 +- .../slm/GetSlmStatusRequest.java | 2 +- .../elasticsearch/slm/GetStatsRequest.java | 4 +- .../slm/PutLifecycleRequest.java | 10 +- .../elasticsearch/slm/StartSlmRequest.java | 4 +- .../elasticsearch/slm/StopSlmRequest.java | 12 +- .../snapshot/CleanupRepositoryRequest.java | 5 +- .../snapshot/CloneSnapshotRequest.java | 4 +- .../snapshot/CreateRepositoryRequest.java | 8 +- .../snapshot/CreateSnapshotRequest.java | 3 +- .../snapshot/DeleteRepositoryRequest.java | 5 +- .../snapshot/DeleteSnapshotRequest.java | 2 +- .../ElasticsearchSnapshotAsyncClient.java | 274 ++++- .../snapshot/ElasticsearchSnapshotClient.java | 274 ++++- .../snapshot/GetRepositoryRequest.java | 2 +- .../snapshot/GetSnapshotRequest.java | 2 +- .../RepositoryVerifyIntegrityRequest.java | 51 +- .../snapshot/RestoreRequest.java | 27 +- .../snapshot/SnapshotStatusRequest.java | 16 +- .../snapshot/VerifyRepositoryRequest.java | 3 +- 193 files changed, 10786 insertions(+), 2350 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/AdaptiveAllocationsSettings.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CommonTokenizationConfig.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DetectorUpdate.java rename java-client/src/main/java/co/elastic/clients/elasticsearch/ml/{DiscoveryNode.java => DiscoveryNodeCompact.java} (87%) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeContent.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExponentialAverageCalculationContext.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ModelPackageConfig.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index 5ab973dfa..251d0b5a1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -1151,7 +1151,34 @@ public final CompletableFuture> getSour // ----- Endpoint: health_report /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @see Documentation @@ -1166,7 +1193,34 @@ public CompletableFuture healthReport(HealthReportRequest } /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @param fn * a function that initializes a builder to create the @@ -1182,7 +1236,34 @@ public final CompletableFuture healthReport( } /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @see Documentation @@ -1814,7 +1895,7 @@ public final CompletableFuture openPointInTime( // ----- Endpoint: ping /** - * Ping the cluster. Returns whether the cluster is running. + * Ping the cluster. Get information about whether the cluster is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index d1bbae89a..16dddaa1d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -1168,7 +1168,34 @@ public final GetSourceResponse getSource( // ----- Endpoint: health_report /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @see Documentation @@ -1183,7 +1210,34 @@ public HealthReportResponse healthReport(HealthReportRequest request) throws IOE } /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @param fn * a function that initializes a builder to create the @@ -1200,7 +1254,34 @@ public final HealthReportResponse healthReport( } /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @see Documentation @@ -1842,7 +1923,7 @@ public final OpenPointInTimeResponse openPointInTime( // ----- Endpoint: ping /** - * Ping the cluster. Returns whether the cluster is running. + * Ping the cluster. Get information about whether the cluster is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/CcrStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/CcrStatsRequest.java index 76bca7dc1..683602c92 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/CcrStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/CcrStatsRequest.java @@ -50,7 +50,8 @@ // typedef: ccr.stats.Request /** - * Gets all stats related to cross-cluster replication. + * Get cross-cluster replication stats. This API returns stats about + * auto-following and the same shard-level stats as the get follower stats API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/DeleteAutoFollowPatternRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/DeleteAutoFollowPatternRequest.java index 342fbf5a7..61bb19eeb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/DeleteAutoFollowPatternRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/DeleteAutoFollowPatternRequest.java @@ -56,7 +56,8 @@ // typedef: ccr.delete_auto_follow_pattern.Request /** - * Deletes auto-follow patterns. + * Delete auto-follow patterns. Delete a collection of cross-cluster replication + * auto-follow patterns. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java index f5d41aaeb..5779ff630 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrAsyncClient.java @@ -67,7 +67,8 @@ public ElasticsearchCcrAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: ccr.delete_auto_follow_pattern /** - * Deletes auto-follow patterns. + * Delete auto-follow patterns. Delete a collection of cross-cluster replication + * auto-follow patterns. * * @see Documentation @@ -83,7 +84,8 @@ public CompletableFuture deleteAutoFollowPatter } /** - * Deletes auto-follow patterns. + * Delete auto-follow patterns. Delete a collection of cross-cluster replication + * auto-follow patterns. * * @param fn * a function that initializes a builder to create the @@ -101,8 +103,10 @@ public final CompletableFuture deleteAutoFollow // ----- Endpoint: ccr.follow /** - * Creates a new follower index configured to follow the referenced leader - * index. + * Create a follower. Create a cross-cluster replication follower index that + * follows a specific leader index. When the API returns, the follower index + * exists and cross-cluster replication starts replicating operations from the + * leader index to the follower index. * * @see Documentation @@ -117,8 +121,10 @@ public CompletableFuture follow(FollowRequest request) { } /** - * Creates a new follower index configured to follow the referenced leader - * index. + * Create a follower. Create a cross-cluster replication follower index that + * follows a specific leader index. When the API returns, the follower index + * exists and cross-cluster replication starts replicating operations from the + * leader index to the follower index. * * @param fn * a function that initializes a builder to create the @@ -136,8 +142,10 @@ public final CompletableFuture follow( // ----- Endpoint: ccr.follow_info /** - * Retrieves information about all follower indices, including parameters and - * status for each follower index + * Get follower information. Get information about all cross-cluster replication + * follower indices. For example, the results include follower index names, + * leader index names, replication options, and whether the follower indices are + * active or paused. * * @see Documentation @@ -152,8 +160,10 @@ public CompletableFuture followInfo(FollowInfoRequest reques } /** - * Retrieves information about all follower indices, including parameters and - * status for each follower index + * Get follower information. Get information about all cross-cluster replication + * follower indices. For example, the results include follower index names, + * leader index names, replication options, and whether the follower indices are + * active or paused. * * @param fn * a function that initializes a builder to create the @@ -171,8 +181,9 @@ public final CompletableFuture followInfo( // ----- Endpoint: ccr.follow_stats /** - * Retrieves follower stats. return shard-level stats about the following tasks - * associated with each shard for the specified indices. + * Get follower stats. Get cross-cluster replication follower stats. The API + * returns shard-level stats about the "following tasks" associated + * with each shard for the specified indices. * * @see Documentation @@ -187,8 +198,9 @@ public CompletableFuture followStats(FollowStatsRequest req } /** - * Retrieves follower stats. return shard-level stats about the following tasks - * associated with each shard for the specified indices. + * Get follower stats. Get cross-cluster replication follower stats. The API + * returns shard-level stats about the "following tasks" associated + * with each shard for the specified indices. * * @param fn * a function that initializes a builder to create the @@ -206,7 +218,27 @@ public final CompletableFuture followStats( // ----- Endpoint: ccr.forget_follower /** - * Removes the follower retention leases from the leader. + * Forget a follower. Remove the cross-cluster replication follower retention + * leases from the leader. + *

    + * A following index takes out retention leases on its leader index. These + * leases are used to increase the likelihood that the shards of the leader + * index retain the history of operations that the shards of the following index + * need to run replication. When a follower index is converted to a regular + * index by the unfollow API (either by directly calling the API or by index + * lifecycle management tasks), these leases are removed. However, removal of + * the leases can fail, for example when the remote cluster containing the + * leader index is unavailable. While the leases will eventually expire on their + * own, their extended existence can cause the leader index to hold more history + * than necessary and prevent index lifecycle management from performing some + * operations on the leader index. This API exists to enable manually removing + * the leases when the unfollow API is unable to do so. + *

    + * NOTE: This API does not stop replication by a following index. If you use + * this API with a follower index that is still actively following, the + * following index will add back retention leases on the leader. The only + * purpose of this API is to handle the case of failure to remove the following + * retention leases after the unfollow API is invoked. * * @see Documentation @@ -221,7 +253,27 @@ public CompletableFuture forgetFollower(ForgetFollowerRe } /** - * Removes the follower retention leases from the leader. + * Forget a follower. Remove the cross-cluster replication follower retention + * leases from the leader. + *

    + * A following index takes out retention leases on its leader index. These + * leases are used to increase the likelihood that the shards of the leader + * index retain the history of operations that the shards of the following index + * need to run replication. When a follower index is converted to a regular + * index by the unfollow API (either by directly calling the API or by index + * lifecycle management tasks), these leases are removed. However, removal of + * the leases can fail, for example when the remote cluster containing the + * leader index is unavailable. While the leases will eventually expire on their + * own, their extended existence can cause the leader index to hold more history + * than necessary and prevent index lifecycle management from performing some + * operations on the leader index. This API exists to enable manually removing + * the leases when the unfollow API is unable to do so. + *

    + * NOTE: This API does not stop replication by a following index. If you use + * this API with a follower index that is still actively following, the + * following index will add back retention leases on the leader. The only + * purpose of this API is to handle the case of failure to remove the following + * retention leases after the unfollow API is invoked. * * @param fn * a function that initializes a builder to create the @@ -239,8 +291,7 @@ public final CompletableFuture forgetFollower( // ----- Endpoint: ccr.get_auto_follow_pattern /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @see Documentation @@ -255,8 +306,7 @@ public CompletableFuture getAutoFollowPattern(GetA } /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @param fn * a function that initializes a builder to create the @@ -272,8 +322,7 @@ public final CompletableFuture getAutoFollowPatter } /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @see Documentation @@ -288,7 +337,17 @@ public CompletableFuture getAutoFollowPattern() { // ----- Endpoint: ccr.pause_auto_follow_pattern /** - * Pauses an auto-follow pattern + * Pause an auto-follow pattern. Pause a cross-cluster replication auto-follow + * pattern. When the API returns, the auto-follow pattern is inactive. New + * indices that are created on the remote cluster and match the auto-follow + * patterns are ignored. + *

    + * You can resume auto-following with the resume auto-follow pattern API. When + * it resumes, the auto-follow pattern is active again and automatically + * configures follower indices for newly created indices on the remote cluster + * that match its patterns. Remote indices that were created while the pattern + * was paused will also be followed, unless they have been deleted or closed in + * the interim. * * @see Documentation @@ -304,7 +363,17 @@ public CompletableFuture pauseAutoFollowPattern( } /** - * Pauses an auto-follow pattern + * Pause an auto-follow pattern. Pause a cross-cluster replication auto-follow + * pattern. When the API returns, the auto-follow pattern is inactive. New + * indices that are created on the remote cluster and match the auto-follow + * patterns are ignored. + *

    + * You can resume auto-following with the resume auto-follow pattern API. When + * it resumes, the auto-follow pattern is active again and automatically + * configures follower indices for newly created indices on the remote cluster + * that match its patterns. Remote indices that were created while the pattern + * was paused will also be followed, unless they have been deleted or closed in + * the interim. * * @param fn * a function that initializes a builder to create the @@ -322,8 +391,11 @@ public final CompletableFuture pauseAutoFollowPa // ----- Endpoint: ccr.pause_follow /** - * Pauses a follower index. The follower index will not fetch any additional - * operations from the leader index. + * Pause a follower. Pause a cross-cluster replication follower index. The + * follower index will not fetch any additional operations from the leader + * index. You can resume following with the resume follower API. You can pause + * and resume a follower index to change the configuration of the following + * task. * * @see Documentation @@ -338,8 +410,11 @@ public CompletableFuture pauseFollow(PauseFollowRequest req } /** - * Pauses a follower index. The follower index will not fetch any additional - * operations from the leader index. + * Pause a follower. Pause a cross-cluster replication follower index. The + * follower index will not fetch any additional operations from the leader + * index. You can resume following with the resume follower API. You can pause + * and resume a follower index to change the configuration of the following + * task. * * @param fn * a function that initializes a builder to create the @@ -357,9 +432,17 @@ public final CompletableFuture pauseFollow( // ----- Endpoint: ccr.put_auto_follow_pattern /** - * Creates a new named collection of auto-follow patterns against a specified - * remote cluster. Newly created indices on the remote cluster matching any of - * the specified patterns will be automatically configured as follower indices. + * Create or update auto-follow patterns. Create a collection of cross-cluster + * replication auto-follow patterns for a remote cluster. Newly created indices + * on the remote cluster that match any of the patterns are automatically + * configured as follower indices. Indices on the remote cluster that were + * created before the auto-follow pattern was created will not be auto-followed + * even if they match the pattern. + *

    + * This API can also be used to update auto-follow patterns. NOTE: Follower + * indices that were configured automatically before updating an auto-follow + * pattern will remain unchanged even if they do not match against the new + * patterns. * * @see Documentation @@ -374,9 +457,17 @@ public CompletableFuture putAutoFollowPattern(PutA } /** - * Creates a new named collection of auto-follow patterns against a specified - * remote cluster. Newly created indices on the remote cluster matching any of - * the specified patterns will be automatically configured as follower indices. + * Create or update auto-follow patterns. Create a collection of cross-cluster + * replication auto-follow patterns for a remote cluster. Newly created indices + * on the remote cluster that match any of the patterns are automatically + * configured as follower indices. Indices on the remote cluster that were + * created before the auto-follow pattern was created will not be auto-followed + * even if they match the pattern. + *

    + * This API can also be used to update auto-follow patterns. NOTE: Follower + * indices that were configured automatically before updating an auto-follow + * pattern will remain unchanged even if they do not match against the new + * patterns. * * @param fn * a function that initializes a builder to create the @@ -394,7 +485,11 @@ public final CompletableFuture putAutoFollowPatter // ----- Endpoint: ccr.resume_auto_follow_pattern /** - * Resumes an auto-follow pattern that has been paused + * Resume an auto-follow pattern. Resume a cross-cluster replication auto-follow + * pattern that was paused. The auto-follow pattern will resume configuring + * following indices for newly created indices that match its patterns on the + * remote cluster. Remote indices created while the pattern was paused will also + * be followed unless they have been deleted or closed in the interim. * * @see Documentation @@ -410,7 +505,11 @@ public CompletableFuture resumeAutoFollowPatter } /** - * Resumes an auto-follow pattern that has been paused + * Resume an auto-follow pattern. Resume a cross-cluster replication auto-follow + * pattern that was paused. The auto-follow pattern will resume configuring + * following indices for newly created indices that match its patterns on the + * remote cluster. Remote indices created while the pattern was paused will also + * be followed unless they have been deleted or closed in the interim. * * @param fn * a function that initializes a builder to create the @@ -428,7 +527,11 @@ public final CompletableFuture resumeAutoFollow // ----- Endpoint: ccr.resume_follow /** - * Resumes a follower index that has been paused + * Resume a follower. Resume a cross-cluster replication follower index that was + * paused. The follower index could have been paused with the pause follower + * API. Alternatively it could be paused due to replication that cannot be + * retried due to failures during following tasks. When this API returns, the + * follower index will resume fetching operations from the leader index. * * @see Documentation @@ -443,7 +546,11 @@ public CompletableFuture resumeFollow(ResumeFollowRequest } /** - * Resumes a follower index that has been paused + * Resume a follower. Resume a cross-cluster replication follower index that was + * paused. The follower index could have been paused with the pause follower + * API. Alternatively it could be paused due to replication that cannot be + * retried due to failures during following tasks. When this API returns, the + * follower index will resume fetching operations from the leader index. * * @param fn * a function that initializes a builder to create the @@ -461,7 +568,8 @@ public final CompletableFuture resumeFollow( // ----- Endpoint: ccr.stats /** - * Gets all stats related to cross-cluster replication. + * Get cross-cluster replication stats. This API returns stats about + * auto-following and the same shard-level stats as the get follower stats API. * * @see Documentation @@ -475,8 +583,15 @@ public CompletableFuture stats() { // ----- Endpoint: ccr.unfollow /** - * Stops the following task associated with a follower index and removes index - * metadata and settings associated with cross-cluster replication. + * Unfollow an index. Convert a cross-cluster replication follower index to a + * regular index. The API stops the following task associated with a follower + * index and removes index metadata and settings associated with cross-cluster + * replication. The follower index must be paused and closed before you call the + * unfollow API. + *

    + * NOTE: Currently cross-cluster replication does not support converting an + * existing regular index to a follower index. Converting a follower index to a + * regular index is an irreversible operation. * * @see Documentation @@ -491,8 +606,15 @@ public CompletableFuture unfollow(UnfollowRequest request) { } /** - * Stops the following task associated with a follower index and removes index - * metadata and settings associated with cross-cluster replication. + * Unfollow an index. Convert a cross-cluster replication follower index to a + * regular index. The API stops the following task associated with a follower + * index and removes index metadata and settings associated with cross-cluster + * replication. The follower index must be paused and closed before you call the + * unfollow API. + *

    + * NOTE: Currently cross-cluster replication does not support converting an + * existing regular index to a follower index. Converting a follower index to a + * regular index is an irreversible operation. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java index d12d23e60..122b3bc81 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ElasticsearchCcrClient.java @@ -68,7 +68,8 @@ public ElasticsearchCcrClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: ccr.delete_auto_follow_pattern /** - * Deletes auto-follow patterns. + * Delete auto-follow patterns. Delete a collection of cross-cluster replication + * auto-follow patterns. * * @see Documentation @@ -84,7 +85,8 @@ public DeleteAutoFollowPatternResponse deleteAutoFollowPattern(DeleteAutoFollowP } /** - * Deletes auto-follow patterns. + * Delete auto-follow patterns. Delete a collection of cross-cluster replication + * auto-follow patterns. * * @param fn * a function that initializes a builder to create the @@ -103,8 +105,10 @@ public final DeleteAutoFollowPatternResponse deleteAutoFollowPattern( // ----- Endpoint: ccr.follow /** - * Creates a new follower index configured to follow the referenced leader - * index. + * Create a follower. Create a cross-cluster replication follower index that + * follows a specific leader index. When the API returns, the follower index + * exists and cross-cluster replication starts replicating operations from the + * leader index to the follower index. * * @see Documentation @@ -119,8 +123,10 @@ public FollowResponse follow(FollowRequest request) throws IOException, Elastics } /** - * Creates a new follower index configured to follow the referenced leader - * index. + * Create a follower. Create a cross-cluster replication follower index that + * follows a specific leader index. When the API returns, the follower index + * exists and cross-cluster replication starts replicating operations from the + * leader index to the follower index. * * @param fn * a function that initializes a builder to create the @@ -138,8 +144,10 @@ public final FollowResponse follow(FunctionDocumentation @@ -154,8 +162,10 @@ public FollowInfoResponse followInfo(FollowInfoRequest request) throws IOExcepti } /** - * Retrieves information about all follower indices, including parameters and - * status for each follower index + * Get follower information. Get information about all cross-cluster replication + * follower indices. For example, the results include follower index names, + * leader index names, replication options, and whether the follower indices are + * active or paused. * * @param fn * a function that initializes a builder to create the @@ -173,8 +183,9 @@ public final FollowInfoResponse followInfo(FunctionDocumentation @@ -189,8 +200,9 @@ public FollowStatsResponse followStats(FollowStatsRequest request) throws IOExce } /** - * Retrieves follower stats. return shard-level stats about the following tasks - * associated with each shard for the specified indices. + * Get follower stats. Get cross-cluster replication follower stats. The API + * returns shard-level stats about the "following tasks" associated + * with each shard for the specified indices. * * @param fn * a function that initializes a builder to create the @@ -209,7 +221,27 @@ public final FollowStatsResponse followStats( // ----- Endpoint: ccr.forget_follower /** - * Removes the follower retention leases from the leader. + * Forget a follower. Remove the cross-cluster replication follower retention + * leases from the leader. + *

    + * A following index takes out retention leases on its leader index. These + * leases are used to increase the likelihood that the shards of the leader + * index retain the history of operations that the shards of the following index + * need to run replication. When a follower index is converted to a regular + * index by the unfollow API (either by directly calling the API or by index + * lifecycle management tasks), these leases are removed. However, removal of + * the leases can fail, for example when the remote cluster containing the + * leader index is unavailable. While the leases will eventually expire on their + * own, their extended existence can cause the leader index to hold more history + * than necessary and prevent index lifecycle management from performing some + * operations on the leader index. This API exists to enable manually removing + * the leases when the unfollow API is unable to do so. + *

    + * NOTE: This API does not stop replication by a following index. If you use + * this API with a follower index that is still actively following, the + * following index will add back retention leases on the leader. The only + * purpose of this API is to handle the case of failure to remove the following + * retention leases after the unfollow API is invoked. * * @see Documentation @@ -225,7 +257,27 @@ public ForgetFollowerResponse forgetFollower(ForgetFollowerRequest request) } /** - * Removes the follower retention leases from the leader. + * Forget a follower. Remove the cross-cluster replication follower retention + * leases from the leader. + *

    + * A following index takes out retention leases on its leader index. These + * leases are used to increase the likelihood that the shards of the leader + * index retain the history of operations that the shards of the following index + * need to run replication. When a follower index is converted to a regular + * index by the unfollow API (either by directly calling the API or by index + * lifecycle management tasks), these leases are removed. However, removal of + * the leases can fail, for example when the remote cluster containing the + * leader index is unavailable. While the leases will eventually expire on their + * own, their extended existence can cause the leader index to hold more history + * than necessary and prevent index lifecycle management from performing some + * operations on the leader index. This API exists to enable manually removing + * the leases when the unfollow API is unable to do so. + *

    + * NOTE: This API does not stop replication by a following index. If you use + * this API with a follower index that is still actively following, the + * following index will add back retention leases on the leader. The only + * purpose of this API is to handle the case of failure to remove the following + * retention leases after the unfollow API is invoked. * * @param fn * a function that initializes a builder to create the @@ -244,8 +296,7 @@ public final ForgetFollowerResponse forgetFollower( // ----- Endpoint: ccr.get_auto_follow_pattern /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @see Documentation @@ -261,8 +312,7 @@ public GetAutoFollowPatternResponse getAutoFollowPattern(GetAutoFollowPatternReq } /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @param fn * a function that initializes a builder to create the @@ -279,8 +329,7 @@ public final GetAutoFollowPatternResponse getAutoFollowPattern( } /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @see Documentation @@ -295,7 +344,17 @@ public GetAutoFollowPatternResponse getAutoFollowPattern() throws IOException, E // ----- Endpoint: ccr.pause_auto_follow_pattern /** - * Pauses an auto-follow pattern + * Pause an auto-follow pattern. Pause a cross-cluster replication auto-follow + * pattern. When the API returns, the auto-follow pattern is inactive. New + * indices that are created on the remote cluster and match the auto-follow + * patterns are ignored. + *

    + * You can resume auto-following with the resume auto-follow pattern API. When + * it resumes, the auto-follow pattern is active again and automatically + * configures follower indices for newly created indices on the remote cluster + * that match its patterns. Remote indices that were created while the pattern + * was paused will also be followed, unless they have been deleted or closed in + * the interim. * * @see Documentation @@ -311,7 +370,17 @@ public PauseAutoFollowPatternResponse pauseAutoFollowPattern(PauseAutoFollowPatt } /** - * Pauses an auto-follow pattern + * Pause an auto-follow pattern. Pause a cross-cluster replication auto-follow + * pattern. When the API returns, the auto-follow pattern is inactive. New + * indices that are created on the remote cluster and match the auto-follow + * patterns are ignored. + *

    + * You can resume auto-following with the resume auto-follow pattern API. When + * it resumes, the auto-follow pattern is active again and automatically + * configures follower indices for newly created indices on the remote cluster + * that match its patterns. Remote indices that were created while the pattern + * was paused will also be followed, unless they have been deleted or closed in + * the interim. * * @param fn * a function that initializes a builder to create the @@ -330,8 +399,11 @@ public final PauseAutoFollowPatternResponse pauseAutoFollowPattern( // ----- Endpoint: ccr.pause_follow /** - * Pauses a follower index. The follower index will not fetch any additional - * operations from the leader index. + * Pause a follower. Pause a cross-cluster replication follower index. The + * follower index will not fetch any additional operations from the leader + * index. You can resume following with the resume follower API. You can pause + * and resume a follower index to change the configuration of the following + * task. * * @see Documentation @@ -346,8 +418,11 @@ public PauseFollowResponse pauseFollow(PauseFollowRequest request) throws IOExce } /** - * Pauses a follower index. The follower index will not fetch any additional - * operations from the leader index. + * Pause a follower. Pause a cross-cluster replication follower index. The + * follower index will not fetch any additional operations from the leader + * index. You can resume following with the resume follower API. You can pause + * and resume a follower index to change the configuration of the following + * task. * * @param fn * a function that initializes a builder to create the @@ -366,9 +441,17 @@ public final PauseFollowResponse pauseFollow( // ----- Endpoint: ccr.put_auto_follow_pattern /** - * Creates a new named collection of auto-follow patterns against a specified - * remote cluster. Newly created indices on the remote cluster matching any of - * the specified patterns will be automatically configured as follower indices. + * Create or update auto-follow patterns. Create a collection of cross-cluster + * replication auto-follow patterns for a remote cluster. Newly created indices + * on the remote cluster that match any of the patterns are automatically + * configured as follower indices. Indices on the remote cluster that were + * created before the auto-follow pattern was created will not be auto-followed + * even if they match the pattern. + *

    + * This API can also be used to update auto-follow patterns. NOTE: Follower + * indices that were configured automatically before updating an auto-follow + * pattern will remain unchanged even if they do not match against the new + * patterns. * * @see Documentation @@ -384,9 +467,17 @@ public PutAutoFollowPatternResponse putAutoFollowPattern(PutAutoFollowPatternReq } /** - * Creates a new named collection of auto-follow patterns against a specified - * remote cluster. Newly created indices on the remote cluster matching any of - * the specified patterns will be automatically configured as follower indices. + * Create or update auto-follow patterns. Create a collection of cross-cluster + * replication auto-follow patterns for a remote cluster. Newly created indices + * on the remote cluster that match any of the patterns are automatically + * configured as follower indices. Indices on the remote cluster that were + * created before the auto-follow pattern was created will not be auto-followed + * even if they match the pattern. + *

    + * This API can also be used to update auto-follow patterns. NOTE: Follower + * indices that were configured automatically before updating an auto-follow + * pattern will remain unchanged even if they do not match against the new + * patterns. * * @param fn * a function that initializes a builder to create the @@ -405,7 +496,11 @@ public final PutAutoFollowPatternResponse putAutoFollowPattern( // ----- Endpoint: ccr.resume_auto_follow_pattern /** - * Resumes an auto-follow pattern that has been paused + * Resume an auto-follow pattern. Resume a cross-cluster replication auto-follow + * pattern that was paused. The auto-follow pattern will resume configuring + * following indices for newly created indices that match its patterns on the + * remote cluster. Remote indices created while the pattern was paused will also + * be followed unless they have been deleted or closed in the interim. * * @see Documentation @@ -421,7 +516,11 @@ public ResumeAutoFollowPatternResponse resumeAutoFollowPattern(ResumeAutoFollowP } /** - * Resumes an auto-follow pattern that has been paused + * Resume an auto-follow pattern. Resume a cross-cluster replication auto-follow + * pattern that was paused. The auto-follow pattern will resume configuring + * following indices for newly created indices that match its patterns on the + * remote cluster. Remote indices created while the pattern was paused will also + * be followed unless they have been deleted or closed in the interim. * * @param fn * a function that initializes a builder to create the @@ -440,7 +539,11 @@ public final ResumeAutoFollowPatternResponse resumeAutoFollowPattern( // ----- Endpoint: ccr.resume_follow /** - * Resumes a follower index that has been paused + * Resume a follower. Resume a cross-cluster replication follower index that was + * paused. The follower index could have been paused with the pause follower + * API. Alternatively it could be paused due to replication that cannot be + * retried due to failures during following tasks. When this API returns, the + * follower index will resume fetching operations from the leader index. * * @see Documentation @@ -455,7 +558,11 @@ public ResumeFollowResponse resumeFollow(ResumeFollowRequest request) throws IOE } /** - * Resumes a follower index that has been paused + * Resume a follower. Resume a cross-cluster replication follower index that was + * paused. The follower index could have been paused with the pause follower + * API. Alternatively it could be paused due to replication that cannot be + * retried due to failures during following tasks. When this API returns, the + * follower index will resume fetching operations from the leader index. * * @param fn * a function that initializes a builder to create the @@ -474,7 +581,8 @@ public final ResumeFollowResponse resumeFollow( // ----- Endpoint: ccr.stats /** - * Gets all stats related to cross-cluster replication. + * Get cross-cluster replication stats. This API returns stats about + * auto-following and the same shard-level stats as the get follower stats API. * * @see Documentation @@ -488,8 +596,15 @@ public CcrStatsResponse stats() throws IOException, ElasticsearchException { // ----- Endpoint: ccr.unfollow /** - * Stops the following task associated with a follower index and removes index - * metadata and settings associated with cross-cluster replication. + * Unfollow an index. Convert a cross-cluster replication follower index to a + * regular index. The API stops the following task associated with a follower + * index and removes index metadata and settings associated with cross-cluster + * replication. The follower index must be paused and closed before you call the + * unfollow API. + *

    + * NOTE: Currently cross-cluster replication does not support converting an + * existing regular index to a follower index. Converting a follower index to a + * regular index is an irreversible operation. * * @see Documentation @@ -504,8 +619,15 @@ public UnfollowResponse unfollow(UnfollowRequest request) throws IOException, El } /** - * Stops the following task associated with a follower index and removes index - * metadata and settings associated with cross-cluster replication. + * Unfollow an index. Convert a cross-cluster replication follower index to a + * regular index. The API stops the following task associated with a follower + * index and removes index metadata and settings associated with cross-cluster + * replication. The follower index must be paused and closed before you call the + * unfollow API. + *

    + * NOTE: Currently cross-cluster replication does not support converting an + * existing regular index to a follower index. Converting a follower index to a + * regular index is an irreversible operation. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowInfoRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowInfoRequest.java index 7fcf2db5b..78bc16ea7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowInfoRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowInfoRequest.java @@ -58,8 +58,10 @@ // typedef: ccr.follow_info.Request /** - * Retrieves information about all follower indices, including parameters and - * status for each follower index + * Get follower information. Get information about all cross-cluster replication + * follower indices. For example, the results include follower index names, + * leader index names, replication options, and whether the follower indices are + * active or paused. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java index 22b6c7788..7bd6ab476 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowRequest.java @@ -62,8 +62,10 @@ // typedef: ccr.follow.Request /** - * Creates a new follower index configured to follow the referenced leader - * index. + * Create a follower. Create a cross-cluster replication follower index that + * follows a specific leader index. When the API returns, the follower index + * exists and cross-cluster replication starts replicating operations from the + * leader index to the follower index. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowStatsRequest.java index 9311a92fb..9048f3fdc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/FollowStatsRequest.java @@ -58,8 +58,9 @@ // typedef: ccr.follow_stats.Request /** - * Retrieves follower stats. return shard-level stats about the following tasks - * associated with each shard for the specified indices. + * Get follower stats. Get cross-cluster replication follower stats. The API + * returns shard-level stats about the "following tasks" associated + * with each shard for the specified indices. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ForgetFollowerRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ForgetFollowerRequest.java index 4f61622ed..7bb407dfd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ForgetFollowerRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ForgetFollowerRequest.java @@ -58,7 +58,27 @@ // typedef: ccr.forget_follower.Request /** - * Removes the follower retention leases from the leader. + * Forget a follower. Remove the cross-cluster replication follower retention + * leases from the leader. + *

    + * A following index takes out retention leases on its leader index. These + * leases are used to increase the likelihood that the shards of the leader + * index retain the history of operations that the shards of the following index + * need to run replication. When a follower index is converted to a regular + * index by the unfollow API (either by directly calling the API or by index + * lifecycle management tasks), these leases are removed. However, removal of + * the leases can fail, for example when the remote cluster containing the + * leader index is unavailable. While the leases will eventually expire on their + * own, their extended existence can cause the leader index to hold more history + * than necessary and prevent index lifecycle management from performing some + * operations on the leader index. This API exists to enable manually removing + * the leases when the unfollow API is unable to do so. + *

    + * NOTE: This API does not stop replication by a following index. If you use + * this API with a follower index that is still actively following, the + * following index will add back retention leases on the leader. The only + * purpose of this API is to handle the case of failure to remove the following + * retention leases after the unfollow API is invoked. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/GetAutoFollowPatternRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/GetAutoFollowPatternRequest.java index 8703d5b66..133675182 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/GetAutoFollowPatternRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/GetAutoFollowPatternRequest.java @@ -55,8 +55,7 @@ // typedef: ccr.get_auto_follow_pattern.Request /** - * Gets configured auto-follow patterns. Returns the specified auto-follow - * pattern collection. + * Get auto-follow patterns. Get cross-cluster replication auto-follow patterns. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseAutoFollowPatternRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseAutoFollowPatternRequest.java index 1773672eb..941ff1f2b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseAutoFollowPatternRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseAutoFollowPatternRequest.java @@ -56,7 +56,17 @@ // typedef: ccr.pause_auto_follow_pattern.Request /** - * Pauses an auto-follow pattern + * Pause an auto-follow pattern. Pause a cross-cluster replication auto-follow + * pattern. When the API returns, the auto-follow pattern is inactive. New + * indices that are created on the remote cluster and match the auto-follow + * patterns are ignored. + *

    + * You can resume auto-following with the resume auto-follow pattern API. When + * it resumes, the auto-follow pattern is active again and automatically + * configures follower indices for newly created indices on the remote cluster + * that match its patterns. Remote indices that were created while the pattern + * was paused will also be followed, unless they have been deleted or closed in + * the interim. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseFollowRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseFollowRequest.java index 6b288baf1..3d5e70251 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseFollowRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PauseFollowRequest.java @@ -56,8 +56,11 @@ // typedef: ccr.pause_follow.Request /** - * Pauses a follower index. The follower index will not fetch any additional - * operations from the leader index. + * Pause a follower. Pause a cross-cluster replication follower index. The + * follower index will not fetch any additional operations from the leader + * index. You can resume following with the resume follower API. You can pause + * and resume a follower index to change the configuration of the following + * task. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PutAutoFollowPatternRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PutAutoFollowPatternRequest.java index 69e13c60f..456b1d4db 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PutAutoFollowPatternRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/PutAutoFollowPatternRequest.java @@ -62,9 +62,17 @@ // typedef: ccr.put_auto_follow_pattern.Request /** - * Creates a new named collection of auto-follow patterns against a specified - * remote cluster. Newly created indices on the remote cluster matching any of - * the specified patterns will be automatically configured as follower indices. + * Create or update auto-follow patterns. Create a collection of cross-cluster + * replication auto-follow patterns for a remote cluster. Newly created indices + * on the remote cluster that match any of the patterns are automatically + * configured as follower indices. Indices on the remote cluster that were + * created before the auto-follow pattern was created will not be auto-followed + * even if they match the pattern. + *

    + * This API can also be used to update auto-follow patterns. NOTE: Follower + * indices that were configured automatically before updating an auto-follow + * pattern will remain unchanged even if they do not match against the new + * patterns. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeAutoFollowPatternRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeAutoFollowPatternRequest.java index 3ebcb2bef..c0e833da4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeAutoFollowPatternRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeAutoFollowPatternRequest.java @@ -56,7 +56,11 @@ // typedef: ccr.resume_auto_follow_pattern.Request /** - * Resumes an auto-follow pattern that has been paused + * Resume an auto-follow pattern. Resume a cross-cluster replication auto-follow + * pattern that was paused. The auto-follow pattern will resume configuring + * following indices for newly created indices that match its patterns on the + * remote cluster. Remote indices created while the pattern was paused will also + * be followed unless they have been deleted or closed in the interim. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeFollowRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeFollowRequest.java index 44594ad40..d4f2d6ef7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeFollowRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/ResumeFollowRequest.java @@ -60,7 +60,11 @@ // typedef: ccr.resume_follow.Request /** - * Resumes a follower index that has been paused + * Resume a follower. Resume a cross-cluster replication follower index that was + * paused. The follower index could have been paused with the pause follower + * API. Alternatively it could be paused due to replication that cannot be + * retried due to failures during following tasks. When this API returns, the + * follower index will resume fetching operations from the leader index. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/UnfollowRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/UnfollowRequest.java index 7ce510c12..50398cc41 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/UnfollowRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ccr/UnfollowRequest.java @@ -56,8 +56,15 @@ // typedef: ccr.unfollow.Request /** - * Stops the following task associated with a follower index and removes index - * metadata and settings associated with cross-cluster replication. + * Unfollow an index. Convert a cross-cluster replication follower index to a + * regular index. The API stops the following task associated with a follower + * index and removes index metadata and settings associated with cross-cluster + * replication. The follower index must be paused and closed before you call the + * unfollow API. + *

    + * NOTE: Currently cross-cluster replication does not support converting an + * existing regular index to a follower index. Converting a follower index to a + * regular index is an irreversible operation. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/AllocationExplainRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/AllocationExplainRequest.java index c8aff6a12..9233d9bde 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/AllocationExplainRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/AllocationExplainRequest.java @@ -59,7 +59,13 @@ // typedef: cluster.allocation_explain.Request /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java index 9f47b9971..0d4e38fc4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterStatsRequest.java @@ -59,10 +59,9 @@ // typedef: cluster.stats.Request /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteVotingConfigExclusionsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteVotingConfigExclusionsRequest.java index 37a889091..96c39da2c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteVotingConfigExclusionsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteVotingConfigExclusionsRequest.java @@ -57,7 +57,8 @@ // typedef: cluster.delete_voting_config_exclusions.Request /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java index 00ded6056..819edcc01 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java @@ -71,7 +71,13 @@ public ElasticsearchClusterAsyncClient withTransportOptions(@Nullable TransportO // ----- Endpoint: cluster.allocation_explain /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @see Documentation @@ -86,7 +92,13 @@ public CompletableFuture allocationExplain(Allocation } /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @param fn * a function that initializes a builder to create the @@ -102,7 +114,13 @@ public final CompletableFuture allocationExplain( } /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @see Documentation @@ -155,7 +173,8 @@ public final CompletableFuture deleteComponentT // ----- Endpoint: cluster.delete_voting_config_exclusions /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @see Documentation @@ -171,7 +190,8 @@ public CompletableFuture deleteVotingConfigExclusions( } /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @param fn * a function that initializes a builder to create the @@ -187,7 +207,8 @@ public final CompletableFuture deleteVotingConfigExclusions( } /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @see Documentation @@ -283,7 +304,7 @@ public CompletableFuture getComponentTemplate() { // ----- Endpoint: cluster.get_settings /** - * Returns cluster-wide settings. By default, it returns only settings that have + * Get cluster-wide settings. By default, it returns only settings that have * been explicitly defined. * * @see getSettings(GetClusterSetti } /** - * Returns cluster-wide settings. By default, it returns only settings that have + * Get cluster-wide settings. By default, it returns only settings that have * been explicitly defined. * * @param fn @@ -316,7 +337,7 @@ public final CompletableFuture getSettings( } /** - * Returns cluster-wide settings. By default, it returns only settings that have + * Get cluster-wide settings. By default, it returns only settings that have * been explicitly defined. * * @see getSettings() { // ----- Endpoint: cluster.health /** - * The cluster health API returns a simple status on the health of the cluster. - * You can also use the API to get the health status of only specified data - * streams and indices. For data streams, the API retrieves the health status of - * the stream’s backing indices. The cluster health status is: green, yellow or - * red. On the shard level, a red status indicates that the specific shard is - * not allocated in the cluster, yellow means that the primary shard is - * allocated but replicas are not, and green means that all shards are - * allocated. The index level status is controlled by the worst shard status. - * The cluster status is controlled by the worst index status. + * Get the cluster health status. You can also use the API to get the health + * status of only specified data streams and indices. For data streams, the API + * retrieves the health status of the stream’s backing indices. + *

    + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @see Documentation @@ -355,15 +380,19 @@ public CompletableFuture health(HealthRequest request) { } /** - * The cluster health API returns a simple status on the health of the cluster. - * You can also use the API to get the health status of only specified data - * streams and indices. For data streams, the API retrieves the health status of - * the stream’s backing indices. The cluster health status is: green, yellow or - * red. On the shard level, a red status indicates that the specific shard is - * not allocated in the cluster, yellow means that the primary shard is - * allocated but replicas are not, and green means that all shards are - * allocated. The index level status is controlled by the worst shard status. - * The cluster status is controlled by the worst index status. + * Get the cluster health status. You can also use the API to get the health + * status of only specified data streams and indices. For data streams, the API + * retrieves the health status of the stream’s backing indices. + *

    + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @param fn * a function that initializes a builder to create the @@ -379,15 +408,19 @@ public final CompletableFuture health( } /** - * The cluster health API returns a simple status on the health of the cluster. - * You can also use the API to get the health status of only specified data - * streams and indices. For data streams, the API retrieves the health status of - * the stream’s backing indices. The cluster health status is: green, yellow or - * red. On the shard level, a red status indicates that the specific shard is - * not allocated in the cluster, yellow means that the primary shard is - * allocated but replicas are not, and green means that all shards are - * allocated. The index level status is controlled by the worst shard status. - * The cluster status is controlled by the worst index status. + * Get the cluster health status. You can also use the API to get the health + * status of only specified data streams and indices. For data streams, the API + * retrieves the health status of the stream’s backing indices. + *

    + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @see Documentation @@ -435,14 +468,16 @@ public final CompletableFuture info( // ----- Endpoint: cluster.pending_tasks /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @see Documentation @@ -457,14 +492,16 @@ public CompletableFuture pendingTasks(PendingTasksRequest } /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @param fn * a function that initializes a builder to create the @@ -480,14 +517,16 @@ public final CompletableFuture pendingTasks( } /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @see Documentation @@ -502,7 +541,42 @@ public CompletableFuture pendingTasks() { // ----- Endpoint: cluster.post_voting_config_exclusions /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @see Documentation @@ -517,7 +591,42 @@ public CompletableFuture postVotingConfigExclusions(PostVotingC } /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @param fn * a function that initializes a builder to create the @@ -533,7 +642,42 @@ public final CompletableFuture postVotingConfigExclusions( } /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @see Documentation @@ -621,7 +765,33 @@ public final CompletableFuture putComponentTemplat // ----- Endpoint: cluster.put_settings /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @see Documentation @@ -636,7 +806,33 @@ public CompletableFuture putSettings(PutClusterSetti } /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @param fn * a function that initializes a builder to create the @@ -652,7 +848,33 @@ public final CompletableFuture putSettings( } /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @see Documentation @@ -667,9 +889,9 @@ public CompletableFuture putSettings() { // ----- Endpoint: cluster.remote_info /** - * The cluster remote info API allows you to retrieve all of the configured - * remote cluster information. It returns connection and endpoint information - * keyed by the configured remote cluster alias. + * Get remote cluster information. Get all of the configured remote cluster + * information. This API returns connection and endpoint information keyed by + * the configured remote cluster alias. * * @see Documentation @@ -683,7 +905,33 @@ public CompletableFuture remoteInfo() { // ----- Endpoint: cluster.reroute /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @see Documentation @@ -698,7 +946,33 @@ public CompletableFuture reroute(RerouteRequest request) { } /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @param fn * a function that initializes a builder to create the @@ -714,7 +988,33 @@ public final CompletableFuture reroute( } /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @see Documentation @@ -729,7 +1029,36 @@ public CompletableFuture reroute() { // ----- Endpoint: cluster.state /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @see Documentation @@ -744,7 +1073,36 @@ public CompletableFuture state(StateRequest request) { } /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @param fn * a function that initializes a builder to create the @@ -760,7 +1118,36 @@ public final CompletableFuture state( } /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @see Documentation @@ -775,10 +1162,9 @@ public CompletableFuture state() { // ----- Endpoint: cluster.stats /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @see Documentation @@ -793,10 +1179,9 @@ public CompletableFuture stats(ClusterStatsRequest request } /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @param fn * a function that initializes a builder to create the @@ -812,10 +1197,9 @@ public final CompletableFuture stats( } /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java index ca6848e1d..3eef299cb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java @@ -69,7 +69,13 @@ public ElasticsearchClusterClient withTransportOptions(@Nullable TransportOption // ----- Endpoint: cluster.allocation_explain /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @see Documentation @@ -85,7 +91,13 @@ public AllocationExplainResponse allocationExplain(AllocationExplainRequest requ } /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @param fn * a function that initializes a builder to create the @@ -102,7 +114,13 @@ public final AllocationExplainResponse allocationExplain( } /** - * Provides explanations for shard allocations in the cluster. + * Explain the shard allocations. Get explanations for shard allocations in the + * cluster. For unassigned shards, it provides an explanation for why the shard + * is unassigned. For assigned shards, it provides an explanation for why the + * shard is remaining on its current node and has not moved or rebalanced to + * another node. This API can be very useful when attempting to diagnose why a + * shard is unassigned or why a shard continues to remain on its current node + * when you might expect otherwise. * * @see Documentation @@ -156,7 +174,8 @@ public final DeleteComponentTemplateResponse deleteComponentTemplate( // ----- Endpoint: cluster.delete_voting_config_exclusions /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @see Documentation @@ -172,7 +191,8 @@ public BooleanResponse deleteVotingConfigExclusions(DeleteVotingConfigExclusions } /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @param fn * a function that initializes a builder to create the @@ -189,7 +209,8 @@ public final BooleanResponse deleteVotingConfigExclusions( } /** - * Clears cluster voting config exclusions. + * Clear cluster voting config exclusions. Remove master-eligible nodes from the + * voting configuration exclusion list. * * @see Documentation @@ -289,7 +310,7 @@ public GetComponentTemplateResponse getComponentTemplate() throws IOException, E // ----- Endpoint: cluster.get_settings /** - * Returns cluster-wide settings. By default, it returns only settings that have + * Get cluster-wide settings. By default, it returns only settings that have * been explicitly defined. * * @see + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @see Documentation @@ -363,15 +388,19 @@ public HealthResponse health(HealthRequest request) throws IOException, Elastics } /** - * The cluster health API returns a simple status on the health of the cluster. - * You can also use the API to get the health status of only specified data - * streams and indices. For data streams, the API retrieves the health status of - * the stream’s backing indices. The cluster health status is: green, yellow or - * red. On the shard level, a red status indicates that the specific shard is - * not allocated in the cluster, yellow means that the primary shard is - * allocated but replicas are not, and green means that all shards are - * allocated. The index level status is controlled by the worst shard status. - * The cluster status is controlled by the worst index status. + * Get the cluster health status. You can also use the API to get the health + * status of only specified data streams and indices. For data streams, the API + * retrieves the health status of the stream’s backing indices. + *

    + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @param fn * a function that initializes a builder to create the @@ -387,15 +416,19 @@ public final HealthResponse health(Function + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @see Documentation @@ -443,14 +476,16 @@ public final ClusterInfoResponse info(Function + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @see Documentation @@ -465,14 +500,16 @@ public PendingTasksResponse pendingTasks(PendingTasksRequest request) throws IOE } /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @param fn * a function that initializes a builder to create the @@ -489,14 +526,16 @@ public final PendingTasksResponse pendingTasks( } /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @see Documentation @@ -511,7 +550,42 @@ public PendingTasksResponse pendingTasks() throws IOException, ElasticsearchExce // ----- Endpoint: cluster.post_voting_config_exclusions /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @see Documentation @@ -527,7 +601,42 @@ public BooleanResponse postVotingConfigExclusions(PostVotingConfigExclusionsRequ } /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @param fn * a function that initializes a builder to create the @@ -544,7 +653,42 @@ public final BooleanResponse postVotingConfigExclusions( } /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @see Documentation @@ -634,7 +778,33 @@ public final PutComponentTemplateResponse putComponentTemplate( // ----- Endpoint: cluster.put_settings /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @see Documentation @@ -650,7 +820,33 @@ public PutClusterSettingsResponse putSettings(PutClusterSettingsRequest request) } /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @param fn * a function that initializes a builder to create the @@ -667,7 +863,33 @@ public final PutClusterSettingsResponse putSettings( } /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @see Documentation @@ -682,9 +904,9 @@ public PutClusterSettingsResponse putSettings() throws IOException, Elasticsearc // ----- Endpoint: cluster.remote_info /** - * The cluster remote info API allows you to retrieve all of the configured - * remote cluster information. It returns connection and endpoint information - * keyed by the configured remote cluster alias. + * Get remote cluster information. Get all of the configured remote cluster + * information. This API returns connection and endpoint information keyed by + * the configured remote cluster alias. * * @see Documentation @@ -698,7 +920,33 @@ public RemoteInfoResponse remoteInfo() throws IOException, ElasticsearchExceptio // ----- Endpoint: cluster.reroute /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @see Documentation @@ -713,7 +961,33 @@ public RerouteResponse reroute(RerouteRequest request) throws IOException, Elast } /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @param fn * a function that initializes a builder to create the @@ -729,7 +1003,33 @@ public final RerouteResponse reroute(Function + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @see Documentation @@ -744,7 +1044,36 @@ public RerouteResponse reroute() throws IOException, ElasticsearchException { // ----- Endpoint: cluster.state /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @see Documentation @@ -759,7 +1088,36 @@ public StateResponse state(StateRequest request) throws IOException, Elasticsear } /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @param fn * a function that initializes a builder to create the @@ -775,7 +1133,36 @@ public final StateResponse state(Function + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @see Documentation @@ -790,10 +1177,9 @@ public StateResponse state() throws IOException, ElasticsearchException { // ----- Endpoint: cluster.stats /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @see Documentation @@ -808,10 +1194,9 @@ public ClusterStatsResponse stats(ClusterStatsRequest request) throws IOExceptio } /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @param fn * a function that initializes a builder to create the @@ -828,10 +1213,9 @@ public final ClusterStatsResponse stats( } /** - * Returns cluster statistics. It returns basic index metrics (shard numbers, - * store size, memory usage) and information about the current nodes that form - * the cluster (number, roles, os, jvm versions, memory usage, cpu and installed - * plugins). + * Get cluster statistics. Get basic index metrics (shard numbers, store size, + * memory usage) and information about the current nodes that form the cluster + * (number, roles, os, jvm versions, memory usage, cpu and installed plugins). * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/GetClusterSettingsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/GetClusterSettingsRequest.java index eb5300a08..337291f80 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/GetClusterSettingsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/GetClusterSettingsRequest.java @@ -56,7 +56,7 @@ // typedef: cluster.get_settings.Request /** - * Returns cluster-wide settings. By default, it returns only settings that have + * Get cluster-wide settings. By default, it returns only settings that have * been explicitly defined. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/HealthRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/HealthRequest.java index 08bc59796..e3c230002 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/HealthRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/HealthRequest.java @@ -64,15 +64,19 @@ // typedef: cluster.health.Request /** - * The cluster health API returns a simple status on the health of the cluster. - * You can also use the API to get the health status of only specified data - * streams and indices. For data streams, the API retrieves the health status of - * the stream’s backing indices. The cluster health status is: green, yellow or - * red. On the shard level, a red status indicates that the specific shard is - * not allocated in the cluster, yellow means that the primary shard is - * allocated but replicas are not, and green means that all shards are - * allocated. The index level status is controlled by the worst shard status. - * The cluster status is controlled by the worst index status. + * Get the cluster health status. You can also use the API to get the health + * status of only specified data streams and indices. For data streams, the API + * retrieves the health status of the stream’s backing indices. + *

    + * The cluster health status is: green, yellow or red. On the shard level, a red + * status indicates that the specific shard is not allocated in the cluster. + * Yellow means that the primary shard is allocated but replicas are not. Green + * means that all shards are allocated. The index level status is controlled by + * the worst shard status. + *

    + * One of the main benefits of the API is the ability to wait until the cluster + * reaches a certain high watermark health level. The cluster status is + * controlled by the worst index status. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PendingTasksRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PendingTasksRequest.java index 1d3366fbf..dd3d45551 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PendingTasksRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PendingTasksRequest.java @@ -56,14 +56,16 @@ // typedef: cluster.pending_tasks.Request /** - * Returns cluster-level changes (such as create index, update mapping, allocate - * or fail shard) that have not yet been executed. NOTE: This API returns a list - * of any pending updates to the cluster state. These are distinct from the - * tasks reported by the Task Management API which include periodic tasks and - * tasks initiated by the user, such as node stats, search queries, or create - * index requests. However, if a user-initiated task such as a create index - * command causes a cluster state update, the activity of this task might be - * reported by both task api and pending cluster tasks API. + * Get the pending cluster tasks. Get information about cluster-level changes + * (such as create index, update mapping, allocate or fail shard) that have not + * yet taken effect. + *

    + * NOTE: This API returns a list of any pending updates to the cluster state. + * These are distinct from the tasks reported by the task management API which + * include periodic tasks and tasks initiated by the user, such as node stats, + * search queries, or create index requests. However, if a user-initiated task + * such as a create index command causes a cluster state update, the activity of + * this task might be reported by both task api and pending cluster tasks API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PostVotingConfigExclusionsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PostVotingConfigExclusionsRequest.java index e4ac6af9e..f729d0b3c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PostVotingConfigExclusionsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PostVotingConfigExclusionsRequest.java @@ -61,7 +61,42 @@ // typedef: cluster.post_voting_config_exclusions.Request /** - * Updates the cluster voting config exclusions by node ids or node names. + * Update voting configuration exclusions. Update the cluster voting config + * exclusions by node IDs or node names. By default, if there are more than + * three master-eligible nodes in the cluster and you remove fewer than half of + * the master-eligible nodes in the cluster at once, the voting configuration + * automatically shrinks. If you want to shrink the voting configuration to + * contain fewer than three nodes or to remove half or more of the + * master-eligible nodes in the cluster at once, use this API to remove + * departing nodes from the voting configuration manually. The API adds an entry + * for each specified node to the cluster’s voting configuration exclusions + * list. It then waits until the cluster has reconfigured its voting + * configuration to exclude the specified nodes. + *

    + * Clusters should have no voting configuration exclusions in normal operation. + * Once the excluded nodes have stopped, clear the voting configuration + * exclusions with DELETE /_cluster/voting_config_exclusions. This + * API waits for the nodes to be fully removed from the cluster before it + * returns. If your cluster has voting configuration exclusions for nodes that + * you no longer intend to remove, use + * DELETE /_cluster/voting_config_exclusions?wait_for_removal=false + * to clear the voting configuration exclusions without waiting for the nodes to + * leave the cluster. + *

    + * A response to POST /_cluster/voting_config_exclusions with an + * HTTP status code of 200 OK guarantees that the node has been removed from the + * voting configuration and will not be reinstated until the voting + * configuration exclusions are cleared by calling + * DELETE /_cluster/voting_config_exclusions. If the call to + * POST /_cluster/voting_config_exclusions fails or returns a + * response with an HTTP status code other than 200 OK then the node may not + * have been removed from the voting configuration. In that case, you may safely + * retry the call. + *

    + * NOTE: Voting exclusions are required only when you remove at least half of + * the master-eligible nodes from a cluster in a short time period. They are not + * required when removing master-ineligible nodes or when removing fewer than + * half of the master-eligible nodes. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PutClusterSettingsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PutClusterSettingsRequest.java index c62cf1082..d1d0f6cfd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PutClusterSettingsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/PutClusterSettingsRequest.java @@ -61,7 +61,33 @@ // typedef: cluster.put_settings.Request /** - * Updates the cluster settings. + * Update the cluster settings. Configure and update dynamic settings on a + * running cluster. You can also configure dynamic settings locally on an + * unstarted or shut down node in elasticsearch.yml. + *

    + * Updates made with this API can be persistent, which apply across cluster + * restarts, or transient, which reset after a cluster restart. You can also + * reset transient or persistent settings by assigning them a null value. + *

    + * If you configure the same setting using multiple methods, Elasticsearch + * applies the settings in following order of precedence: 1) Transient setting; + * 2) Persistent setting; 3) elasticsearch.yml setting; 4) Default + * setting value. For example, you can apply a transient setting to override a + * persistent setting or elasticsearch.yml setting. However, a + * change to an elasticsearch.yml setting will not override a + * defined transient or persistent setting. + *

    + * TIP: In Elastic Cloud, use the user settings feature to configure all cluster + * settings. This method automatically rejects unsafe settings that could break + * your cluster. If you run Elasticsearch on your own hardware, use this API to + * configure dynamic cluster settings. Only use elasticsearch.yml + * for static cluster settings and node settings. The API doesn’t require a + * restart and ensures a setting’s value is the same on all nodes. + *

    + * WARNING: Transient cluster settings are no longer recommended. Use persistent + * cluster settings instead. If a cluster becomes unstable, transient settings + * can clear unexpectedly, resulting in a potentially undesired cluster + * configuration. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RemoteInfoRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RemoteInfoRequest.java index c804fee28..7fcef9eb8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RemoteInfoRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RemoteInfoRequest.java @@ -50,9 +50,9 @@ // typedef: cluster.remote_info.Request /** - * The cluster remote info API allows you to retrieve all of the configured - * remote cluster information. It returns connection and endpoint information - * keyed by the configured remote cluster alias. + * Get remote cluster information. Get all of the configured remote cluster + * information. This API returns connection and endpoint information keyed by + * the configured remote cluster alias. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RerouteRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RerouteRequest.java index c9a9570a0..1f63486bf 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RerouteRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/RerouteRequest.java @@ -63,7 +63,33 @@ // typedef: cluster.reroute.Request /** - * Allows to manually change the allocation of individual shards in the cluster. + * Reroute the cluster. Manually change the allocation of individual shards in + * the cluster. For example, a shard can be moved from one node to another + * explicitly, an allocation can be canceled, and an unassigned shard can be + * explicitly allocated to a specific node. + *

    + * It is important to note that after processing any reroute commands + * Elasticsearch will perform rebalancing as normal (respecting the values of + * settings such as cluster.routing.rebalance.enable) in order to + * remain in a balanced state. For example, if the requested allocation includes + * moving a shard from node1 to node2 then this may cause a shard to be moved + * from node2 back to node1 to even things out. + *

    + * The cluster can be set to disable allocations using the + * cluster.routing.allocation.enable setting. If allocations are + * disabled then the only allocations that will be performed are explicit ones + * given using the reroute command, and consequent allocations due to + * rebalancing. + *

    + * The cluster will attempt to allocate a shard a maximum of + * index.allocation.max_retries times in a row (defaults to + * 5), before giving up and leaving the shard unallocated. This + * scenario can be caused by structural problems such as having an analyzer + * which refers to a stopwords file which doesn’t exist on all nodes. + *

    + * Once the problem has been corrected, allocation can be manually retried by + * calling the reroute API with the ?retry_failed URI query + * parameter, which will attempt a single retry round for these shards. * * @see API * specification @@ -117,8 +143,10 @@ public final List commands() { } /** - * If true, then the request simulates the operation only and returns the - * resulting state. + * If true, then the request simulates the operation. It will calculate the + * result of applying the commands to the current cluster state and return the + * resulting cluster state after the commands (and rebalancing) have been + * applied; it will not actually perform the requested changes. *

    * API name: {@code dry_run} */ @@ -129,7 +157,7 @@ public final Boolean dryRun() { /** * If true, then the response contains an explanation of why the commands can or - * cannot be executed. + * cannot run. *

    * API name: {@code explain} */ @@ -268,8 +296,10 @@ public final Builder commands(Function> } /** - * If true, then the request simulates the operation only and returns the - * resulting state. + * If true, then the request simulates the operation. It will calculate the + * result of applying the commands to the current cluster state and return the + * resulting cluster state after the commands (and rebalancing) have been + * applied; it will not actually perform the requested changes. *

    * API name: {@code dry_run} */ @@ -280,7 +310,7 @@ public final Builder dryRun(@Nullable Boolean value) { /** * If true, then the response contains an explanation of why the commands can or - * cannot be executed. + * cannot run. *

    * API name: {@code explain} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/StateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/StateRequest.java index 2728396f3..9ffea0b2f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/StateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/cluster/StateRequest.java @@ -61,7 +61,36 @@ // typedef: cluster.state.Request /** - * Returns a comprehensive information about the state of the cluster. + * Get the cluster state. Get comprehensive information about the state of the + * cluster. + *

    + * The cluster state is an internal data structure which keeps track of a + * variety of information needed by every node, including the identity and + * attributes of the other nodes in the cluster; cluster-wide settings; index + * metadata, including the mapping and settings for each index; the location and + * status of every shard copy in the cluster. + *

    + * The elected master node ensures that every node in the cluster has a copy of + * the same cluster state. This API lets you retrieve a representation of this + * internal state for debugging or diagnostic purposes. You may need to consult + * the Elasticsearch source code to determine the precise meaning of the + * response. + *

    + * By default the API will route requests to the elected master node since this + * node is the authoritative source of cluster states. You can also retrieve the + * cluster state held on the node handling the API request by adding the + * ?local=true query parameter. + *

    + * Elasticsearch may need to expend significant effort to compute a response to + * this API in larger clusters, and the response may comprise a very large + * quantity of data. If you use this API repeatedly, your cluster may become + * unstable. + *

    + * WARNING: The response is a representation of an internal data structure. Its + * format is not subject to the same compatibility guarantees as other more + * stable APIs and may change from version to version. Do not query this API + * using external monitoring tools. Instead, obtain the information you require + * using other more stable cluster APIs. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java index 7b237e3a7..b81e9ab31 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java @@ -86,6 +86,9 @@ public class BulkRequest extends RequestBase implements NdJsonpSerializable, Jso @Nullable private final String index; + @Nullable + private final Boolean listExecutedPipelines; + @Nullable private final String pipeline; @@ -95,6 +98,9 @@ public class BulkRequest extends RequestBase implements NdJsonpSerializable, Jso @Nullable private final Boolean requireAlias; + @Nullable + private final Boolean requireDataStream; + @Nullable private final String routing; @@ -114,9 +120,11 @@ private BulkRequest(Builder builder) { this.sourceExcludes = ApiTypeHelper.unmodifiable(builder.sourceExcludes); this.sourceIncludes = ApiTypeHelper.unmodifiable(builder.sourceIncludes); this.index = builder.index; + this.listExecutedPipelines = builder.listExecutedPipelines; this.pipeline = builder.pipeline; this.refresh = builder.refresh; this.requireAlias = builder.requireAlias; + this.requireDataStream = builder.requireDataStream; this.routing = builder.routing; this.timeout = builder.timeout; this.waitForActiveShards = builder.waitForActiveShards; @@ -171,6 +179,17 @@ public final String index() { return this.index; } + /** + * If true, the response will include the ingest pipelines that + * were executed for each index or create. + *

    + * API name: {@code list_executed_pipelines} + */ + @Nullable + public final Boolean listExecutedPipelines() { + return this.listExecutedPipelines; + } + /** * ID of the pipeline to use to preprocess incoming documents. If the index has * a default ingest pipeline specified, then setting the value to @@ -209,6 +228,17 @@ public final Boolean requireAlias() { return this.requireAlias; } + /** + * If true, the request's actions must target a data stream + * (existing or to-be-created). + *

    + * API name: {@code require_data_stream} + */ + @Nullable + public final Boolean requireDataStream() { + return this.requireDataStream; + } + /** * Custom value used to route operations to a specific shard. *

    @@ -281,6 +311,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private String index; + @Nullable + private Boolean listExecutedPipelines; + @Nullable private String pipeline; @@ -290,6 +323,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Boolean requireAlias; + @Nullable + private Boolean requireDataStream; + @Nullable private String routing; @@ -380,6 +416,17 @@ public final Builder index(@Nullable String value) { return this; } + /** + * If true, the response will include the ingest pipelines that + * were executed for each index or create. + *

    + * API name: {@code list_executed_pipelines} + */ + public final Builder listExecutedPipelines(@Nullable Boolean value) { + this.listExecutedPipelines = value; + return this; + } + /** * ID of the pipeline to use to preprocess incoming documents. If the index has * a default ingest pipeline specified, then setting the value to @@ -418,6 +465,17 @@ public final Builder requireAlias(@Nullable Boolean value) { return this; } + /** + * If true, the request's actions must target a data stream + * (existing or to-be-created). + *

    + * API name: {@code require_data_stream} + */ + public final Builder requireDataStream(@Nullable Boolean value) { + this.requireDataStream = value; + return this; + } + /** * Custom value used to route operations to a specific shard. *

    @@ -605,6 +663,12 @@ public BulkRequest build() { params.put("_source_includes", request.sourceIncludes.stream().map(v -> v).collect(Collectors.joining(","))); } + if (request.requireDataStream != null) { + params.put("require_data_stream", String.valueOf(request.requireDataStream)); + } + if (request.listExecutedPipelines != null) { + params.put("list_executed_pipelines", String.valueOf(request.listExecutedPipelines)); + } if (request.timeout != null) { params.put("timeout", request.timeout._toJsonString()); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/HealthReportRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/HealthReportRequest.java index defa784dc..9d409bf66 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/HealthReportRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/HealthReportRequest.java @@ -60,7 +60,34 @@ // typedef: _global.health_report.Request /** - * Returns the health of the cluster. + * Get the cluster health. Get a report with the health status of an + * Elasticsearch cluster. The report contains a list of indicators that compose + * Elasticsearch functionality. + *

    + * Each indicator has a health status of: green, unknown, yellow or red. The + * indicator will provide an explanation and metadata describing the reason for + * its current health status. + *

    + * The cluster’s status is controlled by the worst indicator status. + *

    + * In the event that an indicator’s status is non-green, a list of impacts may + * be present in the indicator result which detail the functionalities that are + * negatively affected by the health issue. Each impact carries with it a + * severity level, an area of the system that is affected, and a simple + * description of the impact on the system. + *

    + * Some health indicators can determine the root cause of a health problem and + * prescribe a set of steps that can be performed in order to improve the health + * of the system. The root cause and remediation steps are encapsulated in a + * diagnosis. A diagnosis contains a cause detailing a root cause analysis, an + * action containing a brief description of the steps to take to fix the + * problem, the list of affected resources (if applicable), and a detailed + * step-by-step troubleshooting guide to fix the diagnosed problem. + *

    + * NOTE: The health indicators perform root cause analysis of non-green health + * statuses. This can be computationally expensive when called frequently. When + * setting up automated polling of the API for health status, set verbose to + * false to disable the more expensive analysis logic. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/PingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/PingRequest.java index 8c7213ad5..2a1edd3e6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/PingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/PingRequest.java @@ -52,7 +52,7 @@ // typedef: _global.ping.Request /** - * Ping the cluster. Returns whether the cluster is running. + * Ping the cluster. Get information about whether the cluster is running. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index 83473e9f6..38ab7e139 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -10,7 +10,7 @@ '_global.bulk.OperationBase': '_global/bulk/types.ts#L90-L107', '_global.bulk.OperationContainer': '_global/bulk/types.ts#L145-L167', '_global.bulk.OperationType': '_global/bulk/types.ts#L83-L88', -'_global.bulk.Request': '_global/bulk/BulkRequest.ts#L32-L105', +'_global.bulk.Request': '_global/bulk/BulkRequest.ts#L32-L115', '_global.bulk.Response': '_global/bulk/BulkResponse.ts#L24-L31', '_global.bulk.ResponseItem': '_global/bulk/types.ts#L37-L81', '_global.bulk.UpdateAction': '_global/bulk/types.ts#L169-L205', @@ -78,7 +78,7 @@ '_global.health_report.MasterIsStableIndicatorExceptionFetchingHistory': '_global/health_report/types.ts#L96-L99', '_global.health_report.RepositoryIntegrityIndicator': '_global/health_report/types.ts#L137-L141', '_global.health_report.RepositoryIntegrityIndicatorDetails': '_global/health_report/types.ts#L142-L146', -'_global.health_report.Request': '_global/health_report/Request.ts#L24-L52', +'_global.health_report.Request': '_global/health_report/Request.ts#L24-L70', '_global.health_report.Response': '_global/health_report/Response.ts#L22-L28', '_global.health_report.ShardsAvailabilityIndicator': '_global/health_report/types.ts#L106-L110', '_global.health_report.ShardsAvailabilityIndicatorDetails': '_global/health_report/types.ts#L111-L122', @@ -1102,39 +1102,39 @@ 'ccr._types.FollowIndexStats': 'ccr/_types/FollowIndexStats.ts#L30-L33', 'ccr._types.ReadException': 'ccr/_types/FollowIndexStats.ts#L71-L75', 'ccr._types.ShardStats': 'ccr/_types/FollowIndexStats.ts#L35-L69', -'ccr.delete_auto_follow_pattern.Request': 'ccr/delete_auto_follow_pattern/DeleteAutoFollowPatternRequest.ts#L23-L32', +'ccr.delete_auto_follow_pattern.Request': 'ccr/delete_auto_follow_pattern/DeleteAutoFollowPatternRequest.ts#L23-L35', 'ccr.delete_auto_follow_pattern.Response': 'ccr/delete_auto_follow_pattern/DeleteAutoFollowPatternResponse.ts#L22-L24', -'ccr.follow.Request': 'ccr/follow/CreateFollowIndexRequest.ts#L26-L110', +'ccr.follow.Request': 'ccr/follow/CreateFollowIndexRequest.ts#L26-L113', 'ccr.follow.Response': 'ccr/follow/CreateFollowIndexResponse.ts#L20-L26', 'ccr.follow_info.FollowerIndex': 'ccr/follow_info/types.ts#L24-L30', 'ccr.follow_info.FollowerIndexParameters': 'ccr/follow_info/types.ts#L37-L83', 'ccr.follow_info.FollowerIndexStatus': 'ccr/follow_info/types.ts#L32-L35', -'ccr.follow_info.Request': 'ccr/follow_info/FollowInfoRequest.ts#L23-L32', +'ccr.follow_info.Request': 'ccr/follow_info/FollowInfoRequest.ts#L23-L36', 'ccr.follow_info.Response': 'ccr/follow_info/FollowInfoResponse.ts#L22-L24', -'ccr.follow_stats.Request': 'ccr/follow_stats/FollowIndexStatsRequest.ts#L23-L32', +'ccr.follow_stats.Request': 'ccr/follow_stats/FollowIndexStatsRequest.ts#L23-L36', 'ccr.follow_stats.Response': 'ccr/follow_stats/FollowIndexStatsResponse.ts#L22-L24', -'ccr.forget_follower.Request': 'ccr/forget_follower/ForgetFollowerIndexRequest.ts#L23-L38', +'ccr.forget_follower.Request': 'ccr/forget_follower/ForgetFollowerIndexRequest.ts#L23-L51', 'ccr.forget_follower.Response': 'ccr/forget_follower/ForgetFollowerIndexResponse.ts#L22-L24', 'ccr.get_auto_follow_pattern.AutoFollowPattern': 'ccr/get_auto_follow_pattern/types.ts#L23-L26', 'ccr.get_auto_follow_pattern.AutoFollowPatternSummary': 'ccr/get_auto_follow_pattern/types.ts#L28-L52', -'ccr.get_auto_follow_pattern.Request': 'ccr/get_auto_follow_pattern/GetAutoFollowPatternRequest.ts#L23-L33', +'ccr.get_auto_follow_pattern.Request': 'ccr/get_auto_follow_pattern/GetAutoFollowPatternRequest.ts#L23-L36', 'ccr.get_auto_follow_pattern.Response': 'ccr/get_auto_follow_pattern/GetAutoFollowPatternResponse.ts#L22-L24', -'ccr.pause_auto_follow_pattern.Request': 'ccr/pause_auto_follow_pattern/PauseAutoFollowPatternRequest.ts#L23-L32', +'ccr.pause_auto_follow_pattern.Request': 'ccr/pause_auto_follow_pattern/PauseAutoFollowPatternRequest.ts#L23-L41', 'ccr.pause_auto_follow_pattern.Response': 'ccr/pause_auto_follow_pattern/PauseAutoFollowPatternResponse.ts#L22-L24', -'ccr.pause_follow.Request': 'ccr/pause_follow/PauseFollowIndexRequest.ts#L23-L32', +'ccr.pause_follow.Request': 'ccr/pause_follow/PauseFollowIndexRequest.ts#L23-L37', 'ccr.pause_follow.Response': 'ccr/pause_follow/PauseFollowIndexResponse.ts#L22-L24', -'ccr.put_auto_follow_pattern.Request': 'ccr/put_auto_follow_pattern/PutAutoFollowPatternRequest.ts#L27-L112', +'ccr.put_auto_follow_pattern.Request': 'ccr/put_auto_follow_pattern/PutAutoFollowPatternRequest.ts#L27-L120', 'ccr.put_auto_follow_pattern.Response': 'ccr/put_auto_follow_pattern/PutAutoFollowPatternResponse.ts#L22-L24', -'ccr.resume_auto_follow_pattern.Request': 'ccr/resume_auto_follow_pattern/ResumeAutoFollowPatternRequest.ts#L23-L32', +'ccr.resume_auto_follow_pattern.Request': 'ccr/resume_auto_follow_pattern/ResumeAutoFollowPatternRequest.ts#L23-L37', 'ccr.resume_auto_follow_pattern.Response': 'ccr/resume_auto_follow_pattern/ResumeAutoFollowPatternResponse.ts#L22-L24', -'ccr.resume_follow.Request': 'ccr/resume_follow/ResumeFollowIndexRequest.ts#L25-L46', +'ccr.resume_follow.Request': 'ccr/resume_follow/ResumeFollowIndexRequest.ts#L25-L52', 'ccr.resume_follow.Response': 'ccr/resume_follow/ResumeFollowIndexResponse.ts#L22-L24', 'ccr.stats.AutoFollowStats': 'ccr/stats/types.ts.ts#L32-L38', 'ccr.stats.AutoFollowedCluster': 'ccr/stats/types.ts.ts#L26-L30', 'ccr.stats.FollowStats': 'ccr/stats/types.ts.ts#L40-L42', -'ccr.stats.Request': 'ccr/stats/CcrStatsRequest.ts#L22-L27', +'ccr.stats.Request': 'ccr/stats/CcrStatsRequest.ts#L22-L29', 'ccr.stats.Response': 'ccr/stats/CcrStatsResponse.ts#L22-L27', -'ccr.unfollow.Request': 'ccr/unfollow/UnfollowIndexRequest.ts#L23-L32', +'ccr.unfollow.Request': 'ccr/unfollow/UnfollowIndexRequest.ts#L23-L39', 'ccr.unfollow.Response': 'ccr/unfollow/UnfollowIndexResponse.ts#L22-L24', 'cluster._types.ComponentTemplate': 'cluster/_types/ComponentTemplate.ts#L27-L30', 'cluster._types.ComponentTemplateNode': 'cluster/_types/ComponentTemplate.ts#L32-L37', @@ -1148,14 +1148,14 @@ 'cluster.allocation_explain.DiskUsage': 'cluster/allocation_explain/types.ts#L63-L70', 'cluster.allocation_explain.NodeAllocationExplanation': 'cluster/allocation_explain/types.ts#L103-L117', 'cluster.allocation_explain.NodeDiskUsage': 'cluster/allocation_explain/types.ts#L57-L61', -'cluster.allocation_explain.Request': 'cluster/allocation_explain/ClusterAllocationExplainRequest.ts#L24-L61', +'cluster.allocation_explain.Request': 'cluster/allocation_explain/ClusterAllocationExplainRequest.ts#L24-L66', 'cluster.allocation_explain.ReservedSize': 'cluster/allocation_explain/types.ts#L72-L77', 'cluster.allocation_explain.Response': 'cluster/allocation_explain/ClusterAllocationExplainResponse.ts#L32-L64', 'cluster.allocation_explain.UnassignedInformation': 'cluster/allocation_explain/types.ts#L128-L136', 'cluster.allocation_explain.UnassignedInformationReason': 'cluster/allocation_explain/types.ts#L138-L157', 'cluster.delete_component_template.Request': 'cluster/delete_component_template/ClusterDeleteComponentTemplateRequest.ts#L24-L56', 'cluster.delete_component_template.Response': 'cluster/delete_component_template/ClusterDeleteComponentTemplateResponse.ts#L22-L24', -'cluster.delete_voting_config_exclusions.Request': 'cluster/delete_voting_config_exclusions/ClusterDeleteVotingConfigExclusionsRequest.ts#L22-L40', +'cluster.delete_voting_config_exclusions.Request': 'cluster/delete_voting_config_exclusions/ClusterDeleteVotingConfigExclusionsRequest.ts#L22-L43', 'cluster.exists_component_template.Request': 'cluster/exists_component_template/ClusterComponentTemplateExistsRequest.ts#L24-L56', 'cluster.get_component_template.Request': 'cluster/get_component_template/ClusterGetComponentTemplateRequest.ts#L24-L67', 'cluster.get_component_template.Response': 'cluster/get_component_template/ClusterGetComponentTemplateResponse.ts#L22-L24', @@ -1163,18 +1163,18 @@ 'cluster.get_settings.Response': 'cluster/get_settings/ClusterGetSettingsResponse.ts#L23-L29', 'cluster.health.HealthResponseBody': 'cluster/health/ClusterHealthResponse.ts#L39-L74', 'cluster.health.IndexHealthStats': 'cluster/health/types.ts#L24-L35', -'cluster.health.Request': 'cluster/health/ClusterHealthRequest.ts#L32-L99', +'cluster.health.Request': 'cluster/health/ClusterHealthRequest.ts#L32-L107', 'cluster.health.Response': 'cluster/health/ClusterHealthResponse.ts#L26-L37', 'cluster.health.ShardHealthStats': 'cluster/health/types.ts#L37-L45', 'cluster.info.Request': 'cluster/info/ClusterInfoRequest.ts#L23-L36', 'cluster.info.Response': 'cluster/info/ClusterInfoResponse.ts#L26-L34', 'cluster.pending_tasks.PendingTask': 'cluster/pending_tasks/types.ts#L23-L47', -'cluster.pending_tasks.Request': 'cluster/pending_tasks/ClusterPendingTasksRequest.ts#L23-L48', +'cluster.pending_tasks.Request': 'cluster/pending_tasks/ClusterPendingTasksRequest.ts#L23-L50', 'cluster.pending_tasks.Response': 'cluster/pending_tasks/ClusterPendingTasksResponse.ts#L22-L24', -'cluster.post_voting_config_exclusions.Request': 'cluster/post_voting_config_exclusions/ClusterPostVotingConfigExclusionsRequest.ts#L24-L50', +'cluster.post_voting_config_exclusions.Request': 'cluster/post_voting_config_exclusions/ClusterPostVotingConfigExclusionsRequest.ts#L24-L69', 'cluster.put_component_template.Request': 'cluster/put_component_template/ClusterPutComponentTemplateRequest.ts#L25-L95', 'cluster.put_component_template.Response': 'cluster/put_component_template/ClusterPutComponentTemplateResponse.ts#L22-L24', -'cluster.put_settings.Request': 'cluster/put_settings/ClusterPutSettingsRequest.ts#L25-L43', +'cluster.put_settings.Request': 'cluster/put_settings/ClusterPutSettingsRequest.ts#L25-L61', 'cluster.put_settings.Response': 'cluster/put_settings/ClusterPutSettingsResponse.ts#L23-L29', 'cluster.remote_info.ClusterRemoteInfo': 'cluster/remote_info/ClusterRemoteInfoResponse.ts#L29-L30', 'cluster.remote_info.ClusterRemoteProxyInfo': 'cluster/remote_info/ClusterRemoteInfoResponse.ts#L42-L51', @@ -1186,12 +1186,12 @@ 'cluster.reroute.CommandAllocateReplicaAction': 'cluster/reroute/types.ts#L69-L76', 'cluster.reroute.CommandCancelAction': 'cluster/reroute/types.ts#L45-L50', 'cluster.reroute.CommandMoveAction': 'cluster/reroute/types.ts#L60-L67', -'cluster.reroute.Request': 'cluster/reroute/ClusterRerouteRequest.ts#L25-L70', +'cluster.reroute.Request': 'cluster/reroute/ClusterRerouteRequest.ts#L25-L85', 'cluster.reroute.RerouteDecision': 'cluster/reroute/types.ts#L86-L90', 'cluster.reroute.RerouteExplanation': 'cluster/reroute/types.ts#L92-L96', 'cluster.reroute.RerouteParameters': 'cluster/reroute/types.ts#L98-L105', 'cluster.reroute.Response': 'cluster/reroute/ClusterRerouteResponse.ts#L23-L34', -'cluster.state.Request': 'cluster/state/ClusterStateRequest.ts#L29-L56', +'cluster.state.Request': 'cluster/state/ClusterStateRequest.ts#L29-L75', 'cluster.state.Response': 'cluster/state/ClusterStateResponse.ts#L22-L29', 'cluster.stats.CharFilterTypes': 'cluster/stats/types.ts#L228-L261', 'cluster.stats.ClusterFileSystem': 'cluster/stats/types.ts#L34-L49', @@ -1352,9 +1352,9 @@ 'esql.query.Request': 'esql/query/QueryRequest.ts#L26-L91', 'esql.query.Response': 'esql/query/QueryResponse.ts#L22-L25', 'features._types.Feature': 'features/_types/Feature.ts#L20-L23', -'features.get_features.Request': 'features/get_features/GetFeaturesRequest.ts#L22-L26', +'features.get_features.Request': 'features/get_features/GetFeaturesRequest.ts#L22-L37', 'features.get_features.Response': 'features/get_features/GetFeaturesResponse.ts#L22-L26', -'features.reset_features.Request': 'features/reset_features/ResetFeaturesRequest.ts#L22-L27', +'features.reset_features.Request': 'features/reset_features/ResetFeaturesRequest.ts#L22-L44', 'features.reset_features.Response': 'features/reset_features/ResetFeaturesResponse.ts#L22-L26', 'fleet.search.Request': 'fleet/search/SearchRequest.ts#L54-L259', 'fleet.search.Response': 'fleet/search/SearchResponse.ts#L33-L50', @@ -1387,27 +1387,27 @@ 'ilm.explain_lifecycle.LifecycleExplainManaged': 'ilm/explain_lifecycle/types.ts#L26-L52', 'ilm.explain_lifecycle.LifecycleExplainPhaseExecution': 'ilm/explain_lifecycle/types.ts#L64-L68', 'ilm.explain_lifecycle.LifecycleExplainUnmanaged': 'ilm/explain_lifecycle/types.ts#L54-L57', -'ilm.explain_lifecycle.Request': 'ilm/explain_lifecycle/ExplainLifecycleRequest.ts#L24-L58', +'ilm.explain_lifecycle.Request': 'ilm/explain_lifecycle/ExplainLifecycleRequest.ts#L24-L62', 'ilm.explain_lifecycle.Response': 'ilm/explain_lifecycle/ExplainLifecycleResponse.ts#L24-L28', 'ilm.get_lifecycle.Lifecycle': 'ilm/get_lifecycle/types.ts#L24-L28', 'ilm.get_lifecycle.Request': 'ilm/get_lifecycle/GetLifecycleRequest.ts#L24-L50', 'ilm.get_lifecycle.Response': 'ilm/get_lifecycle/GetLifecycleResponse.ts#L23-L26', -'ilm.get_status.Request': 'ilm/get_status/GetIlmStatusRequest.ts#L22-L26', +'ilm.get_status.Request': 'ilm/get_status/GetIlmStatusRequest.ts#L22-L29', 'ilm.get_status.Response': 'ilm/get_status/GetIlmStatusResponse.ts#L22-L24', -'ilm.migrate_to_data_tiers.Request': 'ilm/migrate_to_data_tiers/Request.ts#L22-L43', +'ilm.migrate_to_data_tiers.Request': 'ilm/migrate_to_data_tiers/Request.ts#L22-L54', 'ilm.migrate_to_data_tiers.Response': 'ilm/migrate_to_data_tiers/Response.ts#L22-L32', -'ilm.move_to_step.Request': 'ilm/move_to_step/MoveToStepRequest.ts#L24-L36', +'ilm.move_to_step.Request': 'ilm/move_to_step/MoveToStepRequest.ts#L24-L51', 'ilm.move_to_step.Response': 'ilm/move_to_step/MoveToStepResponse.ts#L22-L24', 'ilm.move_to_step.StepKey': 'ilm/move_to_step/types.ts#L20-L25', -'ilm.put_lifecycle.Request': 'ilm/put_lifecycle/PutLifecycleRequest.ts#L25-L55', +'ilm.put_lifecycle.Request': 'ilm/put_lifecycle/PutLifecycleRequest.ts#L25-L59', 'ilm.put_lifecycle.Response': 'ilm/put_lifecycle/PutLifecycleResponse.ts#L22-L24', -'ilm.remove_policy.Request': 'ilm/remove_policy/RemovePolicyRequest.ts#L23-L31', +'ilm.remove_policy.Request': 'ilm/remove_policy/RemovePolicyRequest.ts#L23-L35', 'ilm.remove_policy.Response': 'ilm/remove_policy/RemovePolicyResponse.ts#L22-L27', -'ilm.retry.Request': 'ilm/retry/RetryIlmRequest.ts#L23-L31', +'ilm.retry.Request': 'ilm/retry/RetryIlmRequest.ts#L23-L36', 'ilm.retry.Response': 'ilm/retry/RetryIlmResponse.ts#L22-L24', -'ilm.start.Request': 'ilm/start/StartIlmRequest.ts#L23-L32', +'ilm.start.Request': 'ilm/start/StartIlmRequest.ts#L23-L37', 'ilm.start.Response': 'ilm/start/StartIlmResponse.ts#L22-L24', -'ilm.stop.Request': 'ilm/stop/StopIlmRequest.ts#L23-L32', +'ilm.stop.Request': 'ilm/stop/StopIlmRequest.ts#L23-L39', 'ilm.stop.Response': 'ilm/stop/StopIlmResponse.ts#L22-L24', 'indices._types.Alias': 'indices/_types/Alias.ts#L23-L53', 'indices._types.AliasDefinition': 'indices/_types/AliasDefinition.ts#L22-L54', @@ -1502,13 +1502,13 @@ 'indices.analyze.Request': 'indices/analyze/IndicesAnalyzeRequest.ts#L27-L93', 'indices.analyze.Response': 'indices/analyze/IndicesAnalyzeResponse.ts#L22-L27', 'indices.analyze.TokenDetail': 'indices/analyze/types.ts#L71-L74', -'indices.clear_cache.Request': 'indices/clear_cache/IndicesIndicesClearCacheRequest.ts#L23-L77', +'indices.clear_cache.Request': 'indices/clear_cache/IndicesIndicesClearCacheRequest.ts#L23-L78', 'indices.clear_cache.Response': 'indices/clear_cache/IndicesClearCacheResponse.ts#L22-L24', -'indices.clone.Request': 'indices/clone/IndicesCloneRequest.ts#L27-L75', +'indices.clone.Request': 'indices/clone/IndicesCloneRequest.ts#L27-L98', 'indices.clone.Response': 'indices/clone/IndicesCloneResponse.ts#L22-L28', 'indices.close.CloseIndexResult': 'indices/close/CloseIndexResponse.ts#L32-L35', 'indices.close.CloseShardResult': 'indices/close/CloseIndexResponse.ts#L37-L39', -'indices.close.Request': 'indices/close/CloseIndexRequest.ts#L24-L77', +'indices.close.Request': 'indices/close/CloseIndexRequest.ts#L24-L94', 'indices.close.Response': 'indices/close/CloseIndexResponse.ts#L24-L30', 'indices.create.Request': 'indices/create/IndicesCreateRequest.ts#L28-L82', 'indices.create.Response': 'indices/create/IndicesCreateResponse.ts#L22-L28', @@ -1529,9 +1529,9 @@ 'indices.delete_index_template.Response': 'indices/delete_index_template/IndicesDeleteIndexTemplateResponse.ts#L22-L24', 'indices.delete_template.Request': 'indices/delete_template/IndicesDeleteTemplateRequest.ts#L24-L52', 'indices.delete_template.Response': 'indices/delete_template/IndicesDeleteTemplateResponse.ts#L22-L24', -'indices.disk_usage.Request': 'indices/disk_usage/IndicesDiskUsageRequest.ts#L23-L71', +'indices.disk_usage.Request': 'indices/disk_usage/IndicesDiskUsageRequest.ts#L23-L74', 'indices.disk_usage.Response': 'indices/disk_usage/IndicesDiskUsageResponse.ts#L22-L25', -'indices.downsample.Request': 'indices/downsample/Request.ts#L24-L44', +'indices.downsample.Request': 'indices/downsample/Request.ts#L24-L51', 'indices.downsample.Response': 'indices/downsample/Response.ts#L22-L25', 'indices.exists.Request': 'indices/exists/IndicesExistsRequest.ts#L23-L73', 'indices.exists_alias.Request': 'indices/exists_alias/IndicesExistsAliasRequest.ts#L24-L70', @@ -1543,14 +1543,14 @@ 'indices.field_usage_stats.FieldSummary': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L57-L66', 'indices.field_usage_stats.FieldsUsageBody': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L32-L39', 'indices.field_usage_stats.InvertedIndex': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L68-L76', -'indices.field_usage_stats.Request': 'indices/field_usage_stats/IndicesFieldUsageStatsRequest.ts#L29-L84', +'indices.field_usage_stats.Request': 'indices/field_usage_stats/IndicesFieldUsageStatsRequest.ts#L29-L87', 'indices.field_usage_stats.Response': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L28-L30', 'indices.field_usage_stats.ShardsStats': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L52-L55', 'indices.field_usage_stats.UsageStatsIndex': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L41-L43', 'indices.field_usage_stats.UsageStatsShards': 'indices/field_usage_stats/IndicesFieldUsageStatsResponse.ts#L45-L50', -'indices.flush.Request': 'indices/flush/IndicesFlushRequest.ts#L23-L71', +'indices.flush.Request': 'indices/flush/IndicesFlushRequest.ts#L23-L81', 'indices.flush.Response': 'indices/flush/IndicesFlushResponse.ts#L22-L24', -'indices.forcemerge.Request': 'indices/forcemerge/IndicesForceMergeRequest.ts#L24-L42', +'indices.forcemerge.Request': 'indices/forcemerge/IndicesForceMergeRequest.ts#L24-L56', 'indices.forcemerge.Response': 'indices/forcemerge/IndicesForceMergeResponse.ts#L22-L24', 'indices.forcemerge._types.ForceMergeResponseBody': 'indices/forcemerge/_types/response.ts#L22-L28', 'indices.get.Feature': 'indices/get/IndicesGetRequest.ts#L91-L95', @@ -1585,7 +1585,7 @@ 'indices.modify_data_stream.Response': 'indices/modify_data_stream/IndicesModifyDataStreamResponse.ts#L22-L24', 'indices.open.Request': 'indices/open/IndicesOpenRequest.ts#L24-L82', 'indices.open.Response': 'indices/open/IndicesOpenResponse.ts#L20-L25', -'indices.promote_data_stream.Request': 'indices/promote_data_stream/IndicesPromoteDataStreamRequest.ts#L24-L39', +'indices.promote_data_stream.Request': 'indices/promote_data_stream/IndicesPromoteDataStreamRequest.ts#L24-L50', 'indices.promote_data_stream.Response': 'indices/promote_data_stream/IndicesPromoteDataStreamResponse.ts#L22-L25', 'indices.put_alias.Request': 'indices/put_alias/IndicesPutAliasRequest.ts#L25-L92', 'indices.put_alias.Response': 'indices/put_alias/IndicesPutAliasResponse.ts#L22-L24', @@ -1598,7 +1598,7 @@ 'indices.put_mapping.Response': 'indices/put_mapping/IndicesPutMappingResponse.ts#L22-L24', 'indices.put_settings.Request': 'indices/put_settings/IndicesPutSettingsRequest.ts#L25-L93', 'indices.put_settings.Response': 'indices/put_settings/IndicesPutSettingsResponse.ts#L22-L24', -'indices.put_template.Request': 'indices/put_template/IndicesPutTemplateRequest.ts#L29-L94', +'indices.put_template.Request': 'indices/put_template/IndicesPutTemplateRequest.ts#L29-L106', 'indices.put_template.Response': 'indices/put_template/IndicesPutTemplateResponse.ts#L22-L24', 'indices.recovery.FileDetails': 'indices/recovery/types.ts#L50-L54', 'indices.recovery.RecoveryBytes': 'indices/recovery/types.ts#L38-L48', @@ -1607,7 +1607,7 @@ 'indices.recovery.RecoveryOrigin': 'indices/recovery/types.ts#L76-L89', 'indices.recovery.RecoveryStartStatus': 'indices/recovery/types.ts#L91-L96', 'indices.recovery.RecoveryStatus': 'indices/recovery/types.ts#L98-L100', -'indices.recovery.Request': 'indices/recovery/IndicesRecoveryRequest.ts#L23-L51', +'indices.recovery.Request': 'indices/recovery/IndicesRecoveryRequest.ts#L23-L70', 'indices.recovery.Response': 'indices/recovery/IndicesRecoveryResponse.ts#L24-L27', 'indices.recovery.ShardRecovery': 'indices/recovery/types.ts#L118-L135', 'indices.recovery.TranslogStatus': 'indices/recovery/types.ts#L102-L109', @@ -1616,9 +1616,9 @@ 'indices.refresh.Response': 'indices/refresh/IndicesRefreshResponse.ts#L22-L24', 'indices.reload_search_analyzers.ReloadDetails': 'indices/reload_search_analyzers/types.ts#L27-L31', 'indices.reload_search_analyzers.ReloadResult': 'indices/reload_search_analyzers/types.ts#L22-L25', -'indices.reload_search_analyzers.Request': 'indices/reload_search_analyzers/ReloadSearchAnalyzersRequest.ts#L23-L36', +'indices.reload_search_analyzers.Request': 'indices/reload_search_analyzers/ReloadSearchAnalyzersRequest.ts#L23-L51', 'indices.reload_search_analyzers.Response': 'indices/reload_search_analyzers/ReloadSearchAnalyzersResponse.ts#L22-L24', -'indices.resolve_cluster.Request': 'indices/resolve_cluster/ResolveClusterRequest.ts#L23-L62', +'indices.resolve_cluster.Request': 'indices/resolve_cluster/ResolveClusterRequest.ts#L23-L76', 'indices.resolve_cluster.ResolveClusterInfo': 'indices/resolve_cluster/ResolveClusterResponse.ts#L29-L55', 'indices.resolve_cluster.Response': 'indices/resolve_cluster/ResolveClusterResponse.ts#L24-L27', 'indices.resolve_index.Request': 'indices/resolve_index/ResolveIndexRequest.ts#L23-L61', @@ -1630,13 +1630,13 @@ 'indices.rollover.Response': 'indices/rollover/IndicesRolloverResponse.ts#L22-L32', 'indices.rollover.RolloverConditions': 'indices/rollover/types.ts#L24-L40', 'indices.segments.IndexSegment': 'indices/segments/types.ts#L24-L26', -'indices.segments.Request': 'indices/segments/IndicesSegmentsRequest.ts#L23-L59', +'indices.segments.Request': 'indices/segments/IndicesSegmentsRequest.ts#L23-L61', 'indices.segments.Response': 'indices/segments/IndicesSegmentsResponse.ts#L24-L29', 'indices.segments.Segment': 'indices/segments/types.ts#L28-L38', 'indices.segments.ShardSegmentRouting': 'indices/segments/types.ts#L40-L44', 'indices.segments.ShardsSegment': 'indices/segments/types.ts#L46-L51', 'indices.shard_stores.IndicesShardStores': 'indices/shard_stores/types.ts#L25-L27', -'indices.shard_stores.Request': 'indices/shard_stores/IndicesShardStoresRequest.ts#L24-L60', +'indices.shard_stores.Request': 'indices/shard_stores/IndicesShardStoresRequest.ts#L24-L71', 'indices.shard_stores.Response': 'indices/shard_stores/IndicesShardStoresResponse.ts#L24-L26', 'indices.shard_stores.ShardStore': 'indices/shard_stores/types.ts#L29-L36', 'indices.shard_stores.ShardStoreAllocation': 'indices/shard_stores/types.ts#L47-L51', @@ -1644,7 +1644,7 @@ 'indices.shard_stores.ShardStoreNode': 'indices/shard_stores/types.ts#L38-L45', 'indices.shard_stores.ShardStoreStatus': 'indices/shard_stores/types.ts#L62-L71', 'indices.shard_stores.ShardStoreWrapper': 'indices/shard_stores/types.ts#L58-L60', -'indices.shrink.Request': 'indices/shrink/IndicesShrinkRequest.ts#L27-L75', +'indices.shrink.Request': 'indices/shrink/IndicesShrinkRequest.ts#L27-L107', 'indices.shrink.Response': 'indices/shrink/IndicesShrinkResponse.ts#L22-L28', 'indices.simulate_index_template.Request': 'indices/simulate_index_template/IndicesSimulateIndexTemplateRequest.ts#L24-L50', 'indices.simulate_index_template.Response': 'indices/simulate_index_template/IndicesSimulateIndexTemplateResponse.ts#L25-L30', @@ -1652,13 +1652,13 @@ 'indices.simulate_template.Request': 'indices/simulate_template/IndicesSimulateTemplateRequest.ts#L27-L120', 'indices.simulate_template.Response': 'indices/simulate_template/IndicesSimulateTemplateResponse.ts#L26-L31', 'indices.simulate_template.Template': 'indices/simulate_template/IndicesSimulateTemplateResponse.ts#L33-L37', -'indices.split.Request': 'indices/split/IndicesSplitRequest.ts#L27-L74', +'indices.split.Request': 'indices/split/IndicesSplitRequest.ts#L27-L98', 'indices.split.Response': 'indices/split/IndicesSplitResponse.ts#L22-L28', 'indices.stats.IndexMetadataState': 'indices/stats/types.ts#L225-L232', 'indices.stats.IndexStats': 'indices/stats/types.ts#L52-L93', 'indices.stats.IndicesStats': 'indices/stats/types.ts#L95-L110', 'indices.stats.MappingStats': 'indices/stats/types.ts#L186-L190', -'indices.stats.Request': 'indices/stats/IndicesStatsRequest.ts#L29-L85', +'indices.stats.Request': 'indices/stats/IndicesStatsRequest.ts#L29-L94', 'indices.stats.Response': 'indices/stats/IndicesStatsResponse.ts#L24-L30', 'indices.stats.ShardCommit': 'indices/stats/types.ts#L112-L117', 'indices.stats.ShardFileSizeInfo': 'indices/stats/types.ts#L124-L131', @@ -1671,7 +1671,7 @@ 'indices.stats.ShardSequenceNumber': 'indices/stats/types.ts#L176-L180', 'indices.stats.ShardStats': 'indices/stats/types.ts#L192-L223', 'indices.stats.ShardsTotalStats': 'indices/stats/types.ts#L182-L184', -'indices.unfreeze.Request': 'indices/unfreeze/IndicesUnfreezeRequest.ts#L24-L75', +'indices.unfreeze.Request': 'indices/unfreeze/IndicesUnfreezeRequest.ts#L24-L77', 'indices.unfreeze.Response': 'indices/unfreeze/IndicesUnfreezeResponse.ts#L20-L25', 'indices.update_aliases.Action': 'indices/update_aliases/types.ts#L23-L39', 'indices.update_aliases.AddAction': 'indices/update_aliases/types.ts#L41-L95', @@ -1698,7 +1698,7 @@ 'inference.get.Response': 'inference/get/GetResponse.ts#L22-L26', 'inference.inference.Request': 'inference/inference/InferenceRequest.ts#L26-L66', 'inference.inference.Response': 'inference/inference/InferenceResponse.ts#L22-L24', -'inference.put.Request': 'inference/put/PutRequest.ts#L25-L44', +'inference.put.Request': 'inference/put/PutRequest.ts#L25-L54', 'inference.put.Response': 'inference/put/PutResponse.ts#L22-L24', 'ingest._types.AppendProcessor': 'ingest/_types/Processors.ts#L328-L343', 'ingest._types.AttachmentProcessor': 'ingest/_types/Processors.ts#L345-L386', @@ -1791,41 +1791,42 @@ 'license._types.License': 'license/_types/License.ts#L42-L53', 'license._types.LicenseStatus': 'license/_types/License.ts#L35-L40', 'license._types.LicenseType': 'license/_types/License.ts#L23-L33', -'license.delete.Request': 'license/delete/DeleteLicenseRequest.ts#L22-L26', +'license.delete.Request': 'license/delete/DeleteLicenseRequest.ts#L22-L32', 'license.delete.Response': 'license/delete/DeleteLicenseResponse.ts#L22-L24', 'license.get.LicenseInformation': 'license/get/types.ts#L25-L38', -'license.get.Request': 'license/get/GetLicenseRequest.ts#L22-L45', +'license.get.Request': 'license/get/GetLicenseRequest.ts#L22-L47', 'license.get.Response': 'license/get/GetLicenseResponse.ts#L22-L24', -'license.get_basic_status.Request': 'license/get_basic_status/GetBasicLicenseStatusRequest.ts#L22-L26', +'license.get_basic_status.Request': 'license/get_basic_status/GetBasicLicenseStatusRequest.ts#L22-L28', 'license.get_basic_status.Response': 'license/get_basic_status/GetBasicLicenseStatusResponse.ts#L20-L22', -'license.get_trial_status.Request': 'license/get_trial_status/GetTrialLicenseStatusRequest.ts#L22-L26', +'license.get_trial_status.Request': 'license/get_trial_status/GetTrialLicenseStatusRequest.ts#L22-L28', 'license.get_trial_status.Response': 'license/get_trial_status/GetTrialLicenseStatusResponse.ts#L20-L22', 'license.post.Acknowledgement': 'license/post/types.ts#L20-L23', -'license.post.Request': 'license/post/PostLicenseRequest.ts#L23-L43', +'license.post.Request': 'license/post/PostLicenseRequest.ts#L23-L51', 'license.post.Response': 'license/post/PostLicenseResponse.ts#L23-L29', -'license.post_start_basic.Request': 'license/post_start_basic/StartBasicLicenseRequest.ts#L22-L32', +'license.post_start_basic.Request': 'license/post_start_basic/StartBasicLicenseRequest.ts#L22-L40', 'license.post_start_basic.Response': 'license/post_start_basic/StartBasicLicenseResponse.ts#L23-L31', -'license.post_start_trial.Request': 'license/post_start_trial/StartTrialLicenseRequest.ts#L22-L33', +'license.post_start_trial.Request': 'license/post_start_trial/StartTrialLicenseRequest.ts#L22-L39', 'license.post_start_trial.Response': 'license/post_start_trial/StartTrialLicenseResponse.ts#L22-L29', -'logstash._types.Pipeline': 'logstash/_types/Pipeline.ts#L60-L92', +'logstash._types.Pipeline': 'logstash/_types/Pipeline.ts#L60-L91', 'logstash._types.PipelineMetadata': 'logstash/_types/Pipeline.ts#L23-L26', 'logstash._types.PipelineSettings': 'logstash/_types/Pipeline.ts#L28-L59', -'logstash.delete_pipeline.Request': 'logstash/delete_pipeline/LogstashDeletePipelineRequest.ts#L23-L37', -'logstash.get_pipeline.Request': 'logstash/get_pipeline/LogstashGetPipelineRequest.ts#L23-L37', +'logstash.delete_pipeline.Request': 'logstash/delete_pipeline/LogstashDeletePipelineRequest.ts#L23-L40', +'logstash.get_pipeline.Request': 'logstash/get_pipeline/LogstashGetPipelineRequest.ts#L23-L40', 'logstash.get_pipeline.Response': 'logstash/get_pipeline/LogstashGetPipelineResponse.ts#L24-L27', -'logstash.put_pipeline.Request': 'logstash/put_pipeline/LogstashPutPipelineRequest.ts#L24-L39', +'logstash.put_pipeline.Request': 'logstash/put_pipeline/LogstashPutPipelineRequest.ts#L24-L44', 'migration.deprecations.Deprecation': 'migration/deprecations/types.ts#L32-L40', 'migration.deprecations.DeprecationLevel': 'migration/deprecations/types.ts#L23-L30', -'migration.deprecations.Request': 'migration/deprecations/DeprecationInfoRequest.ts#L23-L32', +'migration.deprecations.Request': 'migration/deprecations/DeprecationInfoRequest.ts#L23-L37', 'migration.deprecations.Response': 'migration/deprecations/DeprecationInfoResponse.ts#L23-L31', 'migration.get_feature_upgrade_status.MigrationFeature': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L37-L42', 'migration.get_feature_upgrade_status.MigrationFeatureIndexInfo': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L44-L48', 'migration.get_feature_upgrade_status.MigrationStatus': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L30-L35', -'migration.get_feature_upgrade_status.Request': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusRequest.ts#L22-L27', +'migration.get_feature_upgrade_status.Request': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusRequest.ts#L22-L34', 'migration.get_feature_upgrade_status.Response': 'migration/get_feature_upgrade_status/GetFeatureUpgradeStatusResponse.ts#L23-L28', 'migration.post_feature_upgrade.MigrationFeature': 'migration/post_feature_upgrade/PostFeatureUpgradeResponse.ts#L27-L29', -'migration.post_feature_upgrade.Request': 'migration/post_feature_upgrade/PostFeatureUpgradeRequest.ts#L22-L27', +'migration.post_feature_upgrade.Request': 'migration/post_feature_upgrade/PostFeatureUpgradeRequest.ts#L22-L35', 'migration.post_feature_upgrade.Response': 'migration/post_feature_upgrade/PostFeatureUpgradeResponse.ts#L20-L25', +'ml._types.AdaptiveAllocationsSettings': 'ml/_types/TrainedModel.ts#L109-L113', 'ml._types.AnalysisConfig': 'ml/_types/Analysis.ts#L29-L77', 'ml._types.AnalysisConfigRead': 'ml/_types/Analysis.ts#L79-L148', 'ml._types.AnalysisLimits': 'ml/_types/Analysis.ts#L161-L172', @@ -1840,46 +1841,47 @@ 'ml._types.CalendarEvent': 'ml/_types/CalendarEvent.ts#L24-L44', 'ml._types.CategorizationAnalyzer': 'ml/_types/Analysis.ts#L181-L182', 'ml._types.CategorizationAnalyzerDefinition': 'ml/_types/Analysis.ts#L184-L198', -'ml._types.CategorizationStatus': 'ml/_types/Model.ts#L83-L86', +'ml._types.CategorizationStatus': 'ml/_types/Model.ts#L84-L87', 'ml._types.Category': 'ml/_types/Category.ts#L23-L49', -'ml._types.ChunkingConfig': 'ml/_types/Datafeed.ts#L241-L254', -'ml._types.ChunkingMode': 'ml/_types/Datafeed.ts#L235-L239', +'ml._types.ChunkingConfig': 'ml/_types/Datafeed.ts#L251-L264', +'ml._types.ChunkingMode': 'ml/_types/Datafeed.ts#L245-L249', 'ml._types.ClassificationInferenceOptions': 'ml/_types/inference.ts#L93-L108', +'ml._types.CommonTokenizationConfig': 'ml/_types/inference.ts#L133-L159', 'ml._types.ConditionOperator': 'ml/_types/Rule.ts#L74-L79', 'ml._types.DataCounts': 'ml/_types/Job.ts#L352-L372', 'ml._types.DataDescription': 'ml/_types/Job.ts#L374-L390', -'ml._types.Datafeed': 'ml/_types/Datafeed.ts#L36-L60', +'ml._types.Datafeed': 'ml/_types/Datafeed.ts#L37-L61', 'ml._types.DatafeedAuthorization': 'ml/_types/Authorization.ts#L31-L43', -'ml._types.DatafeedConfig': 'ml/_types/Datafeed.ts#L62-L119', -'ml._types.DatafeedRunningState': 'ml/_types/Datafeed.ts#L200-L214', -'ml._types.DatafeedState': 'ml/_types/Datafeed.ts#L135-L140', -'ml._types.DatafeedStats': 'ml/_types/Datafeed.ts#L142-L171', -'ml._types.DatafeedTimingStats': 'ml/_types/Datafeed.ts#L173-L198', -'ml._types.DataframeAnalysis': 'ml/_types/DataframeAnalytics.ts#L133-L212', -'ml._types.DataframeAnalysisAnalyzedFields': 'ml/_types/DataframeAnalytics.ts#L237-L243', -'ml._types.DataframeAnalysisClassification': 'ml/_types/DataframeAnalytics.ts#L226-L235', -'ml._types.DataframeAnalysisContainer': 'ml/_types/DataframeAnalytics.ts#L83-L100', -'ml._types.DataframeAnalysisFeatureProcessor': 'ml/_types/DataframeAnalytics.ts#L245-L257', -'ml._types.DataframeAnalysisFeatureProcessorFrequencyEncoding': 'ml/_types/DataframeAnalytics.ts#L259-L266', -'ml._types.DataframeAnalysisFeatureProcessorMultiEncoding': 'ml/_types/DataframeAnalytics.ts#L268-L271', -'ml._types.DataframeAnalysisFeatureProcessorNGramEncoding': 'ml/_types/DataframeAnalytics.ts#L273-L285', -'ml._types.DataframeAnalysisFeatureProcessorOneHotEncoding': 'ml/_types/DataframeAnalytics.ts#L287-L292', -'ml._types.DataframeAnalysisFeatureProcessorTargetMeanEncoding': 'ml/_types/DataframeAnalytics.ts#L294-L303', -'ml._types.DataframeAnalysisOutlierDetection': 'ml/_types/DataframeAnalytics.ts#L102-L131', -'ml._types.DataframeAnalysisRegression': 'ml/_types/DataframeAnalytics.ts#L214-L224', -'ml._types.DataframeAnalytics': 'ml/_types/DataframeAnalytics.ts#L323-L343', +'ml._types.DatafeedConfig': 'ml/_types/Datafeed.ts#L63-L120', +'ml._types.DatafeedRunningState': 'ml/_types/Datafeed.ts#L210-L224', +'ml._types.DatafeedState': 'ml/_types/Datafeed.ts#L136-L141', +'ml._types.DatafeedStats': 'ml/_types/Datafeed.ts#L143-L172', +'ml._types.DatafeedTimingStats': 'ml/_types/Datafeed.ts#L174-L202', +'ml._types.DataframeAnalysis': 'ml/_types/DataframeAnalytics.ts#L134-L213', +'ml._types.DataframeAnalysisAnalyzedFields': 'ml/_types/DataframeAnalytics.ts#L238-L244', +'ml._types.DataframeAnalysisClassification': 'ml/_types/DataframeAnalytics.ts#L227-L236', +'ml._types.DataframeAnalysisContainer': 'ml/_types/DataframeAnalytics.ts#L84-L101', +'ml._types.DataframeAnalysisFeatureProcessor': 'ml/_types/DataframeAnalytics.ts#L246-L258', +'ml._types.DataframeAnalysisFeatureProcessorFrequencyEncoding': 'ml/_types/DataframeAnalytics.ts#L260-L267', +'ml._types.DataframeAnalysisFeatureProcessorMultiEncoding': 'ml/_types/DataframeAnalytics.ts#L269-L272', +'ml._types.DataframeAnalysisFeatureProcessorNGramEncoding': 'ml/_types/DataframeAnalytics.ts#L274-L286', +'ml._types.DataframeAnalysisFeatureProcessorOneHotEncoding': 'ml/_types/DataframeAnalytics.ts#L288-L293', +'ml._types.DataframeAnalysisFeatureProcessorTargetMeanEncoding': 'ml/_types/DataframeAnalytics.ts#L295-L304', +'ml._types.DataframeAnalysisOutlierDetection': 'ml/_types/DataframeAnalytics.ts#L103-L132', +'ml._types.DataframeAnalysisRegression': 'ml/_types/DataframeAnalytics.ts#L215-L225', +'ml._types.DataframeAnalytics': 'ml/_types/DataframeAnalytics.ts#L325-L345', 'ml._types.DataframeAnalyticsAuthorization': 'ml/_types/Authorization.ts#L45-L57', -'ml._types.DataframeAnalyticsDestination': 'ml/_types/DataframeAnalytics.ts#L76-L81', -'ml._types.DataframeAnalyticsFieldSelection': 'ml/_types/DataframeAnalytics.ts#L54-L67', -'ml._types.DataframeAnalyticsMemoryEstimation': 'ml/_types/DataframeAnalytics.ts#L69-L74', -'ml._types.DataframeAnalyticsSource': 'ml/_types/DataframeAnalytics.ts#L38-L52', -'ml._types.DataframeAnalyticsStatsContainer': 'ml/_types/DataframeAnalytics.ts#L372-L380', -'ml._types.DataframeAnalyticsStatsDataCounts': 'ml/_types/DataframeAnalytics.ts#L363-L370', -'ml._types.DataframeAnalyticsStatsHyperparameters': 'ml/_types/DataframeAnalytics.ts#L382-L401', -'ml._types.DataframeAnalyticsStatsMemoryUsage': 'ml/_types/DataframeAnalytics.ts#L352-L361', -'ml._types.DataframeAnalyticsStatsOutlierDetection': 'ml/_types/DataframeAnalytics.ts#L403-L416', -'ml._types.DataframeAnalyticsStatsProgress': 'ml/_types/DataframeAnalytics.ts#L345-L350', -'ml._types.DataframeAnalyticsSummary': 'ml/_types/DataframeAnalytics.ts#L305-L321', +'ml._types.DataframeAnalyticsDestination': 'ml/_types/DataframeAnalytics.ts#L77-L82', +'ml._types.DataframeAnalyticsFieldSelection': 'ml/_types/DataframeAnalytics.ts#L55-L68', +'ml._types.DataframeAnalyticsMemoryEstimation': 'ml/_types/DataframeAnalytics.ts#L70-L75', +'ml._types.DataframeAnalyticsSource': 'ml/_types/DataframeAnalytics.ts#L39-L53', +'ml._types.DataframeAnalyticsStatsContainer': 'ml/_types/DataframeAnalytics.ts#L374-L382', +'ml._types.DataframeAnalyticsStatsDataCounts': 'ml/_types/DataframeAnalytics.ts#L365-L372', +'ml._types.DataframeAnalyticsStatsHyperparameters': 'ml/_types/DataframeAnalytics.ts#L384-L403', +'ml._types.DataframeAnalyticsStatsMemoryUsage': 'ml/_types/DataframeAnalytics.ts#L354-L363', +'ml._types.DataframeAnalyticsStatsOutlierDetection': 'ml/_types/DataframeAnalytics.ts#L405-L418', +'ml._types.DataframeAnalyticsStatsProgress': 'ml/_types/DataframeAnalytics.ts#L347-L352', +'ml._types.DataframeAnalyticsSummary': 'ml/_types/DataframeAnalytics.ts#L306-L323', 'ml._types.DataframeEvaluationClassification': 'ml/_types/DataframeEvaluation.ts#L35-L44', 'ml._types.DataframeEvaluationClassificationMetrics': 'ml/_types/DataframeEvaluation.ts#L73-L78', 'ml._types.DataframeEvaluationClassificationMetricsAucRoc': 'ml/_types/DataframeEvaluation.ts#L85-L90', @@ -1892,26 +1894,29 @@ 'ml._types.DataframeEvaluationRegressionMetricsHuber': 'ml/_types/DataframeEvaluation.ts#L117-L120', 'ml._types.DataframeEvaluationRegressionMetricsMsle': 'ml/_types/DataframeEvaluation.ts#L112-L115', 'ml._types.DataframeState': 'ml/_types/Dataframe.ts#L20-L26', -'ml._types.DelayedDataCheckConfig': 'ml/_types/Datafeed.ts#L121-L132', -'ml._types.DeploymentAllocationState': 'ml/_types/TrainedModel.ts#L273-L286', -'ml._types.DeploymentAssignmentState': 'ml/_types/TrainedModel.ts#L288-L305', +'ml._types.DelayedDataCheckConfig': 'ml/_types/Datafeed.ts#L122-L133', +'ml._types.DeploymentAllocationState': 'ml/_types/TrainedModel.ts#L318-L331', +'ml._types.DeploymentAssignmentState': 'ml/_types/TrainedModel.ts#L333-L350', 'ml._types.DetectionRule': 'ml/_types/Rule.ts#L25-L39', 'ml._types.Detector': 'ml/_types/Detector.ts#L25-L67', 'ml._types.DetectorRead': 'ml/_types/Detector.ts#L69-L125', -'ml._types.DiscoveryNode': 'ml/_types/DiscoveryNode.ts#L24-L30', -'ml._types.ExcludeFrequent': 'ml/_types/Detector.ts#L127-L132', -'ml._types.FillMaskInferenceOptions': 'ml/_types/inference.ts#L266-L280', -'ml._types.FillMaskInferenceUpdateOptions': 'ml/_types/inference.ts#L411-L418', +'ml._types.DetectorUpdate': 'ml/_types/Detector.ts#L127-L143', +'ml._types.DiscoveryNodeCompact': 'ml/_types/DiscoveryNode.ts#L39-L48', +'ml._types.DiscoveryNodeContent': 'ml/_types/DiscoveryNode.ts#L27-L37', +'ml._types.ExcludeFrequent': 'ml/_types/Detector.ts#L145-L150', +'ml._types.ExponentialAverageCalculationContext': 'ml/_types/Datafeed.ts#L204-L208', +'ml._types.FillMaskInferenceOptions': 'ml/_types/inference.ts#L253-L268', +'ml._types.FillMaskInferenceUpdateOptions': 'ml/_types/inference.ts#L399-L406', 'ml._types.Filter': 'ml/_types/Filter.ts#L22-L29', 'ml._types.FilterRef': 'ml/_types/Filter.ts#L31-L41', 'ml._types.FilterType': 'ml/_types/Filter.ts#L43-L46', 'ml._types.GeoResults': 'ml/_types/Anomaly.ts#L145-L154', -'ml._types.Hyperparameter': 'ml/_types/TrainedModel.ts#L216-L230', -'ml._types.Hyperparameters': 'ml/_types/DataframeAnalytics.ts#L418-L524', +'ml._types.Hyperparameter': 'ml/_types/TrainedModel.ts#L261-L275', +'ml._types.Hyperparameters': 'ml/_types/DataframeAnalytics.ts#L420-L526', 'ml._types.Include': 'ml/_types/Include.ts#L20-L47', 'ml._types.InferenceConfigCreateContainer': 'ml/_types/inference.ts#L23-L80', -'ml._types.InferenceConfigUpdateContainer': 'ml/_types/inference.ts#L296-L318', -'ml._types.InferenceResponseResult': 'ml/_types/inference.ts#L459-L507', +'ml._types.InferenceConfigUpdateContainer': 'ml/_types/inference.ts#L284-L306', +'ml._types.InferenceResponseResult': 'ml/_types/inference.ts#L447-L495', 'ml._types.Influence': 'ml/_types/Anomaly.ts#L140-L143', 'ml._types.Influencer': 'ml/_types/Influencer.ts#L24-L76', 'ml._types.Job': 'ml/_types/Job.ts#L61-L180', @@ -1923,69 +1928,70 @@ 'ml._types.JobStatistics': 'ml/_types/Job.ts#L54-L59', 'ml._types.JobStats': 'ml/_types/Job.ts#L284-L330', 'ml._types.JobTimingStats': 'ml/_types/Job.ts#L332-L341', -'ml._types.MemoryStatus': 'ml/_types/Model.ts#L88-L92', +'ml._types.MemoryStatus': 'ml/_types/Model.ts#L89-L93', +'ml._types.ModelPackageConfig': 'ml/_types/TrainedModel.ts#L244-L259', 'ml._types.ModelPlotConfig': 'ml/_types/ModelPlot.ts#L23-L42', -'ml._types.ModelSizeStats': 'ml/_types/Model.ts#L59-L81', +'ml._types.ModelSizeStats': 'ml/_types/Model.ts#L59-L82', 'ml._types.ModelSnapshot': 'ml/_types/Model.ts#L25-L46', 'ml._types.ModelSnapshotUpgrade': 'ml/_types/Model.ts#L48-L57', -'ml._types.NerInferenceOptions': 'ml/_types/inference.ts#L255-L264', -'ml._types.NerInferenceUpdateOptions': 'ml/_types/inference.ts#L404-L409', -'ml._types.NlpBertTokenizationConfig': 'ml/_types/inference.ts#L131-L158', -'ml._types.NlpRobertaTokenizationConfig': 'ml/_types/inference.ts#L160-L187', -'ml._types.NlpTokenizationUpdateOptions': 'ml/_types/inference.ts#L356-L361', -'ml._types.OutlierDetectionParameters': 'ml/_types/DataframeAnalytics.ts#L526-L560', +'ml._types.NerInferenceOptions': 'ml/_types/inference.ts#L242-L251', +'ml._types.NerInferenceUpdateOptions': 'ml/_types/inference.ts#L392-L397', +'ml._types.NlpBertTokenizationConfig': 'ml/_types/inference.ts#L161-L162', +'ml._types.NlpRobertaTokenizationConfig': 'ml/_types/inference.ts#L164-L171', +'ml._types.NlpTokenizationUpdateOptions': 'ml/_types/inference.ts#L344-L349', +'ml._types.OutlierDetectionParameters': 'ml/_types/DataframeAnalytics.ts#L528-L562', 'ml._types.OverallBucket': 'ml/_types/Bucket.ts#L129-L144', 'ml._types.OverallBucketJob': 'ml/_types/Bucket.ts#L145-L148', 'ml._types.Page': 'ml/_types/Page.ts#L22-L33', -'ml._types.PassThroughInferenceOptions': 'ml/_types/inference.ts#L224-L231', -'ml._types.PassThroughInferenceUpdateOptions': 'ml/_types/inference.ts#L385-L390', +'ml._types.PassThroughInferenceOptions': 'ml/_types/inference.ts#L208-L215', +'ml._types.PassThroughInferenceUpdateOptions': 'ml/_types/inference.ts#L373-L378', 'ml._types.PerPartitionCategorization': 'ml/_types/Analysis.ts#L150-L159', -'ml._types.QuestionAnsweringInferenceOptions': 'ml/_types/inference.ts#L282-L292', -'ml._types.QuestionAnsweringInferenceUpdateOptions': 'ml/_types/inference.ts#L420-L431', +'ml._types.QuestionAnsweringInferenceOptions': 'ml/_types/inference.ts#L270-L280', +'ml._types.QuestionAnsweringInferenceUpdateOptions': 'ml/_types/inference.ts#L408-L419', 'ml._types.RegressionInferenceOptions': 'ml/_types/inference.ts#L82-L91', -'ml._types.RoutingState': 'ml/_types/TrainedModel.ts#L347-L368', +'ml._types.RoutingState': 'ml/_types/TrainedModel.ts#L395-L416', 'ml._types.RuleAction': 'ml/_types/Rule.ts#L41-L50', 'ml._types.RuleCondition': 'ml/_types/Rule.ts#L52-L65', -'ml._types.RunningStateSearchInterval': 'ml/_types/Datafeed.ts#L216-L233', -'ml._types.SnapshotUpgradeState': 'ml/_types/Model.ts#L94-L99', -'ml._types.TextClassificationInferenceOptions': 'ml/_types/inference.ts#L189-L199', -'ml._types.TextClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L363-L372', -'ml._types.TextEmbeddingInferenceOptions': 'ml/_types/inference.ts#L237-L245', -'ml._types.TextEmbeddingInferenceUpdateOptions': 'ml/_types/inference.ts#L392-L396', -'ml._types.TextExpansionInferenceOptions': 'ml/_types/inference.ts#L247-L253', -'ml._types.TextExpansionInferenceUpdateOptions': 'ml/_types/inference.ts#L398-L402', -'ml._types.TimingStats': 'ml/_types/DataframeAnalytics.ts#L562-L567', -'ml._types.TokenizationConfigContainer': 'ml/_types/inference.ts#L110-L129', -'ml._types.TokenizationTruncate': 'ml/_types/inference.ts#L350-L354', -'ml._types.TopClassEntry': 'ml/_types/inference.ts#L440-L444', -'ml._types.TotalFeatureImportance': 'ml/_types/TrainedModel.ts#L232-L239', -'ml._types.TotalFeatureImportanceClass': 'ml/_types/TrainedModel.ts#L241-L246', -'ml._types.TotalFeatureImportanceStatistics': 'ml/_types/TrainedModel.ts#L248-L255', -'ml._types.TrainedModelAssignment': 'ml/_types/TrainedModel.ts#L399-L414', -'ml._types.TrainedModelAssignmentRoutingTable': 'ml/_types/TrainedModel.ts#L370-L388', -'ml._types.TrainedModelAssignmentTaskParameters': 'ml/_types/TrainedModel.ts#L312-L345', -'ml._types.TrainedModelConfig': 'ml/_types/TrainedModel.ts#L164-L199', -'ml._types.TrainedModelConfigInput': 'ml/_types/TrainedModel.ts#L201-L204', -'ml._types.TrainedModelConfigMetadata': 'ml/_types/TrainedModel.ts#L206-L214', -'ml._types.TrainedModelDeploymentAllocationStatus': 'ml/_types/TrainedModel.ts#L390-L397', -'ml._types.TrainedModelDeploymentNodesStats': 'ml/_types/TrainedModel.ts#L132-L162', -'ml._types.TrainedModelDeploymentStats': 'ml/_types/TrainedModel.ts#L61-L101', -'ml._types.TrainedModelEntities': 'ml/_types/inference.ts#L433-L439', -'ml._types.TrainedModelInferenceClassImportance': 'ml/_types/inference.ts#L446-L449', -'ml._types.TrainedModelInferenceFeatureImportance': 'ml/_types/inference.ts#L451-L455', -'ml._types.TrainedModelInferenceStats': 'ml/_types/TrainedModel.ts#L103-L123', -'ml._types.TrainedModelLocation': 'ml/_types/TrainedModel.ts#L416-L418', -'ml._types.TrainedModelLocationIndex': 'ml/_types/TrainedModel.ts#L420-L422', -'ml._types.TrainedModelPrefixStrings': 'ml/_types/TrainedModel.ts#L424-L433', -'ml._types.TrainedModelSizeStats': 'ml/_types/TrainedModel.ts#L125-L130', -'ml._types.TrainedModelStats': 'ml/_types/TrainedModel.ts#L41-L59', -'ml._types.TrainedModelType': 'ml/_types/TrainedModel.ts#L257-L271', -'ml._types.TrainingPriority': 'ml/_types/TrainedModel.ts#L307-L310', +'ml._types.RunningStateSearchInterval': 'ml/_types/Datafeed.ts#L226-L243', +'ml._types.SnapshotUpgradeState': 'ml/_types/Model.ts#L95-L100', +'ml._types.TextClassificationInferenceOptions': 'ml/_types/inference.ts#L173-L183', +'ml._types.TextClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L351-L360', +'ml._types.TextEmbeddingInferenceOptions': 'ml/_types/inference.ts#L221-L231', +'ml._types.TextEmbeddingInferenceUpdateOptions': 'ml/_types/inference.ts#L380-L384', +'ml._types.TextExpansionInferenceOptions': 'ml/_types/inference.ts#L233-L240', +'ml._types.TextExpansionInferenceUpdateOptions': 'ml/_types/inference.ts#L386-L390', +'ml._types.TimingStats': 'ml/_types/DataframeAnalytics.ts#L564-L569', +'ml._types.TokenizationConfigContainer': 'ml/_types/inference.ts#L110-L131', +'ml._types.TokenizationTruncate': 'ml/_types/inference.ts#L338-L342', +'ml._types.TopClassEntry': 'ml/_types/inference.ts#L428-L432', +'ml._types.TotalFeatureImportance': 'ml/_types/TrainedModel.ts#L277-L284', +'ml._types.TotalFeatureImportanceClass': 'ml/_types/TrainedModel.ts#L286-L291', +'ml._types.TotalFeatureImportanceStatistics': 'ml/_types/TrainedModel.ts#L293-L300', +'ml._types.TrainedModelAssignment': 'ml/_types/TrainedModel.ts#L447-L464', +'ml._types.TrainedModelAssignmentRoutingTable': 'ml/_types/TrainedModel.ts#L418-L436', +'ml._types.TrainedModelAssignmentTaskParameters': 'ml/_types/TrainedModel.ts#L357-L393', +'ml._types.TrainedModelConfig': 'ml/_types/TrainedModel.ts#L191-L227', +'ml._types.TrainedModelConfigInput': 'ml/_types/TrainedModel.ts#L229-L232', +'ml._types.TrainedModelConfigMetadata': 'ml/_types/TrainedModel.ts#L234-L242', +'ml._types.TrainedModelDeploymentAllocationStatus': 'ml/_types/TrainedModel.ts#L438-L445', +'ml._types.TrainedModelDeploymentNodesStats': 'ml/_types/TrainedModel.ts#L144-L189', +'ml._types.TrainedModelDeploymentStats': 'ml/_types/TrainedModel.ts#L62-L107', +'ml._types.TrainedModelEntities': 'ml/_types/inference.ts#L421-L427', +'ml._types.TrainedModelInferenceClassImportance': 'ml/_types/inference.ts#L434-L437', +'ml._types.TrainedModelInferenceFeatureImportance': 'ml/_types/inference.ts#L439-L443', +'ml._types.TrainedModelInferenceStats': 'ml/_types/TrainedModel.ts#L115-L135', +'ml._types.TrainedModelLocation': 'ml/_types/TrainedModel.ts#L466-L468', +'ml._types.TrainedModelLocationIndex': 'ml/_types/TrainedModel.ts#L470-L472', +'ml._types.TrainedModelPrefixStrings': 'ml/_types/TrainedModel.ts#L474-L483', +'ml._types.TrainedModelSizeStats': 'ml/_types/TrainedModel.ts#L137-L142', +'ml._types.TrainedModelStats': 'ml/_types/TrainedModel.ts#L42-L60', +'ml._types.TrainedModelType': 'ml/_types/TrainedModel.ts#L302-L316', +'ml._types.TrainingPriority': 'ml/_types/TrainedModel.ts#L352-L355', 'ml._types.TransformAuthorization': 'ml/_types/Authorization.ts#L59-L71', -'ml._types.ValidationLoss': 'ml/_types/DataframeAnalytics.ts#L569-L574', -'ml._types.Vocabulary': 'ml/_types/inference.ts#L233-L235', -'ml._types.ZeroShotClassificationInferenceOptions': 'ml/_types/inference.ts#L201-L222', -'ml._types.ZeroShotClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L374-L383', +'ml._types.ValidationLoss': 'ml/_types/DataframeAnalytics.ts#L571-L576', +'ml._types.Vocabulary': 'ml/_types/inference.ts#L217-L219', +'ml._types.ZeroShotClassificationInferenceOptions': 'ml/_types/inference.ts#L185-L206', +'ml._types.ZeroShotClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L362-L371', 'ml.clear_trained_model_deployment_cache.Request': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheRequest.ts#L23-L42', 'ml.clear_trained_model_deployment_cache.Response': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheResponse.ts#L20-L24', 'ml.close_job.Request': 'ml/close_job/MlCloseJobRequest.ts#L24-L78', @@ -2077,16 +2083,16 @@ 'ml.get_overall_buckets.Response': 'ml/get_overall_buckets/MlGetOverallBucketsResponse.ts#L23-L29', 'ml.get_records.Request': 'ml/get_records/MlGetAnomalyRecordsRequest.ts#L26-L128', 'ml.get_records.Response': 'ml/get_records/MlGetAnomalyRecordsResponse.ts#L23-L28', -'ml.get_trained_models.Request': 'ml/get_trained_models/MlGetTrainedModelRequest.ts#L25-L92', +'ml.get_trained_models.Request': 'ml/get_trained_models/MlGetTrainedModelRequest.ts#L25-L99', 'ml.get_trained_models.Response': 'ml/get_trained_models/MlGetTrainedModelResponse.ts#L23-L34', 'ml.get_trained_models_stats.Request': 'ml/get_trained_models_stats/MlGetTrainedModelStatsRequest.ts#L24-L66', 'ml.get_trained_models_stats.Response': 'ml/get_trained_models_stats/MlGetTrainedModelStatsResponse.ts#L23-L33', 'ml.infer_trained_model.Request': 'ml/infer_trained_model/MlInferTrainedModelRequest.ts#L27-L60', 'ml.infer_trained_model.Response': 'ml/infer_trained_model/MlInferTrainedModelResponse.ts#L22-L26', -'ml.info.AnomalyDetectors': 'ml/info/types.ts#L44-L50', -'ml.info.Datafeeds': 'ml/info/types.ts#L40-L42', +'ml.info.AnomalyDetectors': 'ml/info/types.ts#L46-L52', +'ml.info.Datafeeds': 'ml/info/types.ts#L42-L44', 'ml.info.Defaults': 'ml/info/types.ts#L24-L27', -'ml.info.Limits': 'ml/info/types.ts#L34-L38', +'ml.info.Limits': 'ml/info/types.ts#L34-L40', 'ml.info.NativeCode': 'ml/info/types.ts#L29-L32', 'ml.info.Request': 'ml/info/MlInfoRequest.ts#L22-L36', 'ml.info.Response': 'ml/info/MlInfoResponse.ts#L22-L29', @@ -2095,7 +2101,7 @@ 'ml.post_calendar_events.Request': 'ml/post_calendar_events/MlPostCalendarEventsRequest.ts#L24-L41', 'ml.post_calendar_events.Response': 'ml/post_calendar_events/MlPostCalendarEventsResponse.ts#L22-L24', 'ml.post_data.Request': 'ml/post_data/MlPostJobDataRequest.ts#L24-L69', -'ml.post_data.Response': 'ml/post_data/MlPostJobDataResponse.ts#L23-L41', +'ml.post_data.Response': 'ml/post_data/MlPostJobDataResponse.ts#L24-L45', 'ml.preview_data_frame_analytics.DataframePreviewConfig': 'ml/preview_data_frame_analytics/types.ts#L27-L33', 'ml.preview_data_frame_analytics.Request': 'ml/preview_data_frame_analytics/MlPreviewDataFrameAnalyticsRequest.ts#L24-L49', 'ml.preview_data_frame_analytics.Response': 'ml/preview_data_frame_analytics/MlPreviewDataFrameAnalyticsResponse.ts#L23-L28', @@ -2105,13 +2111,13 @@ 'ml.put_calendar.Response': 'ml/put_calendar/MlPutCalendarResponse.ts#L22-L31', 'ml.put_calendar_job.Request': 'ml/put_calendar_job/MlPutCalendarJobRequest.ts#L23-L38', 'ml.put_calendar_job.Response': 'ml/put_calendar_job/MlPutCalendarJobResponse.ts#L22-L31', -'ml.put_data_frame_analytics.Request': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsRequest.ts#L30-L142', -'ml.put_data_frame_analytics.Response': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsResponse.ts#L31-L46', -'ml.put_datafeed.Request': 'ml/put_datafeed/MlPutDatafeedRequest.ts#L37-L173', +'ml.put_data_frame_analytics.Request': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsRequest.ts#L30-L144', +'ml.put_data_frame_analytics.Response': 'ml/put_data_frame_analytics/MlPutDataFrameAnalyticsResponse.ts#L31-L47', +'ml.put_datafeed.Request': 'ml/put_datafeed/MlPutDatafeedRequest.ts#L37-L175', 'ml.put_datafeed.Response': 'ml/put_datafeed/MlPutDatafeedResponse.ts#L31-L49', 'ml.put_filter.Request': 'ml/put_filter/MlPutFilterRequest.ts#L23-L51', 'ml.put_filter.Response': 'ml/put_filter/MlPutFilterResponse.ts#L22-L28', -'ml.put_job.Request': 'ml/put_job/MlPutJobRequest.ts#L30-L113', +'ml.put_job.Request': 'ml/put_job/MlPutJobRequest.ts#L30-L148', 'ml.put_job.Response': 'ml/put_job/MlPutJobResponse.ts#L29-L52', 'ml.put_trained_model.AggregateOutput': 'ml/put_trained_model/types.ts#L101-L106', 'ml.put_trained_model.Definition': 'ml/put_trained_model/types.ts#L24-L29', @@ -2167,9 +2173,9 @@ 'ml.upgrade_job_snapshot.Response': 'ml/upgrade_job_snapshot/MlUpgradeJobSnapshotResponse.ts#L22-L31', 'ml.validate.Request': 'ml/validate/MlValidateJobRequest.ts#L27-L44', 'ml.validate.Response': 'ml/validate/MlValidateJobResponse.ts#L22-L24', -'ml.validate_detector.Request': 'ml/validate_detector/MlValidateDetectorRequest.ts#L23-L31', +'ml.validate_detector.Request': 'ml/validate_detector/MlValidateDetectorRequest.ts#L23-L33', 'ml.validate_detector.Response': 'ml/validate_detector/MlValidateDetectorResponse.ts#L22-L24', -'monitoring.bulk.Request': 'monitoring/bulk/BulkMonitoringRequest.ts#L24-L59', +'monitoring.bulk.Request': 'monitoring/bulk/BulkMonitoringRequest.ts#L24-L61', 'monitoring.bulk.Response': 'monitoring/bulk/BulkMonitoringResponse.ts#L23-L32', 'nodes._types.AdaptiveSelection': 'nodes/_types/Stats.ts#L439-L468', 'nodes._types.Breaker': 'nodes/_types/Stats.ts#L470-L495', @@ -2232,13 +2238,13 @@ 'nodes._types.TimeHttpHistogram': 'nodes/_types/Stats.ts#L708-L712', 'nodes._types.Transport': 'nodes/_types/Stats.ts#L1118-L1161', 'nodes._types.TransportHistogram': 'nodes/_types/Stats.ts#L1163-L1177', -'nodes.clear_repositories_metering_archive.Request': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveRequest.ts#L24-L44', +'nodes.clear_repositories_metering_archive.Request': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveRequest.ts#L24-L45', 'nodes.clear_repositories_metering_archive.Response': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L36-L38', 'nodes.clear_repositories_metering_archive.ResponseBase': 'nodes/clear_repositories_metering_archive/ClearRepositoriesMeteringArchiveResponse.ts#L25-L34', 'nodes.get_repositories_metering_info.Request': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoRequest.ts#L23-L42', 'nodes.get_repositories_metering_info.Response': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoResponse.ts#L36-L38', 'nodes.get_repositories_metering_info.ResponseBase': 'nodes/get_repositories_metering_info/GetRepositoriesMeteringInfoResponse.ts#L25-L34', -'nodes.hot_threads.Request': 'nodes/hot_threads/NodesHotThreadsRequest.ts#L25-L84', +'nodes.hot_threads.Request': 'nodes/hot_threads/NodesHotThreadsRequest.ts#L25-L85', 'nodes.hot_threads.Response': 'nodes/hot_threads/NodesHotThreadsResponse.ts#L20-L22', 'nodes.info.DeprecationIndexing': 'nodes/info/types.ts#L144-L146', 'nodes.info.NodeInfo': 'nodes/info/types.ts#L31-L67', @@ -2289,13 +2295,13 @@ 'nodes.info.NodeOperatingSystemInfo': 'nodes/info/types.ts#L380-L397', 'nodes.info.NodeProcessInfo': 'nodes/info/types.ts#L399-L406', 'nodes.info.NodeThreadPoolInfo': 'nodes/info/types.ts#L302-L309', -'nodes.info.Request': 'nodes/info/NodesInfoRequest.ts#L24-L56', +'nodes.info.Request': 'nodes/info/NodesInfoRequest.ts#L24-L57', 'nodes.info.Response': 'nodes/info/NodesInfoResponse.ts#L30-L32', 'nodes.info.ResponseBase': 'nodes/info/NodesInfoResponse.ts#L25-L28', -'nodes.reload_secure_settings.Request': 'nodes/reload_secure_settings/ReloadSecureSettingsRequest.ts#L24-L51', +'nodes.reload_secure_settings.Request': 'nodes/reload_secure_settings/ReloadSecureSettingsRequest.ts#L24-L59', 'nodes.reload_secure_settings.Response': 'nodes/reload_secure_settings/ReloadSecureSettingsResponse.ts#L30-L32', 'nodes.reload_secure_settings.ResponseBase': 'nodes/reload_secure_settings/ReloadSecureSettingsResponse.ts#L25-L28', -'nodes.stats.Request': 'nodes/stats/NodesStatsRequest.ts#L24-L76', +'nodes.stats.Request': 'nodes/stats/NodesStatsRequest.ts#L24-L78', 'nodes.stats.Response': 'nodes/stats/NodesStatsResponse.ts#L30-L32', 'nodes.stats.ResponseBase': 'nodes/stats/NodesStatsResponse.ts#L25-L28', 'nodes.usage.NodeUsage': 'nodes/usage/types.ts#L25-L30', @@ -2332,32 +2338,32 @@ 'rollup._types.HistogramGrouping': 'rollup/_types/Groupings.ts#L84-L97', 'rollup._types.Metric': 'rollup/_types/Metric.ts#L22-L28', 'rollup._types.TermsGrouping': 'rollup/_types/Groupings.ts#L75-L82', -'rollup.delete_job.Request': 'rollup/delete_job/DeleteRollupJobRequest.ts#L23-L35', +'rollup.delete_job.Request': 'rollup/delete_job/DeleteRollupJobRequest.ts#L23-L59', 'rollup.delete_job.Response': 'rollup/delete_job/DeleteRollupJobResponse.ts#L22-L27', 'rollup.get_jobs.IndexingJobState': 'rollup/get_jobs/types.ts#L66-L72', -'rollup.get_jobs.Request': 'rollup/get_jobs/GetRollupJobRequest.ts#L23-L36', +'rollup.get_jobs.Request': 'rollup/get_jobs/GetRollupJobRequest.ts#L23-L42', 'rollup.get_jobs.Response': 'rollup/get_jobs/GetRollupJobResponse.ts#L22-L24', 'rollup.get_jobs.RollupJob': 'rollup/get_jobs/types.ts#L28-L32', 'rollup.get_jobs.RollupJobConfiguration': 'rollup/get_jobs/types.ts#L34-L43', 'rollup.get_jobs.RollupJobStats': 'rollup/get_jobs/types.ts#L45-L58', 'rollup.get_jobs.RollupJobStatus': 'rollup/get_jobs/types.ts#L60-L64', -'rollup.get_rollup_caps.Request': 'rollup/get_rollup_caps/GetRollupCapabilitiesRequest.ts#L23-L36', +'rollup.get_rollup_caps.Request': 'rollup/get_rollup_caps/GetRollupCapabilitiesRequest.ts#L23-L45', 'rollup.get_rollup_caps.Response': 'rollup/get_rollup_caps/GetRollupCapabilitiesResponse.ts#L24-L27', 'rollup.get_rollup_caps.RollupCapabilities': 'rollup/get_rollup_caps/types.ts#L24-L26', 'rollup.get_rollup_caps.RollupCapabilitySummary': 'rollup/get_rollup_caps/types.ts#L28-L33', 'rollup.get_rollup_caps.RollupFieldSummary': 'rollup/get_rollup_caps/types.ts#L35-L39', 'rollup.get_rollup_index_caps.IndexCapabilities': 'rollup/get_rollup_index_caps/types.ts#L24-L26', -'rollup.get_rollup_index_caps.Request': 'rollup/get_rollup_index_caps/GetRollupIndexCapabilitiesRequest.ts#L23-L36', +'rollup.get_rollup_index_caps.Request': 'rollup/get_rollup_index_caps/GetRollupIndexCapabilitiesRequest.ts#L23-L42', 'rollup.get_rollup_index_caps.Response': 'rollup/get_rollup_index_caps/GetRollupIndexCapabilitiesResponse.ts#L24-L27', 'rollup.get_rollup_index_caps.RollupJobSummary': 'rollup/get_rollup_index_caps/types.ts#L28-L33', 'rollup.get_rollup_index_caps.RollupJobSummaryField': 'rollup/get_rollup_index_caps/types.ts#L35-L39', -'rollup.put_job.Request': 'rollup/put_job/CreateRollupJobRequest.ts#L27-L89', +'rollup.put_job.Request': 'rollup/put_job/CreateRollupJobRequest.ts#L27-L97', 'rollup.put_job.Response': 'rollup/put_job/CreateRollupJobResponse.ts#L22-L24', -'rollup.rollup_search.Request': 'rollup/rollup_search/RollupSearchRequest.ts#L27-L57', +'rollup.rollup_search.Request': 'rollup/rollup_search/RollupSearchRequest.ts#L27-L59', 'rollup.rollup_search.Response': 'rollup/rollup_search/RollupSearchResponse.ts#L27-L36', -'rollup.start_job.Request': 'rollup/start_job/StartRollupJobRequest.ts#L23-L35', +'rollup.start_job.Request': 'rollup/start_job/StartRollupJobRequest.ts#L23-L38', 'rollup.start_job.Response': 'rollup/start_job/StartRollupJobResponse.ts#L20-L22', -'rollup.stop_job.Request': 'rollup/stop_job/StopRollupJobRequest.ts#L24-L50', +'rollup.stop_job.Request': 'rollup/stop_job/StopRollupJobRequest.ts#L24-L53', 'rollup.stop_job.Response': 'rollup/stop_job/StopRollupJobResponse.ts#L20-L22', 'search_application._types.AnalyticsCollection': 'search_application/_types/BehavioralAnalytics.ts#L22-L27', 'search_application._types.EventDataStream': 'search_application/_types/BehavioralAnalytics.ts#L29-L31', @@ -2383,15 +2389,15 @@ 'search_application.search.Response': 'search_application/search/SearchApplicationsSearchResponse.ts#L22-L24', 'searchable_snapshots._types.StatsLevel': 'searchable_snapshots/_types/stats.ts#L20-L24', 'searchable_snapshots.cache_stats.Node': 'searchable_snapshots/cache_stats/Response.ts#L30-L32', -'searchable_snapshots.cache_stats.Request': 'searchable_snapshots/cache_stats/Request.ts#L24-L35', +'searchable_snapshots.cache_stats.Request': 'searchable_snapshots/cache_stats/Request.ts#L24-L38', 'searchable_snapshots.cache_stats.Response': 'searchable_snapshots/cache_stats/Response.ts#L24-L28', 'searchable_snapshots.cache_stats.Shared': 'searchable_snapshots/cache_stats/Response.ts#L34-L43', -'searchable_snapshots.clear_cache.Request': 'searchable_snapshots/clear_cache/SearchableSnapshotsClearCacheRequest.ts#L23-L38', +'searchable_snapshots.clear_cache.Request': 'searchable_snapshots/clear_cache/SearchableSnapshotsClearCacheRequest.ts#L23-L42', 'searchable_snapshots.clear_cache.Response': 'searchable_snapshots/clear_cache/SearchableSnapshotsClearCacheResponse.ts#L22-L25', 'searchable_snapshots.mount.MountedSnapshot': 'searchable_snapshots/mount/types.ts#L23-L27', -'searchable_snapshots.mount.Request': 'searchable_snapshots/mount/SearchableSnapshotsMountRequest.ts#L26-L49', +'searchable_snapshots.mount.Request': 'searchable_snapshots/mount/SearchableSnapshotsMountRequest.ts#L26-L55', 'searchable_snapshots.mount.Response': 'searchable_snapshots/mount/SearchableSnapshotsMountResponse.ts#L22-L26', -'searchable_snapshots.stats.Request': 'searchable_snapshots/stats/SearchableSnapshotsStatsRequest.ts#L24-L35', +'searchable_snapshots.stats.Request': 'searchable_snapshots/stats/SearchableSnapshotsStatsRequest.ts#L24-L38', 'searchable_snapshots.stats.Response': 'searchable_snapshots/stats/SearchableSnapshotsStatsResponse.ts#L22-L27', 'security._types.Access': 'security/_types/Access.ts#L22-L31', 'security._types.ApiKey': 'security/_types/ApiKey.ts#L27-L113', @@ -2578,17 +2584,17 @@ 'security.update_user_profile_data.Request': 'security/update_user_profile_data/Request.ts#L27-L72', 'security.update_user_profile_data.Response': 'security/update_user_profile_data/Response.ts#L22-L24', 'shutdown._types.Type': 'shutdown/_types/types.ts#L20-L24', -'shutdown.delete_node.Request': 'shutdown/delete_node/ShutdownDeleteNodeRequest.ts#L24-L44', +'shutdown.delete_node.Request': 'shutdown/delete_node/ShutdownDeleteNodeRequest.ts#L24-L54', 'shutdown.delete_node.Response': 'shutdown/delete_node/ShutdownDeleteNodeResponse.ts#L22-L24', 'shutdown.get_node.NodeShutdownStatus': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L29-L38', 'shutdown.get_node.PersistentTaskStatus': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L56-L58', 'shutdown.get_node.PluginsStatus': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L60-L62', -'shutdown.get_node.Request': 'shutdown/get_node/ShutdownGetNodeRequest.ts#L24-L44', +'shutdown.get_node.Request': 'shutdown/get_node/ShutdownGetNodeRequest.ts#L24-L53', 'shutdown.get_node.Response': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L23-L27', 'shutdown.get_node.ShardMigrationStatus': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L52-L54', 'shutdown.get_node.ShutdownStatus': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L45-L50', 'shutdown.get_node.ShutdownType': 'shutdown/get_node/ShutdownGetNodeResponse.ts#L40-L43', -'shutdown.put_node.Request': 'shutdown/put_node/ShutdownPutNodeRequest.ts#L25-L76', +'shutdown.put_node.Request': 'shutdown/put_node/ShutdownPutNodeRequest.ts#L25-L91', 'shutdown.put_node.Response': 'shutdown/put_node/ShutdownPutNodeResponse.ts#L22-L24', 'slm._types.Configuration': 'slm/_types/SnapshotLifecycle.ts#L99-L129', 'slm._types.InProgress': 'slm/_types/SnapshotLifecycle.ts#L131-L136', @@ -2597,23 +2603,23 @@ 'slm._types.Retention': 'slm/_types/SnapshotLifecycle.ts#L84-L97', 'slm._types.SnapshotLifecycle': 'slm/_types/SnapshotLifecycle.ts#L38-L49', 'slm._types.Statistics': 'slm/_types/SnapshotLifecycle.ts#L51-L74', -'slm.delete_lifecycle.Request': 'slm/delete_lifecycle/DeleteSnapshotLifecycleRequest.ts#L23-L32', +'slm.delete_lifecycle.Request': 'slm/delete_lifecycle/DeleteSnapshotLifecycleRequest.ts#L23-L36', 'slm.delete_lifecycle.Response': 'slm/delete_lifecycle/DeleteSnapshotLifecycleResponse.ts#L22-L24', -'slm.execute_lifecycle.Request': 'slm/execute_lifecycle/ExecuteSnapshotLifecycleRequest.ts#L23-L32', +'slm.execute_lifecycle.Request': 'slm/execute_lifecycle/ExecuteSnapshotLifecycleRequest.ts#L23-L36', 'slm.execute_lifecycle.Response': 'slm/execute_lifecycle/ExecuteSnapshotLifecycleResponse.ts#L22-L24', -'slm.execute_retention.Request': 'slm/execute_retention/ExecuteRetentionRequest.ts#L22-L27', +'slm.execute_retention.Request': 'slm/execute_retention/ExecuteRetentionRequest.ts#L22-L31', 'slm.execute_retention.Response': 'slm/execute_retention/ExecuteRetentionResponse.ts#L22-L24', -'slm.get_lifecycle.Request': 'slm/get_lifecycle/GetSnapshotLifecycleRequest.ts#L23-L32', +'slm.get_lifecycle.Request': 'slm/get_lifecycle/GetSnapshotLifecycleRequest.ts#L23-L38', 'slm.get_lifecycle.Response': 'slm/get_lifecycle/GetSnapshotLifecycleResponse.ts#L24-L27', -'slm.get_stats.Request': 'slm/get_stats/GetSnapshotLifecycleStatsRequest.ts#L22-L27', +'slm.get_stats.Request': 'slm/get_stats/GetSnapshotLifecycleStatsRequest.ts#L22-L30', 'slm.get_stats.Response': 'slm/get_stats/GetSnapshotLifecycleStatsResponse.ts#L23-L36', -'slm.get_status.Request': 'slm/get_status/GetSnapshotLifecycleManagementStatusRequest.ts#L22-L27', +'slm.get_status.Request': 'slm/get_status/GetSnapshotLifecycleManagementStatusRequest.ts#L22-L29', 'slm.get_status.Response': 'slm/get_status/GetSnapshotLifecycleManagementStatusResponse.ts#L22-L24', -'slm.put_lifecycle.Request': 'slm/put_lifecycle/PutSnapshotLifecycleRequest.ts#L26-L72', +'slm.put_lifecycle.Request': 'slm/put_lifecycle/PutSnapshotLifecycleRequest.ts#L26-L78', 'slm.put_lifecycle.Response': 'slm/put_lifecycle/PutSnapshotLifecycleResponse.ts#L22-L24', -'slm.start.Request': 'slm/start/StartSnapshotLifecycleManagementRequest.ts#L22-L27', +'slm.start.Request': 'slm/start/StartSnapshotLifecycleManagementRequest.ts#L22-L31', 'slm.start.Response': 'slm/start/StartSnapshotLifecycleManagementResponse.ts#L22-L24', -'slm.stop.Request': 'slm/stop/StopSnapshotLifecycleManagementRequest.ts#L22-L27', +'slm.stop.Request': 'slm/stop/StopSnapshotLifecycleManagementRequest.ts#L22-L35', 'slm.stop.Response': 'slm/stop/StopSnapshotLifecycleManagementResponse.ts#L22-L24', 'snapshot._types.AzureRepository': 'snapshot/_types/SnapshotRepository.ts#L40-L43', 'snapshot._types.AzureRepositorySettings': 'snapshot/_types/SnapshotRepository.ts#L77-L83', @@ -2645,32 +2651,32 @@ 'snapshot._types.SourceOnlyRepositorySettings': 'snapshot/_types/SnapshotRepository.ts#L117-L124', 'snapshot._types.Status': 'snapshot/_types/SnapshotStatus.ts#L26-L35', 'snapshot.cleanup_repository.CleanupRepositoryResults': 'snapshot/cleanup_repository/SnapshotCleanupRepositoryResponse.ts#L29-L34', -'snapshot.cleanup_repository.Request': 'snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts#L24-L49', +'snapshot.cleanup_repository.Request': 'snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts#L24-L52', 'snapshot.cleanup_repository.Response': 'snapshot/cleanup_repository/SnapshotCleanupRepositoryResponse.ts#L22-L27', -'snapshot.clone.Request': 'snapshot/clone/SnapshotCloneRequest.ts#L24-L42', +'snapshot.clone.Request': 'snapshot/clone/SnapshotCloneRequest.ts#L24-L45', 'snapshot.clone.Response': 'snapshot/clone/SnapshotCloneResponse.ts#L22-L24', -'snapshot.create.Request': 'snapshot/create/SnapshotCreateRequest.ts#L24-L81', +'snapshot.create.Request': 'snapshot/create/SnapshotCreateRequest.ts#L24-L85', 'snapshot.create.Response': 'snapshot/create/SnapshotCreateResponse.ts#L22-L35', -'snapshot.create_repository.Request': 'snapshot/create_repository/SnapshotCreateRepositoryRequest.ts#L25-L42', +'snapshot.create_repository.Request': 'snapshot/create_repository/SnapshotCreateRepositoryRequest.ts#L25-L48', 'snapshot.create_repository.Response': 'snapshot/create_repository/SnapshotCreateRepositoryResponse.ts#L22-L24', -'snapshot.delete.Request': 'snapshot/delete/SnapshotDeleteRequest.ts#L24-L37', +'snapshot.delete.Request': 'snapshot/delete/SnapshotDeleteRequest.ts#L24-L39', 'snapshot.delete.Response': 'snapshot/delete/SnapshotDeleteResponse.ts#L22-L24', -'snapshot.delete_repository.Request': 'snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts#L24-L38', +'snapshot.delete_repository.Request': 'snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts#L24-L42', 'snapshot.delete_repository.Response': 'snapshot/delete_repository/SnapshotDeleteRepositoryResponse.ts#L22-L24', -'snapshot.get.Request': 'snapshot/get/SnapshotGetRequest.ts#L27-L127', +'snapshot.get.Request': 'snapshot/get/SnapshotGetRequest.ts#L27-L129', 'snapshot.get.Response': 'snapshot/get/SnapshotGetResponse.ts#L25-L42', 'snapshot.get.SnapshotResponseItem': 'snapshot/get/SnapshotGetResponse.ts#L44-L48', -'snapshot.get_repository.Request': 'snapshot/get_repository/SnapshotGetRepositoryRequest.ts#L24-L38', +'snapshot.get_repository.Request': 'snapshot/get_repository/SnapshotGetRepositoryRequest.ts#L24-L40', 'snapshot.get_repository.Response': 'snapshot/get_repository/SnapshotGetRepositoryResponse.ts#L23-L25', -'snapshot.repository_verify_integrity.Request': 'snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts#L24-L43', +'snapshot.repository_verify_integrity.Request': 'snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts#L24-L72', 'snapshot.repository_verify_integrity.Response': 'snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityResponse.ts#L22-L24', -'snapshot.restore.Request': 'snapshot/restore/SnapshotRestoreRequest.ts#L25-L51', +'snapshot.restore.Request': 'snapshot/restore/SnapshotRestoreRequest.ts#L25-L71', 'snapshot.restore.Response': 'snapshot/restore/SnapshotRestoreResponse.ts#L23-L28', 'snapshot.restore.SnapshotRestore': 'snapshot/restore/SnapshotRestoreResponse.ts#L30-L34', -'snapshot.status.Request': 'snapshot/status/SnapshotStatusRequest.ts#L24-L38', +'snapshot.status.Request': 'snapshot/status/SnapshotStatusRequest.ts#L24-L50', 'snapshot.status.Response': 'snapshot/status/SnapshotStatusResponse.ts#L22-L24', 'snapshot.verify_repository.CompactNodeInfo': 'snapshot/verify_repository/SnapshotVerifyRepositoryResponse.ts#L27-L29', -'snapshot.verify_repository.Request': 'snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts#L24-L38', +'snapshot.verify_repository.Request': 'snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts#L24-L42', 'snapshot.verify_repository.Response': 'snapshot/verify_repository/SnapshotVerifyRepositoryResponse.ts#L23-L25', 'sql.Column': 'sql/types.ts#L23-L26', 'sql.clear_cursor.Request': 'sql/clear_cursor/ClearSqlCursorRequest.ts#L22-L35', @@ -2961,10 +2967,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/54858439f77f353d64fec90ccdb70bc54b43a7c8/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/fd5d7cff3f7e72348ac3ebf32bfadd7be9243b86/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesAsyncClient.java index 1c8e84d32..ed2d8e7f9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesAsyncClient.java @@ -68,8 +68,20 @@ public ElasticsearchFeaturesAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: features.get_features /** - * Gets a list of features which can be included in snapshots using the - * feature_states field when creating a snapshot + * Get the features. Get a list of features that can be included in snapshots + * using the feature_states field when creating a snapshot. You can + * use this API to determine which feature states to include when taking a + * snapshot. By default, all feature states are included in a snapshot if that + * snapshot includes the global state, or none if it does not. + *

    + * A feature state includes one or more system indices necessary for a given + * feature to function. In order to ensure data integrity, all system indices + * that comprise a feature state are snapshotted and restored together. + *

    + * The features listed by this API are a combination of built-in features and + * features defined by plugins. In order for a feature state to be listed in + * this API and recognized as a valid feature state by the create snapshot API, + * the plugin that defines that feature must be installed on the master node. * * @see Documentation @@ -83,7 +95,29 @@ public CompletableFuture getFeatures() { // ----- Endpoint: features.reset_features /** - * Resets the internal state of features, usually by deleting system indices + * Reset the features. Clear all of the state information stored in system + * indices by Elasticsearch features, including the security and machine + * learning indices. + *

    + * WARNING: Intended for development and testing use only. Do not reset features + * on a production cluster. + *

    + * Return a cluster to the same state as a new installation by resetting the + * feature state for all Elasticsearch features. This deletes all state + * information stored in system indices. + *

    + * The response code is HTTP 200 if the state is successfully reset for all + * features. It is HTTP 500 if the reset operation failed for any feature. + *

    + * Note that select features might provide a way to reset particular system + * indices. Using this API resets all features, both those that are built-in and + * implemented as plugins. + *

    + * To list the features that will be affected, use the get features API. + *

    + * IMPORTANT: The features installed on the node you submit this request to are + * the features that will be reset. Run on the master node if you have any + * doubts about which plugins are installed on individual nodes. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesClient.java index 966d0072f..1f00d20f0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ElasticsearchFeaturesClient.java @@ -66,8 +66,20 @@ public ElasticsearchFeaturesClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: features.get_features /** - * Gets a list of features which can be included in snapshots using the - * feature_states field when creating a snapshot + * Get the features. Get a list of features that can be included in snapshots + * using the feature_states field when creating a snapshot. You can + * use this API to determine which feature states to include when taking a + * snapshot. By default, all feature states are included in a snapshot if that + * snapshot includes the global state, or none if it does not. + *

    + * A feature state includes one or more system indices necessary for a given + * feature to function. In order to ensure data integrity, all system indices + * that comprise a feature state are snapshotted and restored together. + *

    + * The features listed by this API are a combination of built-in features and + * features defined by plugins. In order for a feature state to be listed in + * this API and recognized as a valid feature state by the create snapshot API, + * the plugin that defines that feature must be installed on the master node. * * @see Documentation @@ -81,7 +93,29 @@ public GetFeaturesResponse getFeatures() throws IOException, ElasticsearchExcept // ----- Endpoint: features.reset_features /** - * Resets the internal state of features, usually by deleting system indices + * Reset the features. Clear all of the state information stored in system + * indices by Elasticsearch features, including the security and machine + * learning indices. + *

    + * WARNING: Intended for development and testing use only. Do not reset features + * on a production cluster. + *

    + * Return a cluster to the same state as a new installation by resetting the + * feature state for all Elasticsearch features. This deletes all state + * information stored in system indices. + *

    + * The response code is HTTP 200 if the state is successfully reset for all + * features. It is HTTP 500 if the reset operation failed for any feature. + *

    + * Note that select features might provide a way to reset particular system + * indices. Using this API resets all features, both those that are built-in and + * implemented as plugins. + *

    + * To list the features that will be affected, use the get features API. + *

    + * IMPORTANT: The features installed on the node you submit this request to are + * the features that will be reset. Run on the master node if you have any + * doubts about which plugins are installed on individual nodes. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/GetFeaturesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/GetFeaturesRequest.java index 605b769ee..19780899f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/GetFeaturesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/GetFeaturesRequest.java @@ -50,8 +50,20 @@ // typedef: features.get_features.Request /** - * Gets a list of features which can be included in snapshots using the - * feature_states field when creating a snapshot + * Get the features. Get a list of features that can be included in snapshots + * using the feature_states field when creating a snapshot. You can + * use this API to determine which feature states to include when taking a + * snapshot. By default, all feature states are included in a snapshot if that + * snapshot includes the global state, or none if it does not. + *

    + * A feature state includes one or more system indices necessary for a given + * feature to function. In order to ensure data integrity, all system indices + * that comprise a feature state are snapshotted and restored together. + *

    + * The features listed by this API are a combination of built-in features and + * features defined by plugins. In order for a feature state to be listed in + * this API and recognized as a valid feature state by the create snapshot API, + * the plugin that defines that feature must be installed on the master node. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ResetFeaturesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ResetFeaturesRequest.java index 970689148..ecfabbcda 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ResetFeaturesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/features/ResetFeaturesRequest.java @@ -50,7 +50,29 @@ // typedef: features.reset_features.Request /** - * Resets the internal state of features, usually by deleting system indices + * Reset the features. Clear all of the state information stored in system + * indices by Elasticsearch features, including the security and machine + * learning indices. + *

    + * WARNING: Intended for development and testing use only. Do not reset features + * on a production cluster. + *

    + * Return a cluster to the same state as a new installation by resetting the + * feature state for all Elasticsearch features. This deletes all state + * information stored in system indices. + *

    + * The response code is HTTP 200 if the state is successfully reset for all + * features. It is HTTP 500 if the reset operation failed for any feature. + *

    + * Note that select features might provide a way to reset particular system + * indices. Using this API resets all features, both those that are built-in and + * implemented as plugins. + *

    + * To list the features that will be affected, use the get features API. + *

    + * IMPORTANT: The features installed on the node you submit this request to are + * the features that will be reset. Run on the master node if you have any + * doubts about which plugins are installed on individual nodes. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/DeleteLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/DeleteLifecycleRequest.java index ddc52159a..006b224a1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/DeleteLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/DeleteLifecycleRequest.java @@ -56,9 +56,9 @@ // typedef: ilm.delete_lifecycle.Request /** - * Deletes the specified lifecycle policy definition. You cannot delete policies - * that are currently in use. If the policy is being used to manage any indices, - * the request fails and returns an error. + * Delete a lifecycle policy. You cannot delete policies that are currently in + * use. If the policy is being used to manage any indices, the request fails and + * returns an error. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmAsyncClient.java index 02b185d2d..e33bb0ace 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmAsyncClient.java @@ -67,9 +67,9 @@ public ElasticsearchIlmAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: ilm.delete_lifecycle /** - * Deletes the specified lifecycle policy definition. You cannot delete policies - * that are currently in use. If the policy is being used to manage any indices, - * the request fails and returns an error. + * Delete a lifecycle policy. You cannot delete policies that are currently in + * use. If the policy is being used to manage any indices, the request fails and + * returns an error. * * @see Documentation @@ -84,9 +84,9 @@ public CompletableFuture deleteLifecycle(DeleteLifecycl } /** - * Deletes the specified lifecycle policy definition. You cannot delete policies - * that are currently in use. If the policy is being used to manage any indices, - * the request fails and returns an error. + * Delete a lifecycle policy. You cannot delete policies that are currently in + * use. If the policy is being used to manage any indices, the request fails and + * returns an error. * * @param fn * a function that initializes a builder to create the @@ -104,10 +104,12 @@ public final CompletableFuture deleteLifecycle( // ----- Endpoint: ilm.explain_lifecycle /** - * Retrieves information about the index’s current lifecycle state, such as the - * currently executing phase, action, and step. Shows when the index entered - * each one, the definition of the running phase, and information about any - * failures. + * Explain the lifecycle state. Get the current lifecycle status for one or more + * indices. For data streams, the API retrieves the current lifecycle status for + * the stream's backing indices. + *

    + * The response indicates when the index entered each lifecycle state, provides + * the definition of the running phase, and information about any failures. * * @see Documentation @@ -122,10 +124,12 @@ public CompletableFuture explainLifecycle(ExplainLifec } /** - * Retrieves information about the index’s current lifecycle state, such as the - * currently executing phase, action, and step. Shows when the index entered - * each one, the definition of the running phase, and information about any - * failures. + * Explain the lifecycle state. Get the current lifecycle status for one or more + * indices. For data streams, the API retrieves the current lifecycle status for + * the stream's backing indices. + *

    + * The response indicates when the index entered each lifecycle state, provides + * the definition of the running phase, and information about any failures. * * @param fn * a function that initializes a builder to create the @@ -143,7 +147,7 @@ public final CompletableFuture explainLifecycle( // ----- Endpoint: ilm.get_lifecycle /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @see Documentation @@ -158,7 +162,7 @@ public CompletableFuture getLifecycle(GetLifecycleRequest } /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @param fn * a function that initializes a builder to create the @@ -174,7 +178,7 @@ public final CompletableFuture getLifecycle( } /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @see Documentation @@ -189,7 +193,7 @@ public CompletableFuture getLifecycle() { // ----- Endpoint: ilm.get_status /** - * Retrieves the current index lifecycle management (ILM) status. + * Get the ILM status. Get the current index lifecycle management status. * * @see Documentation @@ -203,11 +207,25 @@ public CompletableFuture getStatus() { // ----- Endpoint: ilm.migrate_to_data_tiers /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @see Documentation @@ -222,11 +240,25 @@ public CompletableFuture migrateToDataTiers(MigrateT } /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @param fn * a function that initializes a builder to create the @@ -242,11 +274,25 @@ public final CompletableFuture migrateToDataTiers( } /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @see Documentation @@ -261,7 +307,26 @@ public CompletableFuture migrateToDataTiers() { // ----- Endpoint: ilm.move_to_step /** - * Manually moves an index into the specified step and executes that step. + * Move to a lifecycle step. Manually move an index into a specific step in the + * lifecycle policy and run that step. + *

    + * WARNING: This operation can result in the loss of data. Manually moving an + * index into a specific step runs that step even if it has already been + * performed. This is a potentially destructive action and this should be + * considered an expert level API. + *

    + * You must specify both the current step and the step to be executed in the + * body of the request. The request will fail if the current step does not match + * the step currently running for the index This is to prevent the index from + * being moved from an unexpected step into the next step. + *

    + * When specifying the target (next_step) to which the index will + * be moved, either the name or both the action and name fields are optional. If + * only the phase is specified, the index will move to the first step of the + * first action in the target phase. If the phase and action are specified, the + * index will move to the first step of the specified action in the specified + * phase. Only actions specified in the ILM policy are considered valid. An + * index cannot move to a step that is not part of its policy. * * @see Documentation @@ -276,7 +341,26 @@ public CompletableFuture moveToStep(MoveToStepRequest reques } /** - * Manually moves an index into the specified step and executes that step. + * Move to a lifecycle step. Manually move an index into a specific step in the + * lifecycle policy and run that step. + *

    + * WARNING: This operation can result in the loss of data. Manually moving an + * index into a specific step runs that step even if it has already been + * performed. This is a potentially destructive action and this should be + * considered an expert level API. + *

    + * You must specify both the current step and the step to be executed in the + * body of the request. The request will fail if the current step does not match + * the step currently running for the index This is to prevent the index from + * being moved from an unexpected step into the next step. + *

    + * When specifying the target (next_step) to which the index will + * be moved, either the name or both the action and name fields are optional. If + * only the phase is specified, the index will move to the first step of the + * first action in the target phase. If the phase and action are specified, the + * index will move to the first step of the specified action in the specified + * phase. Only actions specified in the ILM policy are considered valid. An + * index cannot move to a step that is not part of its policy. * * @param fn * a function that initializes a builder to create the @@ -294,8 +378,11 @@ public final CompletableFuture moveToStep( // ----- Endpoint: ilm.put_lifecycle /** - * Creates a lifecycle policy. If the specified policy exists, the policy is + * Create or update a lifecycle policy. If the specified policy exists, it is * replaced and the policy version is incremented. + *

    + * NOTE: Only the latest version of the policy is stored, you cannot revert to + * previous versions. * * @see Documentation @@ -310,8 +397,11 @@ public CompletableFuture putLifecycle(PutLifecycleRequest } /** - * Creates a lifecycle policy. If the specified policy exists, the policy is + * Create or update a lifecycle policy. If the specified policy exists, it is * replaced and the policy version is incremented. + *

    + * NOTE: Only the latest version of the policy is stored, you cannot revert to + * previous versions. * * @param fn * a function that initializes a builder to create the @@ -329,7 +419,8 @@ public final CompletableFuture putLifecycle( // ----- Endpoint: ilm.remove_policy /** - * Removes the assigned lifecycle policy and stops managing the specified index + * Remove policies from an index. Remove the assigned lifecycle policies from an + * index or a data stream's backing indices. It also stops managing the indices. * * @see Documentation @@ -344,7 +435,8 @@ public CompletableFuture removePolicy(RemovePolicyRequest } /** - * Removes the assigned lifecycle policy and stops managing the specified index + * Remove policies from an index. Remove the assigned lifecycle policies from an + * index or a data stream's backing indices. It also stops managing the indices. * * @param fn * a function that initializes a builder to create the @@ -362,7 +454,10 @@ public final CompletableFuture removePolicy( // ----- Endpoint: ilm.retry /** - * Retries executing the policy for an index that is in the ERROR step. + * Retry a policy. Retry running the lifecycle policy for an index that is in + * the ERROR step. The API sets the policy back to the step where the error + * occurred and runs the step. Use the explain lifecycle state API to determine + * whether an index is in the ERROR step. * * @see Documentation @@ -377,7 +472,10 @@ public CompletableFuture retry(RetryRequest request) { } /** - * Retries executing the policy for an index that is in the ERROR step. + * Retry a policy. Retry running the lifecycle policy for an index that is in + * the ERROR step. The API sets the policy back to the step where the error + * occurred and runs the step. Use the explain lifecycle state API to determine + * whether an index is in the ERROR step. * * @param fn * a function that initializes a builder to create the @@ -395,7 +493,10 @@ public final CompletableFuture retry( // ----- Endpoint: ilm.start /** - * Start the index lifecycle management (ILM) plugin. + * Start the ILM plugin. Start the index lifecycle management plugin if it is + * currently stopped. ILM is started automatically when the cluster is formed. + * Restarting ILM is necessary only when it has been stopped using the stop ILM + * API. * * @see Documentation @@ -410,7 +511,10 @@ public CompletableFuture start(StartIlmRequest request) { } /** - * Start the index lifecycle management (ILM) plugin. + * Start the ILM plugin. Start the index lifecycle management plugin if it is + * currently stopped. ILM is started automatically when the cluster is formed. + * Restarting ILM is necessary only when it has been stopped using the stop ILM + * API. * * @param fn * a function that initializes a builder to create the @@ -426,7 +530,10 @@ public final CompletableFuture start( } /** - * Start the index lifecycle management (ILM) plugin. + * Start the ILM plugin. Start the index lifecycle management plugin if it is + * currently stopped. ILM is started automatically when the cluster is formed. + * Restarting ILM is necessary only when it has been stopped using the stop ILM + * API. * * @see Documentation @@ -441,8 +548,15 @@ public CompletableFuture start() { // ----- Endpoint: ilm.stop /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @see Documentation @@ -457,8 +571,15 @@ public CompletableFuture stop(StopIlmRequest request) { } /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @param fn * a function that initializes a builder to create the @@ -474,8 +595,15 @@ public final CompletableFuture stop( } /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmClient.java index f41489680..6b3e3a8f5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ElasticsearchIlmClient.java @@ -68,9 +68,9 @@ public ElasticsearchIlmClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: ilm.delete_lifecycle /** - * Deletes the specified lifecycle policy definition. You cannot delete policies - * that are currently in use. If the policy is being used to manage any indices, - * the request fails and returns an error. + * Delete a lifecycle policy. You cannot delete policies that are currently in + * use. If the policy is being used to manage any indices, the request fails and + * returns an error. * * @see Documentation @@ -86,9 +86,9 @@ public DeleteLifecycleResponse deleteLifecycle(DeleteLifecycleRequest request) } /** - * Deletes the specified lifecycle policy definition. You cannot delete policies - * that are currently in use. If the policy is being used to manage any indices, - * the request fails and returns an error. + * Delete a lifecycle policy. You cannot delete policies that are currently in + * use. If the policy is being used to manage any indices, the request fails and + * returns an error. * * @param fn * a function that initializes a builder to create the @@ -107,10 +107,12 @@ public final DeleteLifecycleResponse deleteLifecycle( // ----- Endpoint: ilm.explain_lifecycle /** - * Retrieves information about the index’s current lifecycle state, such as the - * currently executing phase, action, and step. Shows when the index entered - * each one, the definition of the running phase, and information about any - * failures. + * Explain the lifecycle state. Get the current lifecycle status for one or more + * indices. For data streams, the API retrieves the current lifecycle status for + * the stream's backing indices. + *

    + * The response indicates when the index entered each lifecycle state, provides + * the definition of the running phase, and information about any failures. * * @see Documentation @@ -126,10 +128,12 @@ public ExplainLifecycleResponse explainLifecycle(ExplainLifecycleRequest request } /** - * Retrieves information about the index’s current lifecycle state, such as the - * currently executing phase, action, and step. Shows when the index entered - * each one, the definition of the running phase, and information about any - * failures. + * Explain the lifecycle state. Get the current lifecycle status for one or more + * indices. For data streams, the API retrieves the current lifecycle status for + * the stream's backing indices. + *

    + * The response indicates when the index entered each lifecycle state, provides + * the definition of the running phase, and information about any failures. * * @param fn * a function that initializes a builder to create the @@ -148,7 +152,7 @@ public final ExplainLifecycleResponse explainLifecycle( // ----- Endpoint: ilm.get_lifecycle /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @see Documentation @@ -163,7 +167,7 @@ public GetLifecycleResponse getLifecycle(GetLifecycleRequest request) throws IOE } /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @param fn * a function that initializes a builder to create the @@ -180,7 +184,7 @@ public final GetLifecycleResponse getLifecycle( } /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @see Documentation @@ -195,7 +199,7 @@ public GetLifecycleResponse getLifecycle() throws IOException, ElasticsearchExce // ----- Endpoint: ilm.get_status /** - * Retrieves the current index lifecycle management (ILM) status. + * Get the ILM status. Get the current index lifecycle management status. * * @see Documentation @@ -209,11 +213,25 @@ public GetIlmStatusResponse getStatus() throws IOException, ElasticsearchExcepti // ----- Endpoint: ilm.migrate_to_data_tiers /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @see Documentation @@ -229,11 +247,25 @@ public MigrateToDataTiersResponse migrateToDataTiers(MigrateToDataTiersRequest r } /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @param fn * a function that initializes a builder to create the @@ -250,11 +282,25 @@ public final MigrateToDataTiersResponse migrateToDataTiers( } /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @see Documentation @@ -269,7 +315,26 @@ public MigrateToDataTiersResponse migrateToDataTiers() throws IOException, Elast // ----- Endpoint: ilm.move_to_step /** - * Manually moves an index into the specified step and executes that step. + * Move to a lifecycle step. Manually move an index into a specific step in the + * lifecycle policy and run that step. + *

    + * WARNING: This operation can result in the loss of data. Manually moving an + * index into a specific step runs that step even if it has already been + * performed. This is a potentially destructive action and this should be + * considered an expert level API. + *

    + * You must specify both the current step and the step to be executed in the + * body of the request. The request will fail if the current step does not match + * the step currently running for the index This is to prevent the index from + * being moved from an unexpected step into the next step. + *

    + * When specifying the target (next_step) to which the index will + * be moved, either the name or both the action and name fields are optional. If + * only the phase is specified, the index will move to the first step of the + * first action in the target phase. If the phase and action are specified, the + * index will move to the first step of the specified action in the specified + * phase. Only actions specified in the ILM policy are considered valid. An + * index cannot move to a step that is not part of its policy. * * @see Documentation @@ -284,7 +349,26 @@ public MoveToStepResponse moveToStep(MoveToStepRequest request) throws IOExcepti } /** - * Manually moves an index into the specified step and executes that step. + * Move to a lifecycle step. Manually move an index into a specific step in the + * lifecycle policy and run that step. + *

    + * WARNING: This operation can result in the loss of data. Manually moving an + * index into a specific step runs that step even if it has already been + * performed. This is a potentially destructive action and this should be + * considered an expert level API. + *

    + * You must specify both the current step and the step to be executed in the + * body of the request. The request will fail if the current step does not match + * the step currently running for the index This is to prevent the index from + * being moved from an unexpected step into the next step. + *

    + * When specifying the target (next_step) to which the index will + * be moved, either the name or both the action and name fields are optional. If + * only the phase is specified, the index will move to the first step of the + * first action in the target phase. If the phase and action are specified, the + * index will move to the first step of the specified action in the specified + * phase. Only actions specified in the ILM policy are considered valid. An + * index cannot move to a step that is not part of its policy. * * @param fn * a function that initializes a builder to create the @@ -302,8 +386,11 @@ public final MoveToStepResponse moveToStep(Function + * NOTE: Only the latest version of the policy is stored, you cannot revert to + * previous versions. * * @see Documentation @@ -318,8 +405,11 @@ public PutLifecycleResponse putLifecycle(PutLifecycleRequest request) throws IOE } /** - * Creates a lifecycle policy. If the specified policy exists, the policy is + * Create or update a lifecycle policy. If the specified policy exists, it is * replaced and the policy version is incremented. + *

    + * NOTE: Only the latest version of the policy is stored, you cannot revert to + * previous versions. * * @param fn * a function that initializes a builder to create the @@ -338,7 +428,8 @@ public final PutLifecycleResponse putLifecycle( // ----- Endpoint: ilm.remove_policy /** - * Removes the assigned lifecycle policy and stops managing the specified index + * Remove policies from an index. Remove the assigned lifecycle policies from an + * index or a data stream's backing indices. It also stops managing the indices. * * @see Documentation @@ -353,7 +444,8 @@ public RemovePolicyResponse removePolicy(RemovePolicyRequest request) throws IOE } /** - * Removes the assigned lifecycle policy and stops managing the specified index + * Remove policies from an index. Remove the assigned lifecycle policies from an + * index or a data stream's backing indices. It also stops managing the indices. * * @param fn * a function that initializes a builder to create the @@ -372,7 +464,10 @@ public final RemovePolicyResponse removePolicy( // ----- Endpoint: ilm.retry /** - * Retries executing the policy for an index that is in the ERROR step. + * Retry a policy. Retry running the lifecycle policy for an index that is in + * the ERROR step. The API sets the policy back to the step where the error + * occurred and runs the step. Use the explain lifecycle state API to determine + * whether an index is in the ERROR step. * * @see Documentation @@ -387,7 +482,10 @@ public RetryResponse retry(RetryRequest request) throws IOException, Elasticsear } /** - * Retries executing the policy for an index that is in the ERROR step. + * Retry a policy. Retry running the lifecycle policy for an index that is in + * the ERROR step. The API sets the policy back to the step where the error + * occurred and runs the step. Use the explain lifecycle state API to determine + * whether an index is in the ERROR step. * * @param fn * a function that initializes a builder to create the @@ -405,7 +503,10 @@ public final RetryResponse retry(FunctionDocumentation @@ -420,7 +521,10 @@ public StartIlmResponse start(StartIlmRequest request) throws IOException, Elast } /** - * Start the index lifecycle management (ILM) plugin. + * Start the ILM plugin. Start the index lifecycle management plugin if it is + * currently stopped. ILM is started automatically when the cluster is formed. + * Restarting ILM is necessary only when it has been stopped using the stop ILM + * API. * * @param fn * a function that initializes a builder to create the @@ -436,7 +540,10 @@ public final StartIlmResponse start(FunctionDocumentation @@ -451,8 +558,15 @@ public StartIlmResponse start() throws IOException, ElasticsearchException { // ----- Endpoint: ilm.stop /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @see Documentation @@ -467,8 +581,15 @@ public StopIlmResponse stop(StopIlmRequest request) throws IOException, Elastics } /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @param fn * a function that initializes a builder to create the @@ -484,8 +605,15 @@ public final StopIlmResponse stop(Function + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ExplainLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ExplainLifecycleRequest.java index 1f0884e87..00cc32243 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ExplainLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/ExplainLifecycleRequest.java @@ -57,10 +57,12 @@ // typedef: ilm.explain_lifecycle.Request /** - * Retrieves information about the index’s current lifecycle state, such as the - * currently executing phase, action, and step. Shows when the index entered - * each one, the definition of the running phase, and information about any - * failures. + * Explain the lifecycle state. Get the current lifecycle status for one or more + * indices. For data streams, the API retrieves the current lifecycle status for + * the stream's backing indices. + *

    + * The response indicates when the index entered each lifecycle state, provides + * the definition of the running phase, and information about any failures. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetIlmStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetIlmStatusRequest.java index 656d6d1e7..b3640093b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetIlmStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetIlmStatusRequest.java @@ -50,7 +50,7 @@ // typedef: ilm.get_status.Request /** - * Retrieves the current index lifecycle management (ILM) status. + * Get the ILM status. Get the current index lifecycle management status. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetLifecycleRequest.java index 7affc2ee2..2ddc221c1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/GetLifecycleRequest.java @@ -55,7 +55,7 @@ // typedef: ilm.get_lifecycle.Request /** - * Retrieves a lifecycle policy. + * Get lifecycle policies. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MigrateToDataTiersRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MigrateToDataTiersRequest.java index 9dc3bdf94..1ed5a4431 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MigrateToDataTiersRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MigrateToDataTiersRequest.java @@ -58,11 +58,25 @@ // typedef: ilm.migrate_to_data_tiers.Request /** - * Switches the indices, ILM policies, and legacy, composable and component - * templates from using custom node attributes and attribute-based allocation - * filters to using data tiers, and optionally deletes one legacy index - * template.+ Using node roles enables ILM to automatically move the indices - * between data tiers. + * Migrate to data tiers routing. Switch the indices, ILM policies, and legacy, + * composable, and component templates from using custom node attributes and + * attribute-based allocation filters to using data tiers. Optionally, delete + * one legacy index template. Using node roles enables ILM to automatically move + * the indices between data tiers. + *

    + * Migrating away from custom node attributes routing can be manually performed. + * This API provides an automated way of performing three out of the four manual + * steps listed in the migration guide: + *

      + *
    1. Stop setting the custom hot attribute on new indices.
    2. + *
    3. Remove custom allocation settings from existing ILM policies.
    4. + *
    5. Replace custom allocation settings from existing indices with the + * corresponding tier preference.
    6. + *
    + *

    + * ILM must be stopped before performing the migration. Use the stop ILM and get + * ILM status APIs to wait until the reported operation mode is + * STOPPED. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java index 2691be8ab..8dafaf75c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/MoveToStepRequest.java @@ -59,7 +59,26 @@ // typedef: ilm.move_to_step.Request /** - * Manually moves an index into the specified step and executes that step. + * Move to a lifecycle step. Manually move an index into a specific step in the + * lifecycle policy and run that step. + *

    + * WARNING: This operation can result in the loss of data. Manually moving an + * index into a specific step runs that step even if it has already been + * performed. This is a potentially destructive action and this should be + * considered an expert level API. + *

    + * You must specify both the current step and the step to be executed in the + * body of the request. The request will fail if the current step does not match + * the step currently running for the index This is to prevent the index from + * being moved from an unexpected step into the next step. + *

    + * When specifying the target (next_step) to which the index will + * be moved, either the name or both the action and name fields are optional. If + * only the phase is specified, the index will move to the first step of the + * first action in the target phase. If the phase and action are specified, the + * index will move to the first step of the specified action in the specified + * phase. Only actions specified in the ILM policy are considered valid. An + * index cannot move to a step that is not part of its policy. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/PutLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/PutLifecycleRequest.java index 5766c5f74..b9e4a2837 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/PutLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/PutLifecycleRequest.java @@ -58,8 +58,11 @@ // typedef: ilm.put_lifecycle.Request /** - * Creates a lifecycle policy. If the specified policy exists, the policy is + * Create or update a lifecycle policy. If the specified policy exists, it is * replaced and the policy version is incremented. + *

    + * NOTE: Only the latest version of the policy is stored, you cannot revert to + * previous versions. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RemovePolicyRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RemovePolicyRequest.java index 317d01f54..6b102a157 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RemovePolicyRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RemovePolicyRequest.java @@ -56,7 +56,8 @@ // typedef: ilm.remove_policy.Request /** - * Removes the assigned lifecycle policy and stops managing the specified index + * Remove policies from an index. Remove the assigned lifecycle policies from an + * index or a data stream's backing indices. It also stops managing the indices. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RetryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RetryRequest.java index 0c261f62a..37213aa6b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RetryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/RetryRequest.java @@ -56,7 +56,10 @@ // typedef: ilm.retry.Request /** - * Retries executing the policy for an index that is in the ERROR step. + * Retry a policy. Retry running the lifecycle policy for an index that is in + * the ERROR step. The API sets the policy back to the step where the error + * occurred and runs the step. Use the explain lifecycle state API to determine + * whether an index is in the ERROR step. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StartIlmRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StartIlmRequest.java index 69488af3e..78af2f967 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StartIlmRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StartIlmRequest.java @@ -55,7 +55,10 @@ // typedef: ilm.start.Request /** - * Start the index lifecycle management (ILM) plugin. + * Start the ILM plugin. Start the index lifecycle management plugin if it is + * currently stopped. ILM is started automatically when the cluster is formed. + * Restarting ILM is necessary only when it has been stopped using the stop ILM + * API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StopIlmRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StopIlmRequest.java index 91dbc8e13..7f3ebe90d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StopIlmRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ilm/StopIlmRequest.java @@ -55,8 +55,15 @@ // typedef: ilm.stop.Request /** - * Halts all lifecycle management operations and stops the index lifecycle - * management (ILM) plugin + * Stop the ILM plugin. Halt all lifecycle management operations and stop the + * index lifecycle management plugin. This is useful when you are performing + * maintenance on the cluster and need to prevent ILM from performing any + * actions on your indices. + *

    + * The API returns as soon as the stop request has been acknowledged, but the + * plugin might continue to run until in-progress operations complete and the + * plugin can be safely stopped. Use the get ILM status API to check whether ILM + * is running. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ClearCacheRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ClearCacheRequest.java index 86e774c2b..589c3e312 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ClearCacheRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ClearCacheRequest.java @@ -59,8 +59,8 @@ // typedef: indices.clear_cache.Request /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloneIndexRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloneIndexRequest.java index 78c58675a..9e25c3ccb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloneIndexRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloneIndexRequest.java @@ -60,8 +60,42 @@ // typedef: indices.clone.Request /** - * Clones an existing index. - * + * Clone an index. Clone an existing index into a new index. Each original + * primary shard is cloned into a new primary shard in the new index. + *

    + * IMPORTANT: Elasticsearch does not apply index templates to the resulting + * index. The API also does not copy index metadata from the original index. + * Index metadata includes aliases, index lifecycle management phase + * definitions, and cross-cluster replication (CCR) follower information. For + * example, if you clone a CCR follower index, the resulting clone will not be a + * follower index. + *

    + * The clone API copies most index settings from the source index to the + * resulting index, with the exception of index.number_of_replicas + * and index.auto_expand_replicas. To set the number of replicas in + * the resulting index, configure these settings in the clone request. + *

    + * Cloning works as follows: + *

      + *
    • First, it creates a new target index with the same definition as the + * source index.
    • + *
    • Then it hard-links segments from the source index into the target index. + * If the file system does not support hard-linking, all segments are copied + * into the new index, which is a much more time consuming process.
    • + *
    • Finally, it recovers the target index as though it were a closed index + * which had just been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be cloned if they meet the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have the same number of primary shards as the + * target index.
    • + *
    • The node handling the clone process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloseIndexRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloseIndexRequest.java index cf7fc3538..ae7f21fc6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloseIndexRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/CloseIndexRequest.java @@ -61,7 +61,33 @@ // typedef: indices.close.Request /** - * Closes an index. + * Close an index. A closed index is blocked for read or write operations and + * does not allow all operations that opened indices allow. It is not possible + * to index documents or to search for documents in a closed index. Closed + * indices do not have to maintain internal data structures for indexing or + * searching documents, which results in a smaller overhead on the cluster. + *

    + * When opening or closing an index, the master node is responsible for + * restarting the index shards to reflect the new state of the index. The shards + * will then go through the normal recovery process. The data of opened and + * closed indices is automatically replicated by the cluster to ensure that + * enough shard copies are safely kept around at all times. + *

    + * You can open and close multiple indices. An error is thrown if the request + * explicitly refers to a missing index. This behaviour can be turned off using + * the ignore_unavailable=true parameter. + *

    + * By default, you must explicitly name the indices you are opening or closing. + * To open or close indices with _all, *, or other + * wildcard expressions, change + * the action.destructive_requires_name setting to + * false. This setting can also be changed with the cluster update + * settings API. + *

    + * Closed indices consume a significant amount of disk-space which can cause + * problems in managed environments. Closing indices can be turned off with the + * cluster settings API by setting cluster.indices.close.enable to + * false. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DiskUsageRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DiskUsageRequest.java index eebe6a7ed..3c026fcfa 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DiskUsageRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DiskUsageRequest.java @@ -59,7 +59,10 @@ // typedef: indices.disk_usage.Request /** - * Analyzes the disk usage of each field of an index or data stream. + * Analyze the index disk usage. Analyze the disk usage of each field of an + * index or data stream. This API might not support indices created in previous + * Elasticsearch versions. The result of a small index can be inaccurate as some + * parts of an index might not be analyzed by the API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleRequest.java index 3434cb100..09d6a128d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleRequest.java @@ -59,10 +59,17 @@ // typedef: indices.downsample.Request /** - * Aggregates a time series (TSDS) index and stores pre-computed statistical - * summaries (min, max, sum, - * value_count and avg) for each metric field grouped - * by a configured time interval. + * Downsample an index. Aggregate a time series (TSDS) index and store + * pre-computed statistical summaries (min, max, + * sum, value_count and avg) for each + * metric field grouped by a configured time interval. For example, a TSDS index + * that contains metrics sampled every 10 seconds can be downsampled to an + * hourly index. All documents within an hour interval are summarized and stored + * as a single document in the downsample index. + *

    + * NOTE: Only indices in a time series data stream are supported. Neither field + * nor document level security can be defined on the source index. The source + * index must be read only (index.blocks.write: true). * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java index b651cf821..29577b4e1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java @@ -158,8 +158,8 @@ public CompletableFuture analyze() { // ----- Endpoint: indices.clear_cache /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @see Documentation @@ -174,8 +174,8 @@ public CompletableFuture clearCache(ClearCacheRequest reques } /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @param fn * a function that initializes a builder to create the @@ -191,8 +191,8 @@ public final CompletableFuture clearCache( } /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @see Documentation @@ -207,8 +207,42 @@ public CompletableFuture clearCache() { // ----- Endpoint: indices.clone /** - * Clones an existing index. - * + * Clone an index. Clone an existing index into a new index. Each original + * primary shard is cloned into a new primary shard in the new index. + *

    + * IMPORTANT: Elasticsearch does not apply index templates to the resulting + * index. The API also does not copy index metadata from the original index. + * Index metadata includes aliases, index lifecycle management phase + * definitions, and cross-cluster replication (CCR) follower information. For + * example, if you clone a CCR follower index, the resulting clone will not be a + * follower index. + *

    + * The clone API copies most index settings from the source index to the + * resulting index, with the exception of index.number_of_replicas + * and index.auto_expand_replicas. To set the number of replicas in + * the resulting index, configure these settings in the clone request. + *

    + * Cloning works as follows: + *

    + *

    + * IMPORTANT: Indices can only be cloned if they meet the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have the same number of primary shards as the + * target index.
    • + *
    • The node handling the clone process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see
    Documentation * on elastic.co @@ -222,8 +256,42 @@ public CompletableFuture clone(CloneIndexRequest request) { } /** - * Clones an existing index. - * + * Clone an index. Clone an existing index into a new index. Each original + * primary shard is cloned into a new primary shard in the new index. + *

    + * IMPORTANT: Elasticsearch does not apply index templates to the resulting + * index. The API also does not copy index metadata from the original index. + * Index metadata includes aliases, index lifecycle management phase + * definitions, and cross-cluster replication (CCR) follower information. For + * example, if you clone a CCR follower index, the resulting clone will not be a + * follower index. + *

    + * The clone API copies most index settings from the source index to the + * resulting index, with the exception of index.number_of_replicas + * and index.auto_expand_replicas. To set the number of replicas in + * the resulting index, configure these settings in the clone request. + *

    + * Cloning works as follows: + *

      + *
    • First, it creates a new target index with the same definition as the + * source index.
    • + *
    • Then it hard-links segments from the source index into the target index. + * If the file system does not support hard-linking, all segments are copied + * into the new index, which is a much more time consuming process.
    • + *
    • Finally, it recovers the target index as though it were a closed index + * which had just been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be cloned if they meet the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have the same number of primary shards as the + * target index.
    • + *
    • The node handling the clone process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link CloneIndexRequest} @@ -240,7 +308,33 @@ public final CompletableFuture clone( // ----- Endpoint: indices.close /** - * Closes an index. + * Close an index. A closed index is blocked for read or write operations and + * does not allow all operations that opened indices allow. It is not possible + * to index documents or to search for documents in a closed index. Closed + * indices do not have to maintain internal data structures for indexing or + * searching documents, which results in a smaller overhead on the cluster. + *

    + * When opening or closing an index, the master node is responsible for + * restarting the index shards to reflect the new state of the index. The shards + * will then go through the normal recovery process. The data of opened and + * closed indices is automatically replicated by the cluster to ensure that + * enough shard copies are safely kept around at all times. + *

    + * You can open and close multiple indices. An error is thrown if the request + * explicitly refers to a missing index. This behaviour can be turned off using + * the ignore_unavailable=true parameter. + *

    + * By default, you must explicitly name the indices you are opening or closing. + * To open or close indices with _all, *, or other + * wildcard expressions, change + * the action.destructive_requires_name setting to + * false. This setting can also be changed with the cluster update + * settings API. + *

    + * Closed indices consume a significant amount of disk-space which can cause + * problems in managed environments. Closing indices can be turned off with the + * cluster settings API by setting cluster.indices.close.enable to + * false. * * @see Documentation @@ -255,7 +349,33 @@ public CompletableFuture close(CloseIndexRequest request) { } /** - * Closes an index. + * Close an index. A closed index is blocked for read or write operations and + * does not allow all operations that opened indices allow. It is not possible + * to index documents or to search for documents in a closed index. Closed + * indices do not have to maintain internal data structures for indexing or + * searching documents, which results in a smaller overhead on the cluster. + *

    + * When opening or closing an index, the master node is responsible for + * restarting the index shards to reflect the new state of the index. The shards + * will then go through the normal recovery process. The data of opened and + * closed indices is automatically replicated by the cluster to ensure that + * enough shard copies are safely kept around at all times. + *

    + * You can open and close multiple indices. An error is thrown if the request + * explicitly refers to a missing index. This behaviour can be turned off using + * the ignore_unavailable=true parameter. + *

    + * By default, you must explicitly name the indices you are opening or closing. + * To open or close indices with _all, *, or other + * wildcard expressions, change + * the action.destructive_requires_name setting to + * false. This setting can also be changed with the cluster update + * settings API. + *

    + * Closed indices consume a significant amount of disk-space which can cause + * problems in managed environments. Closing indices can be turned off with the + * cluster settings API by setting cluster.indices.close.enable to + * false. * * @param fn * a function that initializes a builder to create the @@ -595,7 +715,10 @@ public final CompletableFuture deleteTemplate( // ----- Endpoint: indices.disk_usage /** - * Analyzes the disk usage of each field of an index or data stream. + * Analyze the index disk usage. Analyze the disk usage of each field of an + * index or data stream. This API might not support indices created in previous + * Elasticsearch versions. The result of a small index can be inaccurate as some + * parts of an index might not be analyzed by the API. * * @see Documentation @@ -610,7 +733,10 @@ public CompletableFuture diskUsage(DiskUsageRequest request) } /** - * Analyzes the disk usage of each field of an index or data stream. + * Analyze the index disk usage. Analyze the disk usage of each field of an + * index or data stream. This API might not support indices created in previous + * Elasticsearch versions. The result of a small index can be inaccurate as some + * parts of an index might not be analyzed by the API. * * @param fn * a function that initializes a builder to create the @@ -628,10 +754,17 @@ public final CompletableFuture diskUsage( // ----- Endpoint: indices.downsample /** - * Aggregates a time series (TSDS) index and stores pre-computed statistical - * summaries (min, max, sum, - * value_count and avg) for each metric field grouped - * by a configured time interval. + * Downsample an index. Aggregate a time series (TSDS) index and store + * pre-computed statistical summaries (min, max, + * sum, value_count and avg) for each + * metric field grouped by a configured time interval. For example, a TSDS index + * that contains metrics sampled every 10 seconds can be downsampled to an + * hourly index. All documents within an hour interval are summarized and stored + * as a single document in the downsample index. + *

    + * NOTE: Only indices in a time series data stream are supported. Neither field + * nor document level security can be defined on the source index. The source + * index must be read only (index.blocks.write: true). * * @see Documentation @@ -646,10 +779,17 @@ public CompletableFuture downsample(DownsampleRequest reques } /** - * Aggregates a time series (TSDS) index and stores pre-computed statistical - * summaries (min, max, sum, - * value_count and avg) for each metric field grouped - * by a configured time interval. + * Downsample an index. Aggregate a time series (TSDS) index and store + * pre-computed statistical summaries (min, max, + * sum, value_count and avg) for each + * metric field grouped by a configured time interval. For example, a TSDS index + * that contains metrics sampled every 10 seconds can be downsampled to an + * hourly index. All documents within an hour interval are summarized and stored + * as a single document in the downsample index. + *

    + * NOTE: Only indices in a time series data stream are supported. Neither field + * nor document level security can be defined on the source index. The source + * index must be read only (index.blocks.write: true). * * @param fn * a function that initializes a builder to create the @@ -803,10 +943,10 @@ public final CompletableFuture existsTemplate( // ----- Endpoint: indices.explain_data_lifecycle /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. + * Get the status for a data stream lifecycle. Get information about an index or + * data stream's current data stream lifecycle status, such as time since index + * creation, time since rollover, the lifecycle configuration managing the + * index, or any errors encountered during lifecycle execution. * * @see Documentation @@ -821,10 +961,10 @@ public CompletableFuture explainDataLifecycle(Expl } /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. + * Get the status for a data stream lifecycle. Get information about an index or + * data stream's current data stream lifecycle status, such as time since index + * creation, time since rollover, the lifecycle configuration managing the + * index, or any errors encountered during lifecycle execution. * * @param fn * a function that initializes a builder to create the @@ -842,7 +982,11 @@ public final CompletableFuture explainDataLifecycl // ----- Endpoint: indices.field_usage_stats /** - * Returns field usage information for each shard and field of an index. + * Get field usage stats. Get field usage information for each shard and field + * of an index. Field usage statistics are automatically captured when queries + * are running on a cluster. A shard-level search request that accesses a given + * field, even if multiple times during that request, is counted as a single + * use. * * @see Documentation @@ -857,7 +1001,11 @@ public CompletableFuture fieldUsageStats(FieldUsageStat } /** - * Returns field usage information for each shard and field of an index. + * Get field usage stats. Get field usage information for each shard and field + * of an index. Field usage statistics are automatically captured when queries + * are running on a cluster. A shard-level search request that accesses a given + * field, even if multiple times during that request, is counted as a single + * use. * * @param fn * a function that initializes a builder to create the @@ -875,7 +1023,26 @@ public final CompletableFuture fieldUsageStats( // ----- Endpoint: indices.flush /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @see Documentation @@ -890,7 +1057,26 @@ public CompletableFuture flush(FlushRequest request) { } /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @param fn * a function that initializes a builder to create the @@ -906,7 +1092,26 @@ public final CompletableFuture flush( } /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @see Documentation @@ -921,7 +1126,25 @@ public CompletableFuture flush() { // ----- Endpoint: indices.forcemerge /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @see Documentation @@ -936,7 +1159,25 @@ public CompletableFuture forcemerge(ForcemergeRequest reques } /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @param fn * a function that initializes a builder to create the @@ -952,7 +1193,25 @@ public final CompletableFuture forcemerge( } /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @see Documentation @@ -1480,8 +1739,22 @@ public final CompletableFuture open(Function + * With CCR auto following, a data stream from a remote cluster can be + * replicated to the local cluster. These data streams can't be rolled over in + * the local cluster. These replicated data streams roll over only if the + * upstream data stream rolls over. In the event that the remote cluster is no + * longer available, the data stream in the local cluster can be promoted to a + * regular data stream, which allows these data streams to be rolled over in the + * local cluster. + *

    + * NOTE: When promoting a data stream, ensure the local cluster has a data + * stream enabled index template that matches the data stream. If this is + * missing, the data stream will not be able to roll over until a matching index + * template is created. This will affect the lifecycle management of the data + * stream and interfere with the data stream size and retention. * * @see Documentation @@ -1496,8 +1769,22 @@ public CompletableFuture promoteDataStream(PromoteDat } /** - * Promotes a data stream from a replicated data stream managed by CCR to a - * regular data stream + * Promote a data stream. Promote a data stream from a replicated data stream + * managed by cross-cluster replication (CCR) to a regular data stream. + *

    + * With CCR auto following, a data stream from a remote cluster can be + * replicated to the local cluster. These data streams can't be rolled over in + * the local cluster. These replicated data streams roll over only if the + * upstream data stream rolls over. In the event that the remote cluster is no + * longer available, the data stream in the local cluster can be promoted to a + * regular data stream, which allows these data streams to be rolled over in the + * local cluster. + *

    + * NOTE: When promoting a data stream, ensure the local cluster has a data + * stream enabled index template that matches the data stream. If this is + * missing, the data stream will not be able to roll over until a matching index + * template is created. This will affect the lifecycle management of the data + * stream and interfere with the data stream size and retention. * * @param fn * a function that initializes a builder to create the @@ -1708,6 +1995,21 @@ public CompletableFuture putSettings() { /** * Create or update an index template. Index templates define settings, * mappings, and aliases that can be applied automatically to new indices. + * Elasticsearch applies templates to new indices based on an index pattern that + * matches the index name. + *

    + * IMPORTANT: This documentation is about legacy index templates, which are + * deprecated and will be replaced by the composable templates introduced in + * Elasticsearch 7.8. + *

    + * Composable templates always take precedence over legacy templates. If no + * composable template matches a new index, matching legacy templates are + * applied according to their order. + *

    + * Index templates are only applied during index creation. Changes to index + * templates do not affect existing indices. Settings and mappings specified in + * create index API requests override any settings or mappings specified in an + * index template. * * @see Documentation @@ -1724,6 +2026,21 @@ public CompletableFuture putTemplate(PutTemplateRequest req /** * Create or update an index template. Index templates define settings, * mappings, and aliases that can be applied automatically to new indices. + * Elasticsearch applies templates to new indices based on an index pattern that + * matches the index name. + *

    + * IMPORTANT: This documentation is about legacy index templates, which are + * deprecated and will be replaced by the composable templates introduced in + * Elasticsearch 7.8. + *

    + * Composable templates always take precedence over legacy templates. If no + * composable template matches a new index, matching legacy templates are + * applied according to their order. + *

    + * Index templates are only applied during index creation. Changes to index + * templates do not affect existing indices. Settings and mappings specified in + * create index API requests override any settings or mappings specified in an + * index template. * * @param fn * a function that initializes a builder to create the @@ -1741,9 +2058,37 @@ public final CompletableFuture putTemplate( // ----- Endpoint: indices.recovery /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @see Documentation @@ -1758,9 +2103,37 @@ public CompletableFuture recovery(RecoveryRequest request) { } /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @param fn * a function that initializes a builder to create the @@ -1776,9 +2149,37 @@ public final CompletableFuture recovery( } /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

      + *
    • When creating an index for the first time.
    • + *
    • When a node rejoins the cluster and starts up any missing primary shard + * copies using the data that it holds in its data path.
    • + *
    • Creation of new replica shard copies from the primary.
    • + *
    • Relocation of a shard copy to a different node in the same cluster.
    • + *
    • A snapshot restore operation.
    • + *
    • A clone, shrink, or split operation.
    • + *
    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @see Documentation @@ -1845,7 +2246,28 @@ public CompletableFuture refresh() { // ----- Endpoint: indices.reload_search_analyzers /** - * Reloads an index's search analyzers and their resources. + * Reload search analyzers. Reload an index's search analyzers and their + * resources. For data streams, the API reloads search analyzers and resources + * for the stream's backing indices. + *

    + * IMPORTANT: After reloading the search analyzers you should clear the request + * cache to make sure it doesn't contain responses derived from the previous + * versions of the analyzer. + *

    + * You can use the reload search analyzers API to pick up changes to synonym + * files used in the synonym_graph or synonym token + * filter of a search analyzer. To be eligible, the token filter must have an + * updateable flag of true and only be used in search + * analyzers. + *

    + * NOTE: This API does not perform a reload for each shard of an index. Instead, + * it performs a reload for each node containing index shards. As a result, the + * total shard count returned by the API can differ from the number of index + * shards. Because reloading affects every node with an index shard, it is + * important to update the synonym file on every data node in the + * cluster--including nodes that don't contain a shard replica--before using + * this API. This ensures the synonym file is updated everywhere in the cluster + * in case shards are relocated in the future. * * @see Documentation @@ -1861,7 +2283,28 @@ public CompletableFuture reloadSearchAnalyzers( } /** - * Reloads an index's search analyzers and their resources. + * Reload search analyzers. Reload an index's search analyzers and their + * resources. For data streams, the API reloads search analyzers and resources + * for the stream's backing indices. + *

    + * IMPORTANT: After reloading the search analyzers you should clear the request + * cache to make sure it doesn't contain responses derived from the previous + * versions of the analyzer. + *

    + * You can use the reload search analyzers API to pick up changes to synonym + * files used in the synonym_graph or synonym token + * filter of a search analyzer. To be eligible, the token filter must have an + * updateable flag of true and only be used in search + * analyzers. + *

    + * NOTE: This API does not perform a reload for each shard of an index. Instead, + * it performs a reload for each node containing index shards. As a result, the + * total shard count returned by the API can differ from the number of index + * shards. Because reloading affects every node with an index shard, it is + * important to update the synonym file on every data node in the + * cluster--including nodes that don't contain a shard replica--before using + * this API. This ensures the synonym file is updated everywhere in the cluster + * in case shards are relocated in the future. * * @param fn * a function that initializes a builder to create the @@ -1879,10 +2322,33 @@ public final CompletableFuture reloadSearchAnalyz // ----- Endpoint: indices.resolve_cluster /** - * Resolves the specified index expressions to return information about each - * cluster, including the local cluster, if included. Multiple patterns and - * remote clusters are supported. - * + * Resolve the cluster. Resolve the specified index expressions to return + * information about each cluster, including the local cluster, if included. + * Multiple patterns and remote clusters are supported. + *

    + * This endpoint is useful before doing a cross-cluster search in order to + * determine which remote clusters should be included in a search. + *

    + * You use the same index expression with this endpoint as you would for + * cross-cluster search. Index and cluster exclusions are also supported with + * this endpoint. + *

    + * For each cluster in the index expression, information is returned about: + *

    + * * @see Documentation * on elastic.co @@ -1896,10 +2362,33 @@ public CompletableFuture resolveCluster(ResolveClusterRe } /** - * Resolves the specified index expressions to return information about each - * cluster, including the local cluster, if included. Multiple patterns and - * remote clusters are supported. - * + * Resolve the cluster. Resolve the specified index expressions to return + * information about each cluster, including the local cluster, if included. + * Multiple patterns and remote clusters are supported. + *

    + * This endpoint is useful before doing a cross-cluster search in order to + * determine which remote clusters should be included in a search. + *

    + * You use the same index expression with this endpoint as you would for + * cross-cluster search. Index and cluster exclusions are also supported with + * this endpoint. + *

    + * For each cluster in the index expression, information is returned about: + *

      + *
    • Whether the querying ("local") cluster is currently connected + * to each remote cluster in the index expression scope.
    • + *
    • Whether each remote cluster is configured with + * skip_unavailable as true or + * false.
    • + *
    • Whether there are any indices, aliases, or data streams on that cluster + * that match the index expression.
    • + *
    • Whether the search is likely to have errors returned when you do the + * cross-cluster search (including any authorization errors if you do not have + * permission to query the index).
    • + *
    • Cluster version information, including the Elasticsearch server + * version.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link ResolveClusterRequest} @@ -1988,8 +2477,9 @@ public final CompletableFuture rollover( // ----- Endpoint: indices.segments /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the stream’s backing indices. + * Get index segments. Get low-level information about the Lucene segments in + * index shards. For data streams, the API returns information about the + * stream's backing indices. * * @see Documentation @@ -2004,8 +2494,9 @@ public CompletableFuture segments(SegmentsRequest request) { } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the stream’s backing indices. + * Get index segments. Get low-level information about the Lucene segments in + * index shards. For data streams, the API returns information about the + * stream's backing indices. * * @param fn * a function that initializes a builder to create the @@ -2021,8 +2512,9 @@ public final CompletableFuture segments( } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the stream’s backing indices. + * Get index segments. Get low-level information about the Lucene segments in + * index shards. For data streams, the API returns information about the + * stream's backing indices. * * @see Documentation @@ -2037,9 +2529,21 @@ public CompletableFuture segments() { // ----- Endpoint: indices.shard_stores /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

      + *
    • The node on which each replica shard exists.
    • + *
    • The allocation ID for each replica shard.
    • + *
    • A unique ID for each replica shard.
    • + *
    • Any errors encountered while opening the shard index or from an earlier + * failure.
    • + *
    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @see Documentation @@ -2054,9 +2558,21 @@ public CompletableFuture shardStores(ShardStoresRequest req } /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @param fn * a function that initializes a builder to create the @@ -2072,9 +2588,21 @@ public final CompletableFuture shardStores( } /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

      + *
    • The node on which each replica shard exists.
    • + *
    • The allocation ID for each replica shard.
    • + *
    • A unique ID for each replica shard.
    • + *
    • Any errors encountered while opening the shard index or from an earlier + * failure.
    • + *
    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @see Documentation @@ -2089,8 +2617,62 @@ public CompletableFuture shardStores() { // ----- Endpoint: indices.shrink /** - * Shrinks an existing index into a new index with fewer primary shards. - * + * Shrink an index. Shrink an index into a new index with fewer primary shards. + *

    + * Before you can shrink an index: + *

    + *

    + * To make shard allocation easier, we recommend you also remove the index's + * replica shards. You can later re-add replica shards as part of the shrink + * operation. + *

    + * The requested number of primary shards in the target index must be a factor + * of the number of shards in the source index. For example an index with 8 + * primary shards can be shrunk into 4, 2 or 1 primary shards or an index with + * 15 primary shards can be shrunk into 5, 3 or 1. If the number of shards in + * the index is a prime number it can only be shrunk into a single primary shard + * Before shrinking, a (primary or replica) copy of every shard in the index + * must be present on the same node. + *

    + * The current write index on a data stream cannot be shrunk. In order to shrink + * the current write index, the data stream must first be rolled over so that a + * new write index is created and then the previous write index can be shrunk. + *

    + * A shrink operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a smaller number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system does not support hard-linking, then all segments are copied into + * the new index, which is a much more time consuming process. Also if using + * multiple data paths, shards on different data paths require a full copy of + * segment files if they are not on the same disk since hardlinks do not work + * across disks.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened. Recovers shards to the + * .routing.allocation.initial_recovery._id index setting.
    • + *
    + *

    + * IMPORTANT: Indices can only be shrunk if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have more primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a factor of the + * number of primary shards in the source index. The source index must have more + * primary shards than the target index.
    • + *
    • The index must not contain more than 2,147,483,519 documents in total + * across all shards that will be shrunk into a single shard on the target index + * as this is the maximum number of docs that can fit into a single shard.
    • + *
    • The node handling the shrink process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see
    Documentation * on elastic.co @@ -2104,8 +2686,62 @@ public CompletableFuture shrink(ShrinkRequest request) { } /** - * Shrinks an existing index into a new index with fewer primary shards. - * + * Shrink an index. Shrink an index into a new index with fewer primary shards. + *

    + * Before you can shrink an index: + *

      + *
    • The index must be read-only.
    • + *
    • A copy of every shard in the index must reside on the same node.
    • + *
    • The index must have a green health status.
    • + *
    + *

    + * To make shard allocation easier, we recommend you also remove the index's + * replica shards. You can later re-add replica shards as part of the shrink + * operation. + *

    + * The requested number of primary shards in the target index must be a factor + * of the number of shards in the source index. For example an index with 8 + * primary shards can be shrunk into 4, 2 or 1 primary shards or an index with + * 15 primary shards can be shrunk into 5, 3 or 1. If the number of shards in + * the index is a prime number it can only be shrunk into a single primary shard + * Before shrinking, a (primary or replica) copy of every shard in the index + * must be present on the same node. + *

    + * The current write index on a data stream cannot be shrunk. In order to shrink + * the current write index, the data stream must first be rolled over so that a + * new write index is created and then the previous write index can be shrunk. + *

    + * A shrink operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a smaller number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system does not support hard-linking, then all segments are copied into + * the new index, which is a much more time consuming process. Also if using + * multiple data paths, shards on different data paths require a full copy of + * segment files if they are not on the same disk since hardlinks do not work + * across disks.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened. Recovers shards to the + * .routing.allocation.initial_recovery._id index setting.
    • + *
    + *

    + * IMPORTANT: Indices can only be shrunk if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have more primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a factor of the + * number of primary shards in the source index. The source index must have more + * primary shards than the target index.
    • + *
    • The index must not contain more than 2,147,483,519 documents in total + * across all shards that will be shrunk into a single shard on the target index + * as this is the maximum number of docs that can fit into a single shard.
    • + *
    • The node handling the shrink process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link ShrinkRequest} @@ -2207,8 +2843,58 @@ public CompletableFuture simulateTemplate() { // ----- Endpoint: indices.split /** - * Splits an existing index into a new index with more primary shards. - * + * Split an index. Split an index into a new index with more primary shards. + *
      + *
    • + *

      + * Before you can split an index: + *

      + *
    • + *
    • + *

      + * The index must be read-only. + *

      + *
    • + *
    • + *

      + * The cluster health status must be green. + *

      + *
    • + *
    + *

    + * The number of times the index can be split (and the number of shards that + * each original shard can be split into) is determined by the + * index.number_of_routing_shards setting. The number of routing + * shards specifies the hashing space that is used internally to distribute + * documents across shards with consistent hashing. For instance, a 5 shard + * index with number_of_routing_shards set to 30 (5 x 2 x 3) could + * be split by a factor of 2 or 3. + *

    + * A split operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a larger number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system doesn't support hard-linking, all segments are copied into the + * new index, which is a much more time consuming process.
    • + *
    • Hashes all documents again, after low level files are created, to delete + * documents that belong to a different shard.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be split if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have fewer primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a multiple of + * the number of primary shards in the source index.
    • + *
    • The node handling the split process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see Documentation * on elastic.co @@ -2222,8 +2908,58 @@ public CompletableFuture split(SplitRequest request) { } /** - * Splits an existing index into a new index with more primary shards. - * + * Split an index. Split an index into a new index with more primary shards. + *
      + *
    • + *

      + * Before you can split an index: + *

      + *
    • + *
    • + *

      + * The index must be read-only. + *

      + *
    • + *
    • + *

      + * The cluster health status must be green. + *

      + *
    • + *
    + *

    + * The number of times the index can be split (and the number of shards that + * each original shard can be split into) is determined by the + * index.number_of_routing_shards setting. The number of routing + * shards specifies the hashing space that is used internally to distribute + * documents across shards with consistent hashing. For instance, a 5 shard + * index with number_of_routing_shards set to 30 (5 x 2 x 3) could + * be split by a factor of 2 or 3. + *

    + * A split operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a larger number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system doesn't support hard-linking, all segments are copied into the + * new index, which is a much more time consuming process.
    • + *
    • Hashes all documents again, after low level files are created, to delete + * documents that belong to a different shard.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be split if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have fewer primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a multiple of + * the number of primary shards in the source index.
    • + *
    • The node handling the split process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link SplitRequest} @@ -2240,8 +2976,21 @@ public final CompletableFuture split( // ----- Endpoint: indices.stats /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @see Documentation @@ -2256,8 +3005,21 @@ public CompletableFuture stats(IndicesStatsRequest request } /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @param fn * a function that initializes a builder to create the @@ -2273,8 +3035,21 @@ public final CompletableFuture stats( } /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @see Documentation @@ -2289,7 +3064,8 @@ public CompletableFuture stats() { // ----- Endpoint: indices.unfreeze /** - * Unfreezes an index. + * Unfreeze an index. When a frozen index is unfrozen, the index goes through + * the normal recovery process and becomes writeable again. * * @see Documentation @@ -2304,7 +3080,8 @@ public CompletableFuture unfreeze(UnfreezeRequest request) { } /** - * Unfreezes an index. + * Unfreeze an index. When a frozen index is unfrozen, the index goes through + * the normal recovery process and becomes writeable again. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java index c4887ea43..7effcb255 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java @@ -156,8 +156,8 @@ public AnalyzeResponse analyze() throws IOException, ElasticsearchException { // ----- Endpoint: indices.clear_cache /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @see Documentation @@ -172,8 +172,8 @@ public ClearCacheResponse clearCache(ClearCacheRequest request) throws IOExcepti } /** - * Clears the caches of one or more indices. For data streams, the API clears - * the caches of the stream’s backing indices. + * Clear the cache. Clear the cache of one or more indices. For data streams, + * the API clears the caches of the stream's backing indices. * * @param fn * a function that initializes a builder to create the @@ -189,8 +189,8 @@ public final ClearCacheResponse clearCache(FunctionDocumentation @@ -205,8 +205,42 @@ public ClearCacheResponse clearCache() throws IOException, ElasticsearchExceptio // ----- Endpoint: indices.clone /** - * Clones an existing index. - * + * Clone an index. Clone an existing index into a new index. Each original + * primary shard is cloned into a new primary shard in the new index. + *

    + * IMPORTANT: Elasticsearch does not apply index templates to the resulting + * index. The API also does not copy index metadata from the original index. + * Index metadata includes aliases, index lifecycle management phase + * definitions, and cross-cluster replication (CCR) follower information. For + * example, if you clone a CCR follower index, the resulting clone will not be a + * follower index. + *

    + * The clone API copies most index settings from the source index to the + * resulting index, with the exception of index.number_of_replicas + * and index.auto_expand_replicas. To set the number of replicas in + * the resulting index, configure these settings in the clone request. + *

    + * Cloning works as follows: + *

    + *

    + * IMPORTANT: Indices can only be cloned if they meet the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have the same number of primary shards as the + * target index.
    • + *
    • The node handling the clone process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see
    Documentation * on elastic.co @@ -220,8 +254,42 @@ public CloneIndexResponse clone(CloneIndexRequest request) throws IOException, E } /** - * Clones an existing index. - * + * Clone an index. Clone an existing index into a new index. Each original + * primary shard is cloned into a new primary shard in the new index. + *

    + * IMPORTANT: Elasticsearch does not apply index templates to the resulting + * index. The API also does not copy index metadata from the original index. + * Index metadata includes aliases, index lifecycle management phase + * definitions, and cross-cluster replication (CCR) follower information. For + * example, if you clone a CCR follower index, the resulting clone will not be a + * follower index. + *

    + * The clone API copies most index settings from the source index to the + * resulting index, with the exception of index.number_of_replicas + * and index.auto_expand_replicas. To set the number of replicas in + * the resulting index, configure these settings in the clone request. + *

    + * Cloning works as follows: + *

      + *
    • First, it creates a new target index with the same definition as the + * source index.
    • + *
    • Then it hard-links segments from the source index into the target index. + * If the file system does not support hard-linking, all segments are copied + * into the new index, which is a much more time consuming process.
    • + *
    • Finally, it recovers the target index as though it were a closed index + * which had just been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be cloned if they meet the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have the same number of primary shards as the + * target index.
    • + *
    • The node handling the clone process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link CloneIndexRequest} @@ -238,7 +306,33 @@ public final CloneIndexResponse clone(Function + * When opening or closing an index, the master node is responsible for + * restarting the index shards to reflect the new state of the index. The shards + * will then go through the normal recovery process. The data of opened and + * closed indices is automatically replicated by the cluster to ensure that + * enough shard copies are safely kept around at all times. + *

    + * You can open and close multiple indices. An error is thrown if the request + * explicitly refers to a missing index. This behaviour can be turned off using + * the ignore_unavailable=true parameter. + *

    + * By default, you must explicitly name the indices you are opening or closing. + * To open or close indices with _all, *, or other + * wildcard expressions, change + * the action.destructive_requires_name setting to + * false. This setting can also be changed with the cluster update + * settings API. + *

    + * Closed indices consume a significant amount of disk-space which can cause + * problems in managed environments. Closing indices can be turned off with the + * cluster settings API by setting cluster.indices.close.enable to + * false. * * @see Documentation @@ -253,7 +347,33 @@ public CloseIndexResponse close(CloseIndexRequest request) throws IOException, E } /** - * Closes an index. + * Close an index. A closed index is blocked for read or write operations and + * does not allow all operations that opened indices allow. It is not possible + * to index documents or to search for documents in a closed index. Closed + * indices do not have to maintain internal data structures for indexing or + * searching documents, which results in a smaller overhead on the cluster. + *

    + * When opening or closing an index, the master node is responsible for + * restarting the index shards to reflect the new state of the index. The shards + * will then go through the normal recovery process. The data of opened and + * closed indices is automatically replicated by the cluster to ensure that + * enough shard copies are safely kept around at all times. + *

    + * You can open and close multiple indices. An error is thrown if the request + * explicitly refers to a missing index. This behaviour can be turned off using + * the ignore_unavailable=true parameter. + *

    + * By default, you must explicitly name the indices you are opening or closing. + * To open or close indices with _all, *, or other + * wildcard expressions, change + * the action.destructive_requires_name setting to + * false. This setting can also be changed with the cluster update + * settings API. + *

    + * Closed indices consume a significant amount of disk-space which can cause + * problems in managed environments. Closing indices can be turned off with the + * cluster settings API by setting cluster.indices.close.enable to + * false. * * @param fn * a function that initializes a builder to create the @@ -606,7 +726,10 @@ public final DeleteTemplateResponse deleteTemplate( // ----- Endpoint: indices.disk_usage /** - * Analyzes the disk usage of each field of an index or data stream. + * Analyze the index disk usage. Analyze the disk usage of each field of an + * index or data stream. This API might not support indices created in previous + * Elasticsearch versions. The result of a small index can be inaccurate as some + * parts of an index might not be analyzed by the API. * * @see Documentation @@ -621,7 +744,10 @@ public DiskUsageResponse diskUsage(DiskUsageRequest request) throws IOException, } /** - * Analyzes the disk usage of each field of an index or data stream. + * Analyze the index disk usage. Analyze the disk usage of each field of an + * index or data stream. This API might not support indices created in previous + * Elasticsearch versions. The result of a small index can be inaccurate as some + * parts of an index might not be analyzed by the API. * * @param fn * a function that initializes a builder to create the @@ -639,10 +765,17 @@ public final DiskUsageResponse diskUsage(Functionmin, max, sum, - * value_count and avg) for each metric field grouped - * by a configured time interval. + * Downsample an index. Aggregate a time series (TSDS) index and store + * pre-computed statistical summaries (min, max, + * sum, value_count and avg) for each + * metric field grouped by a configured time interval. For example, a TSDS index + * that contains metrics sampled every 10 seconds can be downsampled to an + * hourly index. All documents within an hour interval are summarized and stored + * as a single document in the downsample index. + *

    + * NOTE: Only indices in a time series data stream are supported. Neither field + * nor document level security can be defined on the source index. The source + * index must be read only (index.blocks.write: true). * * @see Documentation @@ -657,10 +790,17 @@ public DownsampleResponse downsample(DownsampleRequest request) throws IOExcepti } /** - * Aggregates a time series (TSDS) index and stores pre-computed statistical - * summaries (min, max, sum, - * value_count and avg) for each metric field grouped - * by a configured time interval. + * Downsample an index. Aggregate a time series (TSDS) index and store + * pre-computed statistical summaries (min, max, + * sum, value_count and avg) for each + * metric field grouped by a configured time interval. For example, a TSDS index + * that contains metrics sampled every 10 seconds can be downsampled to an + * hourly index. All documents within an hour interval are summarized and stored + * as a single document in the downsample index. + *

    + * NOTE: Only indices in a time series data stream are supported. Neither field + * nor document level security can be defined on the source index. The source + * index must be read only (index.blocks.write: true). * * @param fn * a function that initializes a builder to create the @@ -817,10 +957,10 @@ public final BooleanResponse existsTemplate( // ----- Endpoint: indices.explain_data_lifecycle /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. + * Get the status for a data stream lifecycle. Get information about an index or + * data stream's current data stream lifecycle status, such as time since index + * creation, time since rollover, the lifecycle configuration managing the + * index, or any errors encountered during lifecycle execution. * * @see Documentation @@ -836,10 +976,10 @@ public ExplainDataLifecycleResponse explainDataLifecycle(ExplainDataLifecycleReq } /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. + * Get the status for a data stream lifecycle. Get information about an index or + * data stream's current data stream lifecycle status, such as time since index + * creation, time since rollover, the lifecycle configuration managing the + * index, or any errors encountered during lifecycle execution. * * @param fn * a function that initializes a builder to create the @@ -858,7 +998,11 @@ public final ExplainDataLifecycleResponse explainDataLifecycle( // ----- Endpoint: indices.field_usage_stats /** - * Returns field usage information for each shard and field of an index. + * Get field usage stats. Get field usage information for each shard and field + * of an index. Field usage statistics are automatically captured when queries + * are running on a cluster. A shard-level search request that accesses a given + * field, even if multiple times during that request, is counted as a single + * use. * * @see Documentation @@ -874,7 +1018,11 @@ public FieldUsageStatsResponse fieldUsageStats(FieldUsageStatsRequest request) } /** - * Returns field usage information for each shard and field of an index. + * Get field usage stats. Get field usage information for each shard and field + * of an index. Field usage statistics are automatically captured when queries + * are running on a cluster. A shard-level search request that accesses a given + * field, even if multiple times during that request, is counted as a single + * use. * * @param fn * a function that initializes a builder to create the @@ -893,7 +1041,26 @@ public final FieldUsageStatsResponse fieldUsageStats( // ----- Endpoint: indices.flush /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @see Documentation @@ -908,7 +1075,26 @@ public FlushResponse flush(FlushRequest request) throws IOException, Elasticsear } /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @param fn * a function that initializes a builder to create the @@ -924,7 +1110,26 @@ public final FlushResponse flush(Function + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @see Documentation @@ -939,7 +1144,25 @@ public FlushResponse flush() throws IOException, ElasticsearchException { // ----- Endpoint: indices.forcemerge /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @see Documentation @@ -954,7 +1177,25 @@ public ForcemergeResponse forcemerge(ForcemergeRequest request) throws IOExcepti } /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @param fn * a function that initializes a builder to create the @@ -970,7 +1211,25 @@ public final ForcemergeResponse forcemerge(Function + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @see Documentation @@ -1514,8 +1773,22 @@ public final OpenResponse open(Function + * With CCR auto following, a data stream from a remote cluster can be + * replicated to the local cluster. These data streams can't be rolled over in + * the local cluster. These replicated data streams roll over only if the + * upstream data stream rolls over. In the event that the remote cluster is no + * longer available, the data stream in the local cluster can be promoted to a + * regular data stream, which allows these data streams to be rolled over in the + * local cluster. + *

    + * NOTE: When promoting a data stream, ensure the local cluster has a data + * stream enabled index template that matches the data stream. If this is + * missing, the data stream will not be able to roll over until a matching index + * template is created. This will affect the lifecycle management of the data + * stream and interfere with the data stream size and retention. * * @see Documentation @@ -1531,8 +1804,22 @@ public PromoteDataStreamResponse promoteDataStream(PromoteDataStreamRequest requ } /** - * Promotes a data stream from a replicated data stream managed by CCR to a - * regular data stream + * Promote a data stream. Promote a data stream from a replicated data stream + * managed by cross-cluster replication (CCR) to a regular data stream. + *

    + * With CCR auto following, a data stream from a remote cluster can be + * replicated to the local cluster. These data streams can't be rolled over in + * the local cluster. These replicated data streams roll over only if the + * upstream data stream rolls over. In the event that the remote cluster is no + * longer available, the data stream in the local cluster can be promoted to a + * regular data stream, which allows these data streams to be rolled over in the + * local cluster. + *

    + * NOTE: When promoting a data stream, ensure the local cluster has a data + * stream enabled index template that matches the data stream. If this is + * missing, the data stream will not be able to roll over until a matching index + * template is created. This will affect the lifecycle management of the data + * stream and interfere with the data stream size and retention. * * @param fn * a function that initializes a builder to create the @@ -1750,6 +2037,21 @@ public PutIndicesSettingsResponse putSettings() throws IOException, Elasticsearc /** * Create or update an index template. Index templates define settings, * mappings, and aliases that can be applied automatically to new indices. + * Elasticsearch applies templates to new indices based on an index pattern that + * matches the index name. + *

    + * IMPORTANT: This documentation is about legacy index templates, which are + * deprecated and will be replaced by the composable templates introduced in + * Elasticsearch 7.8. + *

    + * Composable templates always take precedence over legacy templates. If no + * composable template matches a new index, matching legacy templates are + * applied according to their order. + *

    + * Index templates are only applied during index creation. Changes to index + * templates do not affect existing indices. Settings and mappings specified in + * create index API requests override any settings or mappings specified in an + * index template. * * @see Documentation @@ -1766,6 +2068,21 @@ public PutTemplateResponse putTemplate(PutTemplateRequest request) throws IOExce /** * Create or update an index template. Index templates define settings, * mappings, and aliases that can be applied automatically to new indices. + * Elasticsearch applies templates to new indices based on an index pattern that + * matches the index name. + *

    + * IMPORTANT: This documentation is about legacy index templates, which are + * deprecated and will be replaced by the composable templates introduced in + * Elasticsearch 7.8. + *

    + * Composable templates always take precedence over legacy templates. If no + * composable template matches a new index, matching legacy templates are + * applied according to their order. + *

    + * Index templates are only applied during index creation. Changes to index + * templates do not affect existing indices. Settings and mappings specified in + * create index API requests override any settings or mappings specified in an + * index template. * * @param fn * a function that initializes a builder to create the @@ -1784,9 +2101,37 @@ public final PutTemplateResponse putTemplate( // ----- Endpoint: indices.recovery /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @see Documentation @@ -1801,9 +2146,37 @@ public RecoveryResponse recovery(RecoveryRequest request) throws IOException, El } /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @param fn * a function that initializes a builder to create the @@ -1819,9 +2192,37 @@ public final RecoveryResponse recovery(Function + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

      + *
    • When creating an index for the first time.
    • + *
    • When a node rejoins the cluster and starts up any missing primary shard + * copies using the data that it holds in its data path.
    • + *
    • Creation of new replica shard copies from the primary.
    • + *
    • Relocation of a shard copy to a different node in the same cluster.
    • + *
    • A snapshot restore operation.
    • + *
    • A clone, shrink, or split operation.
    • + *
    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @see Documentation @@ -1888,7 +2289,28 @@ public RefreshResponse refresh() throws IOException, ElasticsearchException { // ----- Endpoint: indices.reload_search_analyzers /** - * Reloads an index's search analyzers and their resources. + * Reload search analyzers. Reload an index's search analyzers and their + * resources. For data streams, the API reloads search analyzers and resources + * for the stream's backing indices. + *

    + * IMPORTANT: After reloading the search analyzers you should clear the request + * cache to make sure it doesn't contain responses derived from the previous + * versions of the analyzer. + *

    + * You can use the reload search analyzers API to pick up changes to synonym + * files used in the synonym_graph or synonym token + * filter of a search analyzer. To be eligible, the token filter must have an + * updateable flag of true and only be used in search + * analyzers. + *

    + * NOTE: This API does not perform a reload for each shard of an index. Instead, + * it performs a reload for each node containing index shards. As a result, the + * total shard count returned by the API can differ from the number of index + * shards. Because reloading affects every node with an index shard, it is + * important to update the synonym file on every data node in the + * cluster--including nodes that don't contain a shard replica--before using + * this API. This ensures the synonym file is updated everywhere in the cluster + * in case shards are relocated in the future. * * @see Documentation @@ -1904,7 +2326,28 @@ public ReloadSearchAnalyzersResponse reloadSearchAnalyzers(ReloadSearchAnalyzers } /** - * Reloads an index's search analyzers and their resources. + * Reload search analyzers. Reload an index's search analyzers and their + * resources. For data streams, the API reloads search analyzers and resources + * for the stream's backing indices. + *

    + * IMPORTANT: After reloading the search analyzers you should clear the request + * cache to make sure it doesn't contain responses derived from the previous + * versions of the analyzer. + *

    + * You can use the reload search analyzers API to pick up changes to synonym + * files used in the synonym_graph or synonym token + * filter of a search analyzer. To be eligible, the token filter must have an + * updateable flag of true and only be used in search + * analyzers. + *

    + * NOTE: This API does not perform a reload for each shard of an index. Instead, + * it performs a reload for each node containing index shards. As a result, the + * total shard count returned by the API can differ from the number of index + * shards. Because reloading affects every node with an index shard, it is + * important to update the synonym file on every data node in the + * cluster--including nodes that don't contain a shard replica--before using + * this API. This ensures the synonym file is updated everywhere in the cluster + * in case shards are relocated in the future. * * @param fn * a function that initializes a builder to create the @@ -1923,10 +2366,33 @@ public final ReloadSearchAnalyzersResponse reloadSearchAnalyzers( // ----- Endpoint: indices.resolve_cluster /** - * Resolves the specified index expressions to return information about each - * cluster, including the local cluster, if included. Multiple patterns and - * remote clusters are supported. - * + * Resolve the cluster. Resolve the specified index expressions to return + * information about each cluster, including the local cluster, if included. + * Multiple patterns and remote clusters are supported. + *

    + * This endpoint is useful before doing a cross-cluster search in order to + * determine which remote clusters should be included in a search. + *

    + * You use the same index expression with this endpoint as you would for + * cross-cluster search. Index and cluster exclusions are also supported with + * this endpoint. + *

    + * For each cluster in the index expression, information is returned about: + *

    + * * @see Documentation * on elastic.co @@ -1941,10 +2407,33 @@ public ResolveClusterResponse resolveCluster(ResolveClusterRequest request) } /** - * Resolves the specified index expressions to return information about each - * cluster, including the local cluster, if included. Multiple patterns and - * remote clusters are supported. - * + * Resolve the cluster. Resolve the specified index expressions to return + * information about each cluster, including the local cluster, if included. + * Multiple patterns and remote clusters are supported. + *

    + * This endpoint is useful before doing a cross-cluster search in order to + * determine which remote clusters should be included in a search. + *

    + * You use the same index expression with this endpoint as you would for + * cross-cluster search. Index and cluster exclusions are also supported with + * this endpoint. + *

    + * For each cluster in the index expression, information is returned about: + *

      + *
    • Whether the querying ("local") cluster is currently connected + * to each remote cluster in the index expression scope.
    • + *
    • Whether each remote cluster is configured with + * skip_unavailable as true or + * false.
    • + *
    • Whether there are any indices, aliases, or data streams on that cluster + * that match the index expression.
    • + *
    • Whether the search is likely to have errors returned when you do the + * cross-cluster search (including any authorization errors if you do not have + * permission to query the index).
    • + *
    • Cluster version information, including the Elasticsearch server + * version.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link ResolveClusterRequest} @@ -2035,8 +2524,9 @@ public final RolloverResponse rollover(FunctionDocumentation @@ -2051,8 +2541,9 @@ public SegmentsResponse segments(SegmentsRequest request) throws IOException, El } /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the stream’s backing indices. + * Get index segments. Get low-level information about the Lucene segments in + * index shards. For data streams, the API returns information about the + * stream's backing indices. * * @param fn * a function that initializes a builder to create the @@ -2068,8 +2559,9 @@ public final SegmentsResponse segments(FunctionDocumentation @@ -2084,9 +2576,21 @@ public SegmentsResponse segments() throws IOException, ElasticsearchException { // ----- Endpoint: indices.shard_stores /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

      + *
    • The node on which each replica shard exists.
    • + *
    • The allocation ID for each replica shard.
    • + *
    • A unique ID for each replica shard.
    • + *
    • Any errors encountered while opening the shard index or from an earlier + * failure.
    • + *
    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @see Documentation @@ -2101,9 +2605,21 @@ public ShardStoresResponse shardStores(ShardStoresRequest request) throws IOExce } /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @param fn * a function that initializes a builder to create the @@ -2120,9 +2636,21 @@ public final ShardStoresResponse shardStores( } /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

      + *
    • The node on which each replica shard exists.
    • + *
    • The allocation ID for each replica shard.
    • + *
    • A unique ID for each replica shard.
    • + *
    • Any errors encountered while opening the shard index or from an earlier + * failure.
    • + *
    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @see Documentation @@ -2137,8 +2665,62 @@ public ShardStoresResponse shardStores() throws IOException, ElasticsearchExcept // ----- Endpoint: indices.shrink /** - * Shrinks an existing index into a new index with fewer primary shards. - * + * Shrink an index. Shrink an index into a new index with fewer primary shards. + *

    + * Before you can shrink an index: + *

    + *

    + * To make shard allocation easier, we recommend you also remove the index's + * replica shards. You can later re-add replica shards as part of the shrink + * operation. + *

    + * The requested number of primary shards in the target index must be a factor + * of the number of shards in the source index. For example an index with 8 + * primary shards can be shrunk into 4, 2 or 1 primary shards or an index with + * 15 primary shards can be shrunk into 5, 3 or 1. If the number of shards in + * the index is a prime number it can only be shrunk into a single primary shard + * Before shrinking, a (primary or replica) copy of every shard in the index + * must be present on the same node. + *

    + * The current write index on a data stream cannot be shrunk. In order to shrink + * the current write index, the data stream must first be rolled over so that a + * new write index is created and then the previous write index can be shrunk. + *

    + * A shrink operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a smaller number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system does not support hard-linking, then all segments are copied into + * the new index, which is a much more time consuming process. Also if using + * multiple data paths, shards on different data paths require a full copy of + * segment files if they are not on the same disk since hardlinks do not work + * across disks.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened. Recovers shards to the + * .routing.allocation.initial_recovery._id index setting.
    • + *
    + *

    + * IMPORTANT: Indices can only be shrunk if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have more primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a factor of the + * number of primary shards in the source index. The source index must have more + * primary shards than the target index.
    • + *
    • The index must not contain more than 2,147,483,519 documents in total + * across all shards that will be shrunk into a single shard on the target index + * as this is the maximum number of docs that can fit into a single shard.
    • + *
    • The node handling the shrink process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see
    Documentation * on elastic.co @@ -2152,8 +2734,62 @@ public ShrinkResponse shrink(ShrinkRequest request) throws IOException, Elastics } /** - * Shrinks an existing index into a new index with fewer primary shards. - * + * Shrink an index. Shrink an index into a new index with fewer primary shards. + *

    + * Before you can shrink an index: + *

      + *
    • The index must be read-only.
    • + *
    • A copy of every shard in the index must reside on the same node.
    • + *
    • The index must have a green health status.
    • + *
    + *

    + * To make shard allocation easier, we recommend you also remove the index's + * replica shards. You can later re-add replica shards as part of the shrink + * operation. + *

    + * The requested number of primary shards in the target index must be a factor + * of the number of shards in the source index. For example an index with 8 + * primary shards can be shrunk into 4, 2 or 1 primary shards or an index with + * 15 primary shards can be shrunk into 5, 3 or 1. If the number of shards in + * the index is a prime number it can only be shrunk into a single primary shard + * Before shrinking, a (primary or replica) copy of every shard in the index + * must be present on the same node. + *

    + * The current write index on a data stream cannot be shrunk. In order to shrink + * the current write index, the data stream must first be rolled over so that a + * new write index is created and then the previous write index can be shrunk. + *

    + * A shrink operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a smaller number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system does not support hard-linking, then all segments are copied into + * the new index, which is a much more time consuming process. Also if using + * multiple data paths, shards on different data paths require a full copy of + * segment files if they are not on the same disk since hardlinks do not work + * across disks.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened. Recovers shards to the + * .routing.allocation.initial_recovery._id index setting.
    • + *
    + *

    + * IMPORTANT: Indices can only be shrunk if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have more primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a factor of the + * number of primary shards in the source index. The source index must have more + * primary shards than the target index.
    • + *
    • The index must not contain more than 2,147,483,519 documents in total + * across all shards that will be shrunk into a single shard on the target index + * as this is the maximum number of docs that can fit into a single shard.
    • + *
    • The node handling the shrink process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link ShrinkRequest} @@ -2258,8 +2894,58 @@ public SimulateTemplateResponse simulateTemplate() throws IOException, Elasticse // ----- Endpoint: indices.split /** - * Splits an existing index into a new index with more primary shards. - * + * Split an index. Split an index into a new index with more primary shards. + *
      + *
    • + *

      + * Before you can split an index: + *

      + *
    • + *
    • + *

      + * The index must be read-only. + *

      + *
    • + *
    • + *

      + * The cluster health status must be green. + *

      + *
    • + *
    + *

    + * The number of times the index can be split (and the number of shards that + * each original shard can be split into) is determined by the + * index.number_of_routing_shards setting. The number of routing + * shards specifies the hashing space that is used internally to distribute + * documents across shards with consistent hashing. For instance, a 5 shard + * index with number_of_routing_shards set to 30 (5 x 2 x 3) could + * be split by a factor of 2 or 3. + *

    + * A split operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a larger number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system doesn't support hard-linking, all segments are copied into the + * new index, which is a much more time consuming process.
    • + *
    • Hashes all documents again, after low level files are created, to delete + * documents that belong to a different shard.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be split if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have fewer primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a multiple of + * the number of primary shards in the source index.
    • + *
    • The node handling the split process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see Documentation * on elastic.co @@ -2273,8 +2959,58 @@ public SplitResponse split(SplitRequest request) throws IOException, Elasticsear } /** - * Splits an existing index into a new index with more primary shards. - * + * Split an index. Split an index into a new index with more primary shards. + *
      + *
    • + *

      + * Before you can split an index: + *

      + *
    • + *
    • + *

      + * The index must be read-only. + *

      + *
    • + *
    • + *

      + * The cluster health status must be green. + *

      + *
    • + *
    + *

    + * The number of times the index can be split (and the number of shards that + * each original shard can be split into) is determined by the + * index.number_of_routing_shards setting. The number of routing + * shards specifies the hashing space that is used internally to distribute + * documents across shards with consistent hashing. For instance, a 5 shard + * index with number_of_routing_shards set to 30 (5 x 2 x 3) could + * be split by a factor of 2 or 3. + *

    + * A split operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a larger number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system doesn't support hard-linking, all segments are copied into the + * new index, which is a much more time consuming process.
    • + *
    • Hashes all documents again, after low level files are created, to delete + * documents that belong to a different shard.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be split if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have fewer primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a multiple of + * the number of primary shards in the source index.
    • + *
    • The node handling the split process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link SplitRequest} @@ -2291,8 +3027,21 @@ public final SplitResponse split(Function + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @see Documentation @@ -2307,8 +3056,21 @@ public IndicesStatsResponse stats(IndicesStatsRequest request) throws IOExceptio } /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @param fn * a function that initializes a builder to create the @@ -2325,8 +3087,21 @@ public final IndicesStatsResponse stats( } /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @see Documentation @@ -2341,7 +3116,8 @@ public IndicesStatsResponse stats() throws IOException, ElasticsearchException { // ----- Endpoint: indices.unfreeze /** - * Unfreezes an index. + * Unfreeze an index. When a frozen index is unfrozen, the index goes through + * the normal recovery process and becomes writeable again. * * @see Documentation @@ -2356,7 +3132,8 @@ public UnfreezeResponse unfreeze(UnfreezeRequest request) throws IOException, El } /** - * Unfreezes an index. + * Unfreeze an index. When a frozen index is unfrozen, the index goes through + * the normal recovery process and becomes writeable again. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java index 1af1f6e3d..a4a4a4d5f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java @@ -59,10 +59,10 @@ // typedef: indices.explain_data_lifecycle.Request /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. + * Get the status for a data stream lifecycle. Get information about an index or + * data stream's current data stream lifecycle status, such as time since index + * creation, time since rollover, the lifecycle configuration managing the + * index, or any errors encountered during lifecycle execution. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FieldUsageStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FieldUsageStatsRequest.java index 27cd7608f..9a5822f96 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FieldUsageStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FieldUsageStatsRequest.java @@ -61,7 +61,11 @@ // typedef: indices.field_usage_stats.Request /** - * Returns field usage information for each shard and field of an index. + * Get field usage stats. Get field usage information for each shard and field + * of an index. Field usage statistics are automatically captured when queries + * are running on a cluster. A shard-level search request that accesses a given + * field, even if multiple times during that request, is counted as a single + * use. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FlushRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FlushRequest.java index cc937d327..f23846239 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FlushRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/FlushRequest.java @@ -59,7 +59,26 @@ // typedef: indices.flush.Request /** - * Flushes one or more data streams or indices. + * Flush data streams or indices. Flushing a data stream or index is the process + * of making sure that any data that is currently only stored in the transaction + * log is also permanently stored in the Lucene index. When restarting, + * Elasticsearch replays any unflushed operations from the transaction log into + * the Lucene index to bring it back into the state that it was in before the + * restart. Elasticsearch automatically triggers flushes as needed, using + * heuristics that trade off the size of the unflushed transaction log against + * the cost of performing each flush. + *

    + * After each operation has been flushed it is permanently stored in the Lucene + * index. This may mean that there is no need to maintain an additional copy of + * it in the transaction log. The transaction log is made up of multiple files, + * called generations, and Elasticsearch will delete any generation files when + * they are no longer needed, freeing up disk space. + *

    + * It is also possible to trigger a flush on one or more indices using the flush + * API, although it is rare for users to need to call this API directly. If you + * call the flush API after indexing some documents then a successful response + * indicates that Elasticsearch has flushed all the documents that were indexed + * before the flush API was called. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ForcemergeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ForcemergeRequest.java index 2eb961c31..81db9161d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ForcemergeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ForcemergeRequest.java @@ -60,7 +60,25 @@ // typedef: indices.forcemerge.Request /** - * Performs the force merge operation on one or more indices. + * Force a merge. Perform the force merge operation on the shards of one or more + * indices. For data streams, the API forces a merge on the shards of the + * stream's backing indices. + *

    + * Merging reduces the number of segments in each shard by merging some of them + * together and also frees up the space used by deleted documents. Merging + * normally happens automatically, but sometimes it is useful to trigger a merge + * manually. + *

    + * WARNING: We recommend force merging only a read-only index (meaning the index + * is no longer receiving writes). When documents are updated or deleted, the + * old version is not immediately removed but instead soft-deleted and marked + * with a "tombstone". These soft-deleted documents are automatically + * cleaned up during regular segment merges. But force merge can cause very + * large (greater than 5 GB) segments to be produced, which are not eligible for + * regular merges. So the number of soft-deleted documents can then grow + * rapidly, resulting in higher disk usage and worse search performance. If you + * regularly force merge an index receiving writes, this can also make snapshots + * more expensive, since the new documents can't be backed up incrementally. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndicesStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndicesStatsRequest.java index 0e9993414..0d752ea00 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndicesStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/IndicesStatsRequest.java @@ -60,8 +60,21 @@ // typedef: indices.stats.Request /** - * Returns statistics for one or more indices. For data streams, the API - * retrieves statistics for the stream’s backing indices. + * Get index statistics. For data streams, the API retrieves statistics for the + * stream's backing indices. + *

    + * By default, the returned statistics are index-level with + * primaries and total aggregations. + * primaries are the values for only the primary shards. + * total are the accumulated values for both primary and replica + * shards. + *

    + * To get shard-level statistics, set the level parameter to + * shards. + *

    + * NOTE: When moving to another node, the shard-level statistics for a shard are + * cleared. Although the shard is no longer part of the node, that node retains + * any node-level statistics to which the shard contributed. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PromoteDataStreamRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PromoteDataStreamRequest.java index 9be86a794..3dcbf5299 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PromoteDataStreamRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PromoteDataStreamRequest.java @@ -56,8 +56,22 @@ // typedef: indices.promote_data_stream.Request /** - * Promotes a data stream from a replicated data stream managed by CCR to a - * regular data stream + * Promote a data stream. Promote a data stream from a replicated data stream + * managed by cross-cluster replication (CCR) to a regular data stream. + *

    + * With CCR auto following, a data stream from a remote cluster can be + * replicated to the local cluster. These data streams can't be rolled over in + * the local cluster. These replicated data streams roll over only if the + * upstream data stream rolls over. In the event that the remote cluster is no + * longer available, the data stream in the local cluster can be promoted to a + * regular data stream, which allows these data streams to be rolled over in the + * local cluster. + *

    + * NOTE: When promoting a data stream, ensure the local cluster has a data + * stream enabled index template that matches the data stream. If this is + * missing, the data stream will not be able to roll over until a matching index + * template is created. This will affect the lifecycle management of the data + * stream and interfere with the data stream size and retention. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java index 5565de8d4..c62cb7bb2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java @@ -65,6 +65,21 @@ /** * Create or update an index template. Index templates define settings, * mappings, and aliases that can be applied automatically to new indices. + * Elasticsearch applies templates to new indices based on an index pattern that + * matches the index name. + *

    + * IMPORTANT: This documentation is about legacy index templates, which are + * deprecated and will be replaced by the composable templates introduced in + * Elasticsearch 7.8. + *

    + * Composable templates always take precedence over legacy templates. If no + * composable template matches a new index, matching legacy templates are + * applied according to their order. + *

    + * Index templates are only applied during index creation. Changes to index + * templates do not affect existing indices. Settings and mappings specified in + * create index API requests override any settings or mappings specified in an + * index template. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/RecoveryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/RecoveryRequest.java index 065bddde6..80e7c436a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/RecoveryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/RecoveryRequest.java @@ -58,9 +58,37 @@ // typedef: indices.recovery.Request /** - * Returns information about ongoing and completed shard recoveries for one or - * more indices. For data streams, the API returns information for the stream’s - * backing indices. + * Get index recovery information. Get information about ongoing and completed + * shard recoveries for one or more indices. For data streams, the API returns + * information for the stream's backing indices. + *

    + * Shard recovery is the process of initializing a shard copy, such as restoring + * a primary shard from a snapshot or creating a replica shard from a primary + * shard. When a shard recovery completes, the recovered shard is available for + * search and indexing. + *

    + * Recovery automatically occurs during the following processes: + *

      + *
    • When creating an index for the first time.
    • + *
    • When a node rejoins the cluster and starts up any missing primary shard + * copies using the data that it holds in its data path.
    • + *
    • Creation of new replica shard copies from the primary.
    • + *
    • Relocation of a shard copy to a different node in the same cluster.
    • + *
    • A snapshot restore operation.
    • + *
    • A clone, shrink, or split operation.
    • + *
    + *

    + * You can determine the cause of a shard recovery using the recovery or cat + * recovery APIs. + *

    + * The index recovery API reports information about completed recoveries only + * for shard copies that currently exist in the cluster. It only reports the + * last recovery for each shard copy and does not report historical information + * about earlier recoveries, nor does it report information about the recoveries + * of shard copies that no longer exist. This means that if a shard copy + * completes a recovery and then Elasticsearch relocates it onto a different + * node then the information about the original recovery will not be shown in + * the recovery API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ReloadSearchAnalyzersRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ReloadSearchAnalyzersRequest.java index 557144e68..fe15077bf 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ReloadSearchAnalyzersRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ReloadSearchAnalyzersRequest.java @@ -59,7 +59,28 @@ // typedef: indices.reload_search_analyzers.Request /** - * Reloads an index's search analyzers and their resources. + * Reload search analyzers. Reload an index's search analyzers and their + * resources. For data streams, the API reloads search analyzers and resources + * for the stream's backing indices. + *

    + * IMPORTANT: After reloading the search analyzers you should clear the request + * cache to make sure it doesn't contain responses derived from the previous + * versions of the analyzer. + *

    + * You can use the reload search analyzers API to pick up changes to synonym + * files used in the synonym_graph or synonym token + * filter of a search analyzer. To be eligible, the token filter must have an + * updateable flag of true and only be used in search + * analyzers. + *

    + * NOTE: This API does not perform a reload for each shard of an index. Instead, + * it performs a reload for each node containing index shards. As a result, the + * total shard count returned by the API can differ from the number of index + * shards. Because reloading affects every node with an index shard, it is + * important to update the synonym file on every data node in the + * cluster--including nodes that don't contain a shard replica--before using + * this API. This ensures the synonym file is updated everywhere in the cluster + * in case shards are relocated in the future. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveClusterRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveClusterRequest.java index 8656ec355..b19c7a765 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveClusterRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveClusterRequest.java @@ -59,10 +59,33 @@ // typedef: indices.resolve_cluster.Request /** - * Resolves the specified index expressions to return information about each - * cluster, including the local cluster, if included. Multiple patterns and - * remote clusters are supported. - * + * Resolve the cluster. Resolve the specified index expressions to return + * information about each cluster, including the local cluster, if included. + * Multiple patterns and remote clusters are supported. + *

    + * This endpoint is useful before doing a cross-cluster search in order to + * determine which remote clusters should be included in a search. + *

    + * You use the same index expression with this endpoint as you would for + * cross-cluster search. Index and cluster exclusions are also supported with + * this endpoint. + *

    + * For each cluster in the index expression, information is returned about: + *

    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java index 0de776681..87cd28ed4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentsRequest.java @@ -59,8 +59,9 @@ // typedef: indices.segments.Request /** - * Returns low-level information about the Lucene segments in index shards. For - * data streams, the API returns information about the stream’s backing indices. + * Get index segments. Get low-level information about the Lucene segments in + * index shards. For data streams, the API returns information about the + * stream's backing indices. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShardStoresRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShardStoresRequest.java index 04e059dd7..e7584b2f1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShardStoresRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShardStoresRequest.java @@ -60,9 +60,21 @@ // typedef: indices.shard_stores.Request /** - * Retrieves store information about replica shards in one or more indices. For - * data streams, the API retrieves store information for the stream’s backing - * indices. + * Get index shard stores. Get store information about replica shards in one or + * more indices. For data streams, the API retrieves store information for the + * stream's backing indices. + *

    + * The index shard stores API returns the following information: + *

      + *
    • The node on which each replica shard exists.
    • + *
    • The allocation ID for each replica shard.
    • + *
    • A unique ID for each replica shard.
    • + *
    • Any errors encountered while opening the shard index or from an earlier + * failure.
    • + *
    + *

    + * By default, the API returns store information only for primary shards that + * are unassigned or have one or more unassigned replica shards. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShrinkRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShrinkRequest.java index 7614e021c..58bc421f1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShrinkRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ShrinkRequest.java @@ -60,8 +60,62 @@ // typedef: indices.shrink.Request /** - * Shrinks an existing index into a new index with fewer primary shards. - * + * Shrink an index. Shrink an index into a new index with fewer primary shards. + *

    + * Before you can shrink an index: + *

      + *
    • The index must be read-only.
    • + *
    • A copy of every shard in the index must reside on the same node.
    • + *
    • The index must have a green health status.
    • + *
    + *

    + * To make shard allocation easier, we recommend you also remove the index's + * replica shards. You can later re-add replica shards as part of the shrink + * operation. + *

    + * The requested number of primary shards in the target index must be a factor + * of the number of shards in the source index. For example an index with 8 + * primary shards can be shrunk into 4, 2 or 1 primary shards or an index with + * 15 primary shards can be shrunk into 5, 3 or 1. If the number of shards in + * the index is a prime number it can only be shrunk into a single primary shard + * Before shrinking, a (primary or replica) copy of every shard in the index + * must be present on the same node. + *

    + * The current write index on a data stream cannot be shrunk. In order to shrink + * the current write index, the data stream must first be rolled over so that a + * new write index is created and then the previous write index can be shrunk. + *

    + * A shrink operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a smaller number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system does not support hard-linking, then all segments are copied into + * the new index, which is a much more time consuming process. Also if using + * multiple data paths, shards on different data paths require a full copy of + * segment files if they are not on the same disk since hardlinks do not work + * across disks.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened. Recovers shards to the + * .routing.allocation.initial_recovery._id index setting.
    • + *
    + *

    + * IMPORTANT: Indices can only be shrunk if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have more primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a factor of the + * number of primary shards in the source index. The source index must have more + * primary shards than the target index.
    • + *
    • The index must not contain more than 2,147,483,519 documents in total + * across all shards that will be shrunk into a single shard on the target index + * as this is the maximum number of docs that can fit into a single shard.
    • + *
    • The node handling the shrink process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SplitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SplitRequest.java index 1cf7e7758..0fc0cdcba 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SplitRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/SplitRequest.java @@ -60,8 +60,58 @@ // typedef: indices.split.Request /** - * Splits an existing index into a new index with more primary shards. - * + * Split an index. Split an index into a new index with more primary shards. + *
      + *
    • + *

      + * Before you can split an index: + *

      + *
    • + *
    • + *

      + * The index must be read-only. + *

      + *
    • + *
    • + *

      + * The cluster health status must be green. + *

      + *
    • + *
    + *

    + * The number of times the index can be split (and the number of shards that + * each original shard can be split into) is determined by the + * index.number_of_routing_shards setting. The number of routing + * shards specifies the hashing space that is used internally to distribute + * documents across shards with consistent hashing. For instance, a 5 shard + * index with number_of_routing_shards set to 30 (5 x 2 x 3) could + * be split by a factor of 2 or 3. + *

    + * A split operation: + *

      + *
    • Creates a new target index with the same definition as the source index, + * but with a larger number of primary shards.
    • + *
    • Hard-links segments from the source index into the target index. If the + * file system doesn't support hard-linking, all segments are copied into the + * new index, which is a much more time consuming process.
    • + *
    • Hashes all documents again, after low level files are created, to delete + * documents that belong to a different shard.
    • + *
    • Recovers the target index as though it were a closed index which had just + * been re-opened.
    • + *
    + *

    + * IMPORTANT: Indices can only be split if they satisfy the following + * requirements: + *

      + *
    • The target index must not exist.
    • + *
    • The source index must have fewer primary shards than the target + * index.
    • + *
    • The number of primary shards in the target index must be a multiple of + * the number of primary shards in the source index.
    • + *
    • The node handling the split process must have sufficient free disk space + * to accommodate a second copy of the existing index.
    • + *
    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UnfreezeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UnfreezeRequest.java index 9e4b98fc1..562ae0122 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UnfreezeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UnfreezeRequest.java @@ -60,7 +60,8 @@ // typedef: indices.unfreeze.Request /** - * Unfreezes an index. + * Unfreeze an index. When a frozen index is unfrozen, the index goes through + * the normal recovery process and becomes writeable again. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceAsyncClient.java index 64685ed53..12346a688 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceAsyncClient.java @@ -182,7 +182,25 @@ public final CompletableFuture inference( // ----- Endpoint: inference.put /** - * Create an inference endpoint + * Create an inference endpoint. When you create an inference endpoint, the + * associated machine learning model is automatically deployed if it is not + * already running. After creating the endpoint, wait for the model deployment + * to complete before using it. To verify the deployment status, use the get + * trained model statistics API. Look for + * "state": "fully_allocated" in the response + * and ensure that the "allocation_count" matches the + * "target_allocation_count". Avoid creating multiple + * endpoints for the same model unless required, as each endpoint consumes + * significant resources. + *

    + * IMPORTANT: The inference APIs enable you to use certain services, such as + * built-in machine learning models (ELSER, E5), models uploaded through Eland, + * Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, + * Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models + * uploaded through Eland, the inference APIs offer an alternative way to use + * and manage trained models. However, if you do not plan to use the inference + * APIs to use these models or if you want to use non-NLP models, use the + * machine learning trained model APIs. * * @see Documentation @@ -197,7 +215,25 @@ public CompletableFuture put(PutRequest request) { } /** - * Create an inference endpoint + * Create an inference endpoint. When you create an inference endpoint, the + * associated machine learning model is automatically deployed if it is not + * already running. After creating the endpoint, wait for the model deployment + * to complete before using it. To verify the deployment status, use the get + * trained model statistics API. Look for + * "state": "fully_allocated" in the response + * and ensure that the "allocation_count" matches the + * "target_allocation_count". Avoid creating multiple + * endpoints for the same model unless required, as each endpoint consumes + * significant resources. + *

    + * IMPORTANT: The inference APIs enable you to use certain services, such as + * built-in machine learning models (ELSER, E5), models uploaded through Eland, + * Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, + * Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models + * uploaded through Eland, the inference APIs offer an alternative way to use + * and manage trained models. However, if you do not plan to use the inference + * APIs to use these models or if you want to use non-NLP models, use the + * machine learning trained model APIs. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceClient.java index 753d3646c..9910b5717 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceClient.java @@ -181,7 +181,25 @@ public final InferenceResponse inference(Function"state": "fully_allocated" in the response + * and ensure that the "allocation_count" matches the + * "target_allocation_count". Avoid creating multiple + * endpoints for the same model unless required, as each endpoint consumes + * significant resources. + *

    + * IMPORTANT: The inference APIs enable you to use certain services, such as + * built-in machine learning models (ELSER, E5), models uploaded through Eland, + * Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, + * Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models + * uploaded through Eland, the inference APIs offer an alternative way to use + * and manage trained models. However, if you do not plan to use the inference + * APIs to use these models or if you want to use non-NLP models, use the + * machine learning trained model APIs. * * @see Documentation @@ -196,7 +214,25 @@ public PutResponse put(PutRequest request) throws IOException, ElasticsearchExce } /** - * Create an inference endpoint + * Create an inference endpoint. When you create an inference endpoint, the + * associated machine learning model is automatically deployed if it is not + * already running. After creating the endpoint, wait for the model deployment + * to complete before using it. To verify the deployment status, use the get + * trained model statistics API. Look for + * "state": "fully_allocated" in the response + * and ensure that the "allocation_count" matches the + * "target_allocation_count". Avoid creating multiple + * endpoints for the same model unless required, as each endpoint consumes + * significant resources. + *

    + * IMPORTANT: The inference APIs enable you to use certain services, such as + * built-in machine learning models (ELSER, E5), models uploaded through Eland, + * Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, + * Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models + * uploaded through Eland, the inference APIs offer an alternative way to use + * and manage trained models. However, if you do not plan to use the inference + * APIs to use these models or if you want to use non-NLP models, use the + * machine learning trained model APIs. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/PutRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/PutRequest.java index 3de1fbd28..6f734f226 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/PutRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/PutRequest.java @@ -59,7 +59,25 @@ // typedef: inference.put.Request /** - * Create an inference endpoint + * Create an inference endpoint. When you create an inference endpoint, the + * associated machine learning model is automatically deployed if it is not + * already running. After creating the endpoint, wait for the model deployment + * to complete before using it. To verify the deployment status, use the get + * trained model statistics API. Look for + * "state": "fully_allocated" in the response + * and ensure that the "allocation_count" matches the + * "target_allocation_count". Avoid creating multiple + * endpoints for the same model unless required, as each endpoint consumes + * significant resources. + *

    + * IMPORTANT: The inference APIs enable you to use certain services, such as + * built-in machine learning models (ELSER, E5), models uploaded through Eland, + * Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, + * Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models + * uploaded through Eland, the inference APIs offer an alternative way to use + * and manage trained models. However, if you do not plan to use the inference + * APIs to use these models or if you want to use non-NLP models, use the + * machine learning trained model APIs. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/DeleteLicenseRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/DeleteLicenseRequest.java index 1ad0663e4..be5baec04 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/DeleteLicenseRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/DeleteLicenseRequest.java @@ -50,7 +50,11 @@ // typedef: license.delete.Request /** - * Deletes licensing information for the cluster + * Delete the license. When the license expires, your subscription level reverts + * to Basic. + *

    + * If the operator privileges feature is enabled, only operator users can use + * this API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseAsyncClient.java index 78e40884a..d1f95c494 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseAsyncClient.java @@ -70,7 +70,11 @@ public ElasticsearchLicenseAsyncClient withTransportOptions(@Nullable TransportO // ----- Endpoint: license.delete /** - * Deletes licensing information for the cluster + * Delete the license. When the license expires, your subscription level reverts + * to Basic. + *

    + * If the operator privileges feature is enabled, only operator users can use + * this API. * * @see Documentation @@ -84,11 +88,13 @@ public CompletableFuture delete() { // ----- Endpoint: license.get /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @see Documentation @@ -103,11 +109,13 @@ public CompletableFuture get(GetLicenseRequest request) { } /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @param fn * a function that initializes a builder to create the @@ -123,11 +131,13 @@ public final CompletableFuture get( } /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @see Documentation @@ -142,7 +152,7 @@ public CompletableFuture get() { // ----- Endpoint: license.get_basic_status /** - * Retrieves information about the status of the basic license. + * Get the basic license status. * * @see Documentation @@ -156,7 +166,7 @@ public CompletableFuture getBasicStatus() { // ----- Endpoint: license.get_trial_status /** - * Retrieves information about the status of the trial license. + * Get the trial status. * * @see Documentation @@ -170,7 +180,16 @@ public CompletableFuture getTrialStatus() { // ----- Endpoint: license.post /** - * Updates the license for the cluster. + * Update the license. You can update your license at runtime without shutting + * down your nodes. License updates take effect immediately. If the license you + * are installing does not support all of the features that were available with + * your previous license, however, you are notified in the response. You must + * then re-submit the API request with the acknowledge parameter set to true. + *

    + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @see Documentation @@ -185,7 +204,16 @@ public CompletableFuture post(PostRequest request) { } /** - * Updates the license for the cluster. + * Update the license. You can update your license at runtime without shutting + * down your nodes. License updates take effect immediately. If the license you + * are installing does not support all of the features that were available with + * your previous license, however, you are notified in the response. You must + * then re-submit the API request with the acknowledge parameter set to true. + *

    + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @param fn * a function that initializes a builder to create the @@ -200,7 +228,16 @@ public final CompletableFuture post(Function + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @see Documentation @@ -215,14 +252,18 @@ public CompletableFuture post() { // ----- Endpoint: license.post_start_basic /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @see Documentation @@ -237,14 +278,18 @@ public CompletableFuture postStartBasic(PostStartBasicRe } /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @param fn * a function that initializes a builder to create the @@ -260,14 +305,18 @@ public final CompletableFuture postStartBasic( } /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @see Documentation @@ -282,8 +331,16 @@ public CompletableFuture postStartBasic() { // ----- Endpoint: license.post_start_trial /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @see Documentation @@ -298,8 +355,16 @@ public CompletableFuture postStartTrial(PostStartTrialRe } /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @param fn * a function that initializes a builder to create the @@ -315,8 +380,16 @@ public final CompletableFuture postStartTrial( } /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseClient.java index d05f20af2..f6e8662b6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseClient.java @@ -68,7 +68,11 @@ public ElasticsearchLicenseClient withTransportOptions(@Nullable TransportOption // ----- Endpoint: license.delete /** - * Deletes licensing information for the cluster + * Delete the license. When the license expires, your subscription level reverts + * to Basic. + *

    + * If the operator privileges feature is enabled, only operator users can use + * this API. * * @see Documentation @@ -82,11 +86,13 @@ public DeleteLicenseResponse delete() throws IOException, ElasticsearchException // ----- Endpoint: license.get /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @see Documentation @@ -101,11 +107,13 @@ public GetLicenseResponse get(GetLicenseRequest request) throws IOException, Ela } /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @param fn * a function that initializes a builder to create the @@ -121,11 +129,13 @@ public final GetLicenseResponse get(FunctionElastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @see Documentation @@ -140,7 +150,7 @@ public GetLicenseResponse get() throws IOException, ElasticsearchException { // ----- Endpoint: license.get_basic_status /** - * Retrieves information about the status of the basic license. + * Get the basic license status. * * @see Documentation @@ -154,7 +164,7 @@ public GetBasicStatusResponse getBasicStatus() throws IOException, Elasticsearch // ----- Endpoint: license.get_trial_status /** - * Retrieves information about the status of the trial license. + * Get the trial status. * * @see Documentation @@ -168,7 +178,16 @@ public GetTrialStatusResponse getTrialStatus() throws IOException, Elasticsearch // ----- Endpoint: license.post /** - * Updates the license for the cluster. + * Update the license. You can update your license at runtime without shutting + * down your nodes. License updates take effect immediately. If the license you + * are installing does not support all of the features that were available with + * your previous license, however, you are notified in the response. You must + * then re-submit the API request with the acknowledge parameter set to true. + *

    + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @see Documentation @@ -183,7 +202,16 @@ public PostResponse post(PostRequest request) throws IOException, ElasticsearchE } /** - * Updates the license for the cluster. + * Update the license. You can update your license at runtime without shutting + * down your nodes. License updates take effect immediately. If the license you + * are installing does not support all of the features that were available with + * your previous license, however, you are notified in the response. You must + * then re-submit the API request with the acknowledge parameter set to true. + *

    + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @param fn * a function that initializes a builder to create the @@ -199,7 +227,16 @@ public final PostResponse post(Function + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @see Documentation @@ -214,14 +251,18 @@ public PostResponse post() throws IOException, ElasticsearchException { // ----- Endpoint: license.post_start_basic /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @see Documentation @@ -237,14 +278,18 @@ public PostStartBasicResponse postStartBasic(PostStartBasicRequest request) } /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @param fn * a function that initializes a builder to create the @@ -261,14 +306,18 @@ public final PostStartBasicResponse postStartBasic( } /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @see Documentation @@ -283,8 +332,16 @@ public PostStartBasicResponse postStartBasic() throws IOException, Elasticsearch // ----- Endpoint: license.post_start_trial /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @see Documentation @@ -300,8 +357,16 @@ public PostStartTrialResponse postStartTrial(PostStartTrialRequest request) } /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @param fn * a function that initializes a builder to create the @@ -318,8 +383,16 @@ public final PostStartTrialResponse postStartTrial( } /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetBasicStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetBasicStatusRequest.java index 8d6761900..c4a087525 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetBasicStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetBasicStatusRequest.java @@ -50,7 +50,7 @@ // typedef: license.get_basic_status.Request /** - * Retrieves information about the status of the basic license. + * Get the basic license status. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseRequest.java index 029998023..4b8d3e20d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseRequest.java @@ -55,11 +55,13 @@ // typedef: license.get.Request /** - * Get license information. Returns information about your Elastic license, - * including its type, its status, when it was issued, and when it expires. For - * more information about the different types of licenses, refer to - * Elastic Stack - * subscriptions. + * Get license information. Get information about your Elastic license including + * its type, its status, when it was issued, and when it expires. + *

    + * NOTE: If the master node is generating a new cluster state, the get license + * API may return a 404 Not Found response. If you receive an + * unexpected 404 response after cluster startup, wait a short period and retry + * the request. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetTrialStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetTrialStatusRequest.java index 86b5476f1..9c8825929 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetTrialStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/GetTrialStatusRequest.java @@ -50,7 +50,7 @@ // typedef: license.get_trial_status.Request /** - * Retrieves information about the status of the trial license. + * Get the trial status. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostRequest.java index 669883385..11620e9b3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostRequest.java @@ -59,7 +59,16 @@ // typedef: license.post.Request /** - * Updates the license for the cluster. + * Update the license. You can update your license at runtime without shutting + * down your nodes. License updates take effect immediately. If the license you + * are installing does not support all of the features that were available with + * your previous license, however, you are notified in the response. You must + * then re-submit the API request with the acknowledge parameter set to true. + *

    + * NOTE: If Elasticsearch security features are enabled and you are installing a + * gold or higher license, you must enable TLS on the transport networking layer + * before you install the license. If the operator privileges feature is + * enabled, only operator users can use this API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartBasicRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartBasicRequest.java index 1db385d95..e00ca6eeb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartBasicRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartBasicRequest.java @@ -55,14 +55,18 @@ // typedef: license.post_start_basic.Request /** - * The start basic API enables you to initiate an indefinite basic license, - * which gives access to all the basic features. If the basic license does not - * support all of the features that are available with your current license, - * however, you are notified in the response. You must then re-submit the API - * request with the acknowledge parameter set to true. To check the status of - * your basic license, use the following API: Get - * basic status. + * Start a basic license. Start an indefinite basic license, which gives access + * to all the basic features. + *

    + * NOTE: In order to start a basic license, you must not currently have a basic + * license. + *

    + * If the basic license does not support all of the features that are available + * with your current license, however, you are notified in the response. You + * must then re-submit the API request with the acknowledge + * parameter set to true. + *

    + * To check the status of your basic license, use the get basic license API. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartTrialRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartTrialRequest.java index 05783ca55..b51dcb1dc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartTrialRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/license/PostStartTrialRequest.java @@ -56,8 +56,16 @@ // typedef: license.post_start_trial.Request /** - * The start trial API enables you to start a 30-day trial, which gives access - * to all subscription features. + * Start a trial. Start a 30-day trial, which gives access to all subscription + * features. + *

    + * NOTE: You are allowed to start a trial only if your cluster has not already + * activated a trial for the current major product version. For example, if you + * have already activated a trial for v8.0, you cannot start a new trial until + * v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension. + *

    + * To check the status of your trial, use the get trial status API. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/DeletePipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/DeletePipelineRequest.java index ffa231af7..ae6b4a3c0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/DeletePipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/DeletePipelineRequest.java @@ -58,7 +58,9 @@ // typedef: logstash.delete_pipeline.Request /** - * Deletes a pipeline used for Logstash Central Management. + * Delete a Logstash pipeline. + *

    + * Delete a pipeline that is used for Logstash Central Management. * * @see API @@ -81,7 +83,7 @@ public static DeletePipelineRequest of(Function * API name: {@code id} */ @@ -101,7 +103,7 @@ public static class Builder extends RequestBase.AbstractBuilder private String id; /** - * Required - Identifier for the pipeline. + * Required - An identifier for the pipeline. *

    * API name: {@code id} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashAsyncClient.java index af70c837a..772cd4613 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashAsyncClient.java @@ -71,7 +71,9 @@ public ElasticsearchLogstashAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: logstash.delete_pipeline /** - * Deletes a pipeline used for Logstash Central Management. + * Delete a Logstash pipeline. + *

    + * Delete a pipeline that is used for Logstash Central Management. * * @see Documentation @@ -86,7 +88,9 @@ public CompletableFuture deletePipeline(DeletePipelineRequest r } /** - * Deletes a pipeline used for Logstash Central Management. + * Delete a Logstash pipeline. + *

    + * Delete a pipeline that is used for Logstash Central Management. * * @param fn * a function that initializes a builder to create the @@ -104,7 +108,9 @@ public final CompletableFuture deletePipeline( // ----- Endpoint: logstash.get_pipeline /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @see Documentation @@ -119,7 +125,9 @@ public CompletableFuture getPipeline(GetPipelineRequest req } /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @param fn * a function that initializes a builder to create the @@ -135,7 +143,9 @@ public final CompletableFuture getPipeline( } /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @see Documentation @@ -150,7 +160,10 @@ public CompletableFuture getPipeline() { // ----- Endpoint: logstash.put_pipeline /** - * Creates or updates a pipeline used for Logstash Central Management. + * Create or update a Logstash pipeline. + *

    + * Create a pipeline that is used for Logstash Central Management. If the + * specified pipeline exists, it is replaced. * * @see Documentation @@ -165,7 +178,10 @@ public CompletableFuture putPipeline(PutPipelineRequest request } /** - * Creates or updates a pipeline used for Logstash Central Management. + * Create or update a Logstash pipeline. + *

    + * Create a pipeline that is used for Logstash Central Management. If the + * specified pipeline exists, it is replaced. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashClient.java index d0fa36a78..874f6cdd7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashClient.java @@ -69,7 +69,9 @@ public ElasticsearchLogstashClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: logstash.delete_pipeline /** - * Deletes a pipeline used for Logstash Central Management. + * Delete a Logstash pipeline. + *

    + * Delete a pipeline that is used for Logstash Central Management. * * @see Documentation @@ -84,7 +86,9 @@ public BooleanResponse deletePipeline(DeletePipelineRequest request) throws IOEx } /** - * Deletes a pipeline used for Logstash Central Management. + * Delete a Logstash pipeline. + *

    + * Delete a pipeline that is used for Logstash Central Management. * * @param fn * a function that initializes a builder to create the @@ -103,7 +107,9 @@ public final BooleanResponse deletePipeline( // ----- Endpoint: logstash.get_pipeline /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @see Documentation @@ -118,7 +124,9 @@ public GetPipelineResponse getPipeline(GetPipelineRequest request) throws IOExce } /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @param fn * a function that initializes a builder to create the @@ -135,7 +143,9 @@ public final GetPipelineResponse getPipeline( } /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @see Documentation @@ -150,7 +160,10 @@ public GetPipelineResponse getPipeline() throws IOException, ElasticsearchExcept // ----- Endpoint: logstash.put_pipeline /** - * Creates or updates a pipeline used for Logstash Central Management. + * Create or update a Logstash pipeline. + *

    + * Create a pipeline that is used for Logstash Central Management. If the + * specified pipeline exists, it is replaced. * * @see Documentation @@ -165,7 +178,10 @@ public BooleanResponse putPipeline(PutPipelineRequest request) throws IOExceptio } /** - * Creates or updates a pipeline used for Logstash Central Management. + * Create or update a Logstash pipeline. + *

    + * Create a pipeline that is used for Logstash Central Management. If the + * specified pipeline exists, it is replaced. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineRequest.java index bedf522d9..b3e608143 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineRequest.java @@ -58,7 +58,9 @@ // typedef: logstash.get_pipeline.Request /** - * Retrieves pipelines used for Logstash Central Management. + * Get Logstash pipelines. + *

    + * Get pipelines that are used for Logstash Central Management. * * @see API * specification @@ -80,7 +82,7 @@ public static GetPipelineRequest of(Function * API name: {@code id} */ @@ -101,7 +103,7 @@ public static class Builder extends RequestBase.AbstractBuilder private List id; /** - * Comma-separated list of pipeline identifiers. + * A comma-separated list of pipeline identifiers. *

    * API name: {@code id} *

    @@ -113,7 +115,7 @@ public final Builder id(List list) { } /** - * Comma-separated list of pipeline identifiers. + * A comma-separated list of pipeline identifiers. *

    * API name: {@code id} *

    diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/Pipeline.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/Pipeline.java index 069e7da6d..3619ab418 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/Pipeline.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/logstash/Pipeline.java @@ -64,24 +64,24 @@ public class Pipeline implements JsonpSerializable { private final DateTime lastModified; - private final PipelineMetadata pipelineMetadata; - - private final String username; - private final String pipeline; + private final PipelineMetadata pipelineMetadata; + private final PipelineSettings pipelineSettings; + private final String username; + // --------------------------------------------------------------------------------------------- private Pipeline(Builder builder) { this.description = ApiTypeHelper.requireNonNull(builder.description, this, "description"); this.lastModified = ApiTypeHelper.requireNonNull(builder.lastModified, this, "lastModified"); - this.pipelineMetadata = ApiTypeHelper.requireNonNull(builder.pipelineMetadata, this, "pipelineMetadata"); - this.username = ApiTypeHelper.requireNonNull(builder.username, this, "username"); this.pipeline = ApiTypeHelper.requireNonNull(builder.pipeline, this, "pipeline"); + this.pipelineMetadata = ApiTypeHelper.requireNonNull(builder.pipelineMetadata, this, "pipelineMetadata"); this.pipelineSettings = ApiTypeHelper.requireNonNull(builder.pipelineSettings, this, "pipelineSettings"); + this.username = ApiTypeHelper.requireNonNull(builder.username, this, "username"); } @@ -90,7 +90,7 @@ public static Pipeline of(Function> fn) { } /** - * Required - Description of the pipeline. This description is not used by + * Required - A description of the pipeline. This description is not used by * Elasticsearch or Logstash. *

    * API name: {@code description} @@ -100,7 +100,7 @@ public final String description() { } /** - * Required - Date the pipeline was last updated. Must be in the + * Required - The date the pipeline was last updated. It must be in the * yyyy-MM-dd'T'HH:mm:ss.SSSZZ strict_date_time format. *

    * API name: {@code last_modified} @@ -110,41 +110,41 @@ public final DateTime lastModified() { } /** - * Required - Optional metadata about the pipeline. May have any contents. This - * metadata is not generated or used by Elasticsearch or Logstash. + * Required - The configuration for the pipeline. *

    - * API name: {@code pipeline_metadata} + * API name: {@code pipeline} */ - public final PipelineMetadata pipelineMetadata() { - return this.pipelineMetadata; + public final String pipeline() { + return this.pipeline; } /** - * Required - User who last updated the pipeline. + * Required - Optional metadata about the pipeline, which can have any contents. + * This metadata is not generated or used by Elasticsearch or Logstash. *

    - * API name: {@code username} + * API name: {@code pipeline_metadata} */ - public final String username() { - return this.username; + public final PipelineMetadata pipelineMetadata() { + return this.pipelineMetadata; } /** - * Required - Configuration for the pipeline. + * Required - Settings for the pipeline. It supports only flat keys in dot + * notation. *

    - * API name: {@code pipeline} + * API name: {@code pipeline_settings} */ - public final String pipeline() { - return this.pipeline; + public final PipelineSettings pipelineSettings() { + return this.pipelineSettings; } /** - * Required - Settings for the pipeline. Supports only flat keys in dot - * notation. + * Required - The user who last updated the pipeline. *

    - * API name: {@code pipeline_settings} + * API name: {@code username} */ - public final PipelineSettings pipelineSettings() { - return this.pipelineSettings; + public final String username() { + return this.username; } /** @@ -163,18 +163,18 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("last_modified"); this.lastModified.serialize(generator, mapper); - generator.writeKey("pipeline_metadata"); - this.pipelineMetadata.serialize(generator, mapper); - - generator.writeKey("username"); - generator.write(this.username); - generator.writeKey("pipeline"); generator.write(this.pipeline); + generator.writeKey("pipeline_metadata"); + this.pipelineMetadata.serialize(generator, mapper); + generator.writeKey("pipeline_settings"); this.pipelineSettings.serialize(generator, mapper); + generator.writeKey("username"); + generator.write(this.username); + } @Override @@ -193,16 +193,16 @@ public static class Builder extends WithJsonObjectBuilderBase implement private DateTime lastModified; - private PipelineMetadata pipelineMetadata; - - private String username; - private String pipeline; + private PipelineMetadata pipelineMetadata; + private PipelineSettings pipelineSettings; + private String username; + /** - * Required - Description of the pipeline. This description is not used by + * Required - A description of the pipeline. This description is not used by * Elasticsearch or Logstash. *

    * API name: {@code description} @@ -213,7 +213,7 @@ public final Builder description(String value) { } /** - * Required - Date the pipeline was last updated. Must be in the + * Required - The date the pipeline was last updated. It must be in the * yyyy-MM-dd'T'HH:mm:ss.SSSZZ strict_date_time format. *

    * API name: {@code last_modified} @@ -224,48 +224,38 @@ public final Builder lastModified(DateTime value) { } /** - * Required - Optional metadata about the pipeline. May have any contents. This - * metadata is not generated or used by Elasticsearch or Logstash. + * Required - The configuration for the pipeline. *

    - * API name: {@code pipeline_metadata} + * API name: {@code pipeline} */ - public final Builder pipelineMetadata(PipelineMetadata value) { - this.pipelineMetadata = value; + public final Builder pipeline(String value) { + this.pipeline = value; return this; } /** - * Required - Optional metadata about the pipeline. May have any contents. This - * metadata is not generated or used by Elasticsearch or Logstash. + * Required - Optional metadata about the pipeline, which can have any contents. + * This metadata is not generated or used by Elasticsearch or Logstash. *

    * API name: {@code pipeline_metadata} */ - public final Builder pipelineMetadata(Function> fn) { - return this.pipelineMetadata(fn.apply(new PipelineMetadata.Builder()).build()); - } - - /** - * Required - User who last updated the pipeline. - *

    - * API name: {@code username} - */ - public final Builder username(String value) { - this.username = value; + public final Builder pipelineMetadata(PipelineMetadata value) { + this.pipelineMetadata = value; return this; } /** - * Required - Configuration for the pipeline. + * Required - Optional metadata about the pipeline, which can have any contents. + * This metadata is not generated or used by Elasticsearch or Logstash. *

    - * API name: {@code pipeline} + * API name: {@code pipeline_metadata} */ - public final Builder pipeline(String value) { - this.pipeline = value; - return this; + public final Builder pipelineMetadata(Function> fn) { + return this.pipelineMetadata(fn.apply(new PipelineMetadata.Builder()).build()); } /** - * Required - Settings for the pipeline. Supports only flat keys in dot + * Required - Settings for the pipeline. It supports only flat keys in dot * notation. *

    * API name: {@code pipeline_settings} @@ -276,7 +266,7 @@ public final Builder pipelineSettings(PipelineSettings value) { } /** - * Required - Settings for the pipeline. Supports only flat keys in dot + * Required - Settings for the pipeline. It supports only flat keys in dot * notation. *

    * API name: {@code pipeline_settings} @@ -285,6 +275,16 @@ public final Builder pipelineSettings(Function + * API name: {@code username} + */ + public final Builder username(String value) { + this.username = value; + return this; + } + @Override protected Builder self() { return this; @@ -315,10 +315,10 @@ protected static void setupPipelineDeserializer(ObjectDeserializer + * Create a pipeline that is used for Logstash Central Management. If the + * specified pipeline exists, it is replaced. * * @see API * specification @@ -86,7 +89,7 @@ public static PutPipelineRequest of(Function * API name: {@code id} */ @@ -123,7 +126,7 @@ public static class Builder extends RequestBase.AbstractBuilder private Pipeline pipeline; /** - * Required - Identifier for the pipeline. + * Required - An identifier for the pipeline. *

    * API name: {@code id} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/DeprecationsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/DeprecationsRequest.java index 852165c22..394685c4c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/DeprecationsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/DeprecationsRequest.java @@ -55,9 +55,12 @@ // typedef: migration.deprecations.Request /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationAsyncClient.java index a897b8d56..194c9aa01 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationAsyncClient.java @@ -70,9 +70,12 @@ public ElasticsearchMigrationAsyncClient withTransportOptions(@Nullable Transpor // ----- Endpoint: migration.deprecations /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -87,9 +90,12 @@ public CompletableFuture deprecations(DeprecationsRequest } /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @param fn * a function that initializes a builder to create the @@ -105,9 +111,12 @@ public final CompletableFuture deprecations( } /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -122,7 +131,13 @@ public CompletableFuture deprecations() { // ----- Endpoint: migration.get_feature_upgrade_status /** - * Find out whether system features need to be upgraded or not + * Get feature migration information. Version upgrades sometimes require changes + * to how features store configuration information and data in system indices. + * Check which features need to be migrated and the status of any migrations + * that are in progress. + *

    + * TIP: This API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -136,7 +151,15 @@ public CompletableFuture getFeatureUpgradeStatu // ----- Endpoint: migration.post_feature_upgrade /** - * Begin upgrades for system features + * Start the feature migration. Version upgrades sometimes require changes to + * how features store configuration information and data in system indices. This + * API starts the automatic migration process. + *

    + * Some functionality might be temporarily unavailable during the migration + * process. + *

    + * TIP: The API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationClient.java index 0ec1c3ffd..b9e21bb84 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/ElasticsearchMigrationClient.java @@ -68,9 +68,12 @@ public ElasticsearchMigrationClient withTransportOptions(@Nullable TransportOpti // ----- Endpoint: migration.deprecations /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -85,9 +88,12 @@ public DeprecationsResponse deprecations(DeprecationsRequest request) throws IOE } /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @param fn * a function that initializes a builder to create the @@ -104,9 +110,12 @@ public final DeprecationsResponse deprecations( } /** - * Retrieves information about different cluster, node, and index level settings - * that use deprecated features that will be removed or changed in the next - * major version. + * Get deprecation information. Get information about different cluster, node, + * and index level settings that use deprecated features that will be removed or + * changed in the next major version. + *

    + * TIP: This APIs is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -121,7 +130,13 @@ public DeprecationsResponse deprecations() throws IOException, ElasticsearchExce // ----- Endpoint: migration.get_feature_upgrade_status /** - * Find out whether system features need to be upgraded or not + * Get feature migration information. Version upgrades sometimes require changes + * to how features store configuration information and data in system indices. + * Check which features need to be migrated and the status of any migrations + * that are in progress. + *

    + * TIP: This API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation @@ -135,7 +150,15 @@ public GetFeatureUpgradeStatusResponse getFeatureUpgradeStatus() throws IOExcept // ----- Endpoint: migration.post_feature_upgrade /** - * Begin upgrades for system features + * Start the feature migration. Version upgrades sometimes require changes to + * how features store configuration information and data in system indices. This + * API starts the automatic migration process. + *

    + * Some functionality might be temporarily unavailable during the migration + * process. + *

    + * TIP: The API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/GetFeatureUpgradeStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/GetFeatureUpgradeStatusRequest.java index 27411dc69..f9d0cf485 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/GetFeatureUpgradeStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/GetFeatureUpgradeStatusRequest.java @@ -50,7 +50,13 @@ // typedef: migration.get_feature_upgrade_status.Request /** - * Find out whether system features need to be upgraded or not + * Get feature migration information. Version upgrades sometimes require changes + * to how features store configuration information and data in system indices. + * Check which features need to be migrated and the status of any migrations + * that are in progress. + *

    + * TIP: This API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/PostFeatureUpgradeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/PostFeatureUpgradeRequest.java index c016b79f8..95e329319 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/PostFeatureUpgradeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/migration/PostFeatureUpgradeRequest.java @@ -50,7 +50,15 @@ // typedef: migration.post_feature_upgrade.Request /** - * Begin upgrades for system features + * Start the feature migration. Version upgrades sometimes require changes to + * how features store configuration information and data in system indices. This + * API starts the automatic migration process. + *

    + * Some functionality might be temporarily unavailable during the migration + * process. + *

    + * TIP: The API is designed for indirect use by the Upgrade Assistant. We + * strongly recommend you use the Upgrade Assistant. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/AdaptiveAllocationsSettings.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/AdaptiveAllocationsSettings.java new file mode 100644 index 000000000..0753bdd7f --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/AdaptiveAllocationsSettings.java @@ -0,0 +1,217 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.AdaptiveAllocationsSettings + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class AdaptiveAllocationsSettings implements JsonpSerializable { + private final boolean enabled; + + @Nullable + private final Integer minNumberOfAllocations; + + @Nullable + private final Integer maxNumberOfAllocations; + + // --------------------------------------------------------------------------------------------- + + private AdaptiveAllocationsSettings(Builder builder) { + + this.enabled = ApiTypeHelper.requireNonNull(builder.enabled, this, "enabled"); + this.minNumberOfAllocations = builder.minNumberOfAllocations; + this.maxNumberOfAllocations = builder.maxNumberOfAllocations; + + } + + public static AdaptiveAllocationsSettings of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code enabled} + */ + public final boolean enabled() { + return this.enabled; + } + + /** + * API name: {@code min_number_of_allocations} + */ + @Nullable + public final Integer minNumberOfAllocations() { + return this.minNumberOfAllocations; + } + + /** + * API name: {@code max_number_of_allocations} + */ + @Nullable + public final Integer maxNumberOfAllocations() { + return this.maxNumberOfAllocations; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("enabled"); + generator.write(this.enabled); + + if (this.minNumberOfAllocations != null) { + generator.writeKey("min_number_of_allocations"); + generator.write(this.minNumberOfAllocations); + + } + if (this.maxNumberOfAllocations != null) { + generator.writeKey("max_number_of_allocations"); + generator.write(this.maxNumberOfAllocations); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link AdaptiveAllocationsSettings}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Boolean enabled; + + @Nullable + private Integer minNumberOfAllocations; + + @Nullable + private Integer maxNumberOfAllocations; + + /** + * Required - API name: {@code enabled} + */ + public final Builder enabled(boolean value) { + this.enabled = value; + return this; + } + + /** + * API name: {@code min_number_of_allocations} + */ + public final Builder minNumberOfAllocations(@Nullable Integer value) { + this.minNumberOfAllocations = value; + return this; + } + + /** + * API name: {@code max_number_of_allocations} + */ + public final Builder maxNumberOfAllocations(@Nullable Integer value) { + this.maxNumberOfAllocations = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link AdaptiveAllocationsSettings}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public AdaptiveAllocationsSettings build() { + _checkSingleUse(); + + return new AdaptiveAllocationsSettings(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link AdaptiveAllocationsSettings} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, AdaptiveAllocationsSettings::setupAdaptiveAllocationsSettingsDeserializer); + + protected static void setupAdaptiveAllocationsSettingsDeserializer( + ObjectDeserializer op) { + + op.add(Builder::enabled, JsonpDeserializer.booleanDeserializer(), "enabled"); + op.add(Builder::minNumberOfAllocations, JsonpDeserializer.integerDeserializer(), "min_number_of_allocations"); + op.add(Builder::maxNumberOfAllocations, JsonpDeserializer.integerDeserializer(), "max_number_of_allocations"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CommonTokenizationConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CommonTokenizationConfig.java new file mode 100644 index 000000000..65dca426c --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/CommonTokenizationConfig.java @@ -0,0 +1,270 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.CommonTokenizationConfig + +/** + * + * @see API + * specification + */ + +public abstract class CommonTokenizationConfig implements JsonpSerializable { + @Nullable + private final Boolean doLowerCase; + + @Nullable + private final Integer maxSequenceLength; + + @Nullable + private final Integer span; + + @Nullable + private final TokenizationTruncate truncate; + + @Nullable + private final Boolean withSpecialTokens; + + // --------------------------------------------------------------------------------------------- + + protected CommonTokenizationConfig(AbstractBuilder builder) { + + this.doLowerCase = builder.doLowerCase; + this.maxSequenceLength = builder.maxSequenceLength; + this.span = builder.span; + this.truncate = builder.truncate; + this.withSpecialTokens = builder.withSpecialTokens; + + } + + /** + * Should the tokenizer lower case the text + *

    + * API name: {@code do_lower_case} + */ + @Nullable + public final Boolean doLowerCase() { + return this.doLowerCase; + } + + /** + * Maximum input sequence length for the model + *

    + * API name: {@code max_sequence_length} + */ + @Nullable + public final Integer maxSequenceLength() { + return this.maxSequenceLength; + } + + /** + * Tokenization spanning options. Special value of -1 indicates no spanning + * takes place + *

    + * API name: {@code span} + */ + @Nullable + public final Integer span() { + return this.span; + } + + /** + * Should tokenization input be automatically truncated before sending to the + * model for inference + *

    + * API name: {@code truncate} + */ + @Nullable + public final TokenizationTruncate truncate() { + return this.truncate; + } + + /** + * Is tokenization completed with special tokens + *

    + * API name: {@code with_special_tokens} + */ + @Nullable + public final Boolean withSpecialTokens() { + return this.withSpecialTokens; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.doLowerCase != null) { + generator.writeKey("do_lower_case"); + generator.write(this.doLowerCase); + + } + if (this.maxSequenceLength != null) { + generator.writeKey("max_sequence_length"); + generator.write(this.maxSequenceLength); + + } + if (this.span != null) { + generator.writeKey("span"); + generator.write(this.span); + + } + if (this.truncate != null) { + generator.writeKey("truncate"); + this.truncate.serialize(generator, mapper); + } + if (this.withSpecialTokens != null) { + generator.writeKey("with_special_tokens"); + generator.write(this.withSpecialTokens); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + public abstract static class AbstractBuilder> + extends + WithJsonObjectBuilderBase { + @Nullable + private Boolean doLowerCase; + + @Nullable + private Integer maxSequenceLength; + + @Nullable + private Integer span; + + @Nullable + private TokenizationTruncate truncate; + + @Nullable + private Boolean withSpecialTokens; + + /** + * Should the tokenizer lower case the text + *

    + * API name: {@code do_lower_case} + */ + public final BuilderT doLowerCase(@Nullable Boolean value) { + this.doLowerCase = value; + return self(); + } + + /** + * Maximum input sequence length for the model + *

    + * API name: {@code max_sequence_length} + */ + public final BuilderT maxSequenceLength(@Nullable Integer value) { + this.maxSequenceLength = value; + return self(); + } + + /** + * Tokenization spanning options. Special value of -1 indicates no spanning + * takes place + *

    + * API name: {@code span} + */ + public final BuilderT span(@Nullable Integer value) { + this.span = value; + return self(); + } + + /** + * Should tokenization input be automatically truncated before sending to the + * model for inference + *

    + * API name: {@code truncate} + */ + public final BuilderT truncate(@Nullable TokenizationTruncate value) { + this.truncate = value; + return self(); + } + + /** + * Is tokenization completed with special tokens + *

    + * API name: {@code with_special_tokens} + */ + public final BuilderT withSpecialTokens(@Nullable Boolean value) { + this.withSpecialTokens = value; + return self(); + } + + protected abstract BuilderT self(); + + } + + // --------------------------------------------------------------------------------------------- + protected static > void setupCommonTokenizationConfigDeserializer( + ObjectDeserializer op) { + + op.add(AbstractBuilder::doLowerCase, JsonpDeserializer.booleanDeserializer(), "do_lower_case"); + op.add(AbstractBuilder::maxSequenceLength, JsonpDeserializer.integerDeserializer(), "max_sequence_length"); + op.add(AbstractBuilder::span, JsonpDeserializer.integerDeserializer(), "span"); + op.add(AbstractBuilder::truncate, TokenizationTruncate._DESERIALIZER, "truncate"); + op.add(AbstractBuilder::withSpecialTokens, JsonpDeserializer.booleanDeserializer(), "with_special_tokens"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedStats.java index 8b2eec816..176d1d804 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedStats.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedStats.java @@ -65,10 +65,11 @@ public class DatafeedStats implements JsonpSerializable { private final String datafeedId; @Nullable - private final DiscoveryNode node; + private final DiscoveryNodeCompact node; private final DatafeedState state; + @Nullable private final DatafeedTimingStats timingStats; @Nullable @@ -82,7 +83,7 @@ private DatafeedStats(Builder builder) { this.datafeedId = ApiTypeHelper.requireNonNull(builder.datafeedId, this, "datafeedId"); this.node = builder.node; this.state = ApiTypeHelper.requireNonNull(builder.state, this, "state"); - this.timingStats = ApiTypeHelper.requireNonNull(builder.timingStats, this, "timingStats"); + this.timingStats = builder.timingStats; this.runningState = builder.runningState; } @@ -121,7 +122,7 @@ public final String datafeedId() { * API name: {@code node} */ @Nullable - public final DiscoveryNode node() { + public final DiscoveryNodeCompact node() { return this.node; } @@ -137,11 +138,12 @@ public final DatafeedState state() { } /** - * Required - An object that provides statistical information about timing - * aspect of this datafeed. + * An object that provides statistical information about timing aspect of this + * datafeed. *

    * API name: {@code timing_stats} */ + @Nullable public final DatafeedTimingStats timingStats() { return this.timingStats; } @@ -183,9 +185,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } generator.writeKey("state"); this.state.serialize(generator, mapper); - generator.writeKey("timing_stats"); - this.timingStats.serialize(generator, mapper); + if (this.timingStats != null) { + generator.writeKey("timing_stats"); + this.timingStats.serialize(generator, mapper); + } if (this.runningState != null) { generator.writeKey("running_state"); this.runningState.serialize(generator, mapper); @@ -212,10 +216,11 @@ public static class Builder extends WithJsonObjectBuilderBase implement private String datafeedId; @Nullable - private DiscoveryNode node; + private DiscoveryNodeCompact node; private DatafeedState state; + @Nullable private DatafeedTimingStats timingStats; @Nullable @@ -251,7 +256,7 @@ public final Builder datafeedId(String value) { *

    * API name: {@code node} */ - public final Builder node(@Nullable DiscoveryNode value) { + public final Builder node(@Nullable DiscoveryNodeCompact value) { this.node = value; return this; } @@ -262,8 +267,8 @@ public final Builder node(@Nullable DiscoveryNode value) { *

    * API name: {@code node} */ - public final Builder node(Function> fn) { - return this.node(fn.apply(new DiscoveryNode.Builder()).build()); + public final Builder node(Function> fn) { + return this.node(fn.apply(new DiscoveryNodeCompact.Builder()).build()); } /** @@ -279,19 +284,19 @@ public final Builder state(DatafeedState value) { } /** - * Required - An object that provides statistical information about timing - * aspect of this datafeed. + * An object that provides statistical information about timing aspect of this + * datafeed. *

    * API name: {@code timing_stats} */ - public final Builder timingStats(DatafeedTimingStats value) { + public final Builder timingStats(@Nullable DatafeedTimingStats value) { this.timingStats = value; return this; } /** - * Required - An object that provides statistical information about timing - * aspect of this datafeed. + * An object that provides statistical information about timing aspect of this + * datafeed. *

    * API name: {@code timing_stats} */ @@ -351,7 +356,7 @@ protected static void setupDatafeedStatsDeserializer(ObjectDeserializer @@ -164,6 +176,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("exponential_average_search_time_per_hour_ms"); generator.write(this.exponentialAverageSearchTimePerHourMs); + if (this.exponentialAverageCalculationContext != null) { + generator.writeKey("exponential_average_calculation_context"); + this.exponentialAverageCalculationContext.serialize(generator, mapper); + + } generator.writeKey("job_id"); generator.write(this.jobId); @@ -199,6 +216,9 @@ public static class Builder extends WithJsonObjectBuilderBase private Double exponentialAverageSearchTimePerHourMs; + @Nullable + private ExponentialAverageCalculationContext exponentialAverageCalculationContext; + private String jobId; private Long searchCount; @@ -228,6 +248,24 @@ public final Builder exponentialAverageSearchTimePerHourMs(double value) { return this; } + /** + * API name: {@code exponential_average_calculation_context} + */ + public final Builder exponentialAverageCalculationContext( + @Nullable ExponentialAverageCalculationContext value) { + this.exponentialAverageCalculationContext = value; + return this; + } + + /** + * API name: {@code exponential_average_calculation_context} + */ + public final Builder exponentialAverageCalculationContext( + Function> fn) { + return this.exponentialAverageCalculationContext( + fn.apply(new ExponentialAverageCalculationContext.Builder()).build()); + } + /** * Required - Identifier for the anomaly detection job. *

    @@ -299,6 +337,8 @@ protected static void setupDatafeedTimingStatsDeserializer(ObjectDeserializer meta; + // --------------------------------------------------------------------------------------------- private DataframeAnalyticsSummary(Builder builder) { @@ -111,6 +115,7 @@ private DataframeAnalyticsSummary(Builder builder) { this.modelMemoryLimit = builder.modelMemoryLimit; this.source = ApiTypeHelper.requireNonNull(builder.source, this, "source"); this.version = builder.version; + this.meta = ApiTypeHelper.unmodifiable(builder.meta); } @@ -214,6 +219,13 @@ public final String version() { return this.version; } + /** + * API name: {@code _meta} + */ + public final Map meta() { + return this.meta; + } + /** * Serialize this object to JSON. */ @@ -277,6 +289,17 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.version); } + if (ApiTypeHelper.isDefined(this.meta)) { + generator.writeKey("_meta"); + generator.writeStartObject(); + for (Map.Entry item0 : this.meta.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } } @@ -326,6 +349,9 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String version; + @Nullable + private Map meta; + /** * API name: {@code allow_lazy_start} */ @@ -469,6 +495,26 @@ public final Builder version(@Nullable String value) { return this; } + /** + * API name: {@code _meta} + *

    + * Adds all entries of map to meta. + */ + public final Builder meta(Map map) { + this.meta = _mapPutAll(this.meta, map); + return this; + } + + /** + * API name: {@code _meta} + *

    + * Adds an entry to meta. + */ + public final Builder meta(String key, JsonData value) { + this.meta = _mapPut(this.meta, key, value); + return this; + } + @Override protected Builder self() { return this; @@ -510,6 +556,7 @@ protected static void setupDataframeAnalyticsSummaryDeserializer( op.add(Builder::modelMemoryLimit, JsonpDeserializer.stringDeserializer(), "model_memory_limit"); op.add(Builder::source, DataframeAnalyticsSource._DESERIALIZER, "source"); op.add(Builder::version, JsonpDeserializer.stringDeserializer(), "version"); + op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DetectorUpdate.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DetectorUpdate.java new file mode 100644 index 000000000..a99721189 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DetectorUpdate.java @@ -0,0 +1,270 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.DetectorUpdate + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DetectorUpdate implements JsonpSerializable { + private final int detectorIndex; + + @Nullable + private final String description; + + private final List customRules; + + // --------------------------------------------------------------------------------------------- + + private DetectorUpdate(Builder builder) { + + this.detectorIndex = ApiTypeHelper.requireNonNull(builder.detectorIndex, this, "detectorIndex"); + this.description = builder.description; + this.customRules = ApiTypeHelper.unmodifiable(builder.customRules); + + } + + public static DetectorUpdate of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - A unique identifier for the detector. This identifier is based on + * the order of the detectors in the analysis_config, starting at + * zero. + *

    + * API name: {@code detector_index} + */ + public final int detectorIndex() { + return this.detectorIndex; + } + + /** + * A description of the detector. + *

    + * API name: {@code description} + */ + @Nullable + public final String description() { + return this.description; + } + + /** + * An array of custom rule objects, which enable you to customize the way + * detectors operate. For example, a rule may dictate to the detector conditions + * under which results should be skipped. Kibana refers to custom rules as job + * rules. + *

    + * API name: {@code custom_rules} + */ + public final List customRules() { + return this.customRules; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("detector_index"); + generator.write(this.detectorIndex); + + if (this.description != null) { + generator.writeKey("description"); + generator.write(this.description); + + } + if (ApiTypeHelper.isDefined(this.customRules)) { + generator.writeKey("custom_rules"); + generator.writeStartArray(); + for (DetectionRule item0 : this.customRules) { + item0.serialize(generator, mapper); + + } + generator.writeEnd(); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DetectorUpdate}. + */ + + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + private Integer detectorIndex; + + @Nullable + private String description; + + @Nullable + private List customRules; + + /** + * Required - A unique identifier for the detector. This identifier is based on + * the order of the detectors in the analysis_config, starting at + * zero. + *

    + * API name: {@code detector_index} + */ + public final Builder detectorIndex(int value) { + this.detectorIndex = value; + return this; + } + + /** + * A description of the detector. + *

    + * API name: {@code description} + */ + public final Builder description(@Nullable String value) { + this.description = value; + return this; + } + + /** + * An array of custom rule objects, which enable you to customize the way + * detectors operate. For example, a rule may dictate to the detector conditions + * under which results should be skipped. Kibana refers to custom rules as job + * rules. + *

    + * API name: {@code custom_rules} + *

    + * Adds all elements of list to customRules. + */ + public final Builder customRules(List list) { + this.customRules = _listAddAll(this.customRules, list); + return this; + } + + /** + * An array of custom rule objects, which enable you to customize the way + * detectors operate. For example, a rule may dictate to the detector conditions + * under which results should be skipped. Kibana refers to custom rules as job + * rules. + *

    + * API name: {@code custom_rules} + *

    + * Adds one or more values to customRules. + */ + public final Builder customRules(DetectionRule value, DetectionRule... values) { + this.customRules = _listAdd(this.customRules, value, values); + return this; + } + + /** + * An array of custom rule objects, which enable you to customize the way + * detectors operate. For example, a rule may dictate to the detector conditions + * under which results should be skipped. Kibana refers to custom rules as job + * rules. + *

    + * API name: {@code custom_rules} + *

    + * Adds a value to customRules using a builder lambda. + */ + public final Builder customRules(Function> fn) { + return customRules(fn.apply(new DetectionRule.Builder()).build()); + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DetectorUpdate}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DetectorUpdate build() { + _checkSingleUse(); + + return new DetectorUpdate(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DetectorUpdate} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, + DetectorUpdate::setupDetectorUpdateDeserializer); + + protected static void setupDetectorUpdateDeserializer(ObjectDeserializer op) { + + op.add(Builder::detectorIndex, JsonpDeserializer.integerDeserializer(), "detector_index"); + op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(Builder::customRules, JsonpDeserializer.arrayDeserializer(DetectionRule._DESERIALIZER), "custom_rules"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNode.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeCompact.java similarity index 87% rename from java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNode.java rename to java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeCompact.java index b48216889..fd5083c99 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNode.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeCompact.java @@ -51,46 +51,48 @@ // //---------------------------------------------------------------- -// typedef: ml._types.DiscoveryNode +// typedef: ml._types.DiscoveryNodeCompact /** - * - * @see API + * Alternative representation of DiscoveryNode used in ml.get_job_stats and + * ml.get_datafeed_stats + * + * @see API * specification */ @JsonpDeserializable -public class DiscoveryNode implements JsonpSerializable { - private final Map attributes; +public class DiscoveryNodeCompact implements JsonpSerializable { + private final String name; private final String ephemeralId; private final String id; - private final String name; - private final String transportAddress; + private final Map attributes; + // --------------------------------------------------------------------------------------------- - private DiscoveryNode(Builder builder) { + private DiscoveryNodeCompact(Builder builder) { - this.attributes = ApiTypeHelper.unmodifiableRequired(builder.attributes, this, "attributes"); + this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); this.ephemeralId = ApiTypeHelper.requireNonNull(builder.ephemeralId, this, "ephemeralId"); this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); this.transportAddress = ApiTypeHelper.requireNonNull(builder.transportAddress, this, "transportAddress"); + this.attributes = ApiTypeHelper.unmodifiableRequired(builder.attributes, this, "attributes"); } - public static DiscoveryNode of(Function> fn) { + public static DiscoveryNodeCompact of(Function> fn) { return fn.apply(new Builder()).build(); } /** - * Required - API name: {@code attributes} + * Required - API name: {@code name} */ - public final Map attributes() { - return this.attributes; + public final String name() { + return this.name; } /** @@ -108,17 +110,17 @@ public final String id() { } /** - * Required - API name: {@code name} + * Required - API name: {@code transport_address} */ - public final String name() { - return this.name; + public final String transportAddress() { + return this.transportAddress; } /** - * Required - API name: {@code transport_address} + * Required - API name: {@code attributes} */ - public final String transportAddress() { - return this.transportAddress; + public final Map attributes() { + return this.attributes; } /** @@ -132,6 +134,18 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + generator.writeKey("name"); + generator.write(this.name); + + generator.writeKey("ephemeral_id"); + generator.write(this.ephemeralId); + + generator.writeKey("id"); + generator.write(this.id); + + generator.writeKey("transport_address"); + generator.write(this.transportAddress); + if (ApiTypeHelper.isDefined(this.attributes)) { generator.writeKey("attributes"); generator.writeStartObject(); @@ -143,17 +157,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - generator.writeKey("ephemeral_id"); - generator.write(this.ephemeralId); - - generator.writeKey("id"); - generator.write(this.id); - - generator.writeKey("name"); - generator.write(this.name); - - generator.writeKey("transport_address"); - generator.write(this.transportAddress); } @@ -165,37 +168,27 @@ public String toString() { // --------------------------------------------------------------------------------------------- /** - * Builder for {@link DiscoveryNode}. + * Builder for {@link DiscoveryNodeCompact}. */ - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Map attributes; + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String name; private String ephemeralId; private String id; - private String name; - private String transportAddress; - /** - * Required - API name: {@code attributes} - *

    - * Adds all entries of map to attributes. - */ - public final Builder attributes(Map map) { - this.attributes = _mapPutAll(this.attributes, map); - return this; - } + private Map attributes; /** - * Required - API name: {@code attributes} - *

    - * Adds an entry to attributes. + * Required - API name: {@code name} */ - public final Builder attributes(String key, String value) { - this.attributes = _mapPut(this.attributes, key, value); + public final Builder name(String value) { + this.name = value; return this; } @@ -216,18 +209,30 @@ public final Builder id(String value) { } /** - * Required - API name: {@code name} + * Required - API name: {@code transport_address} */ - public final Builder name(String value) { - this.name = value; + public final Builder transportAddress(String value) { + this.transportAddress = value; return this; } /** - * Required - API name: {@code transport_address} + * Required - API name: {@code attributes} + *

    + * Adds all entries of map to attributes. */ - public final Builder transportAddress(String value) { - this.transportAddress = value; + public final Builder attributes(Map map) { + this.attributes = _mapPutAll(this.attributes, map); + return this; + } + + /** + * Required - API name: {@code attributes} + *

    + * Adds an entry to attributes. + */ + public final Builder attributes(String key, String value) { + this.attributes = _mapPut(this.attributes, key, value); return this; } @@ -237,34 +242,34 @@ protected Builder self() { } /** - * Builds a {@link DiscoveryNode}. + * Builds a {@link DiscoveryNodeCompact}. * * @throws NullPointerException * if some of the required fields are null. */ - public DiscoveryNode build() { + public DiscoveryNodeCompact build() { _checkSingleUse(); - return new DiscoveryNode(this); + return new DiscoveryNodeCompact(this); } } // --------------------------------------------------------------------------------------------- /** - * Json deserializer for {@link DiscoveryNode} + * Json deserializer for {@link DiscoveryNodeCompact} */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - DiscoveryNode::setupDiscoveryNodeDeserializer); + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, DiscoveryNodeCompact::setupDiscoveryNodeCompactDeserializer); - protected static void setupDiscoveryNodeDeserializer(ObjectDeserializer op) { + protected static void setupDiscoveryNodeCompactDeserializer(ObjectDeserializer op) { - op.add(Builder::attributes, JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.stringDeserializer()), - "attributes"); + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); op.add(Builder::ephemeralId, JsonpDeserializer.stringDeserializer(), "ephemeral_id"); op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); op.add(Builder::transportAddress, JsonpDeserializer.stringDeserializer(), "transport_address"); + op.add(Builder::attributes, JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.stringDeserializer()), + "attributes"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeContent.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeContent.java new file mode 100644 index 000000000..634858284 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DiscoveryNodeContent.java @@ -0,0 +1,422 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.DiscoveryNodeContent + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class DiscoveryNodeContent implements JsonpSerializable { + // Single key dictionary + private final String id; + + @Nullable + private final String name; + + private final String ephemeralId; + + private final String transportAddress; + + private final String externalId; + + private final Map attributes; + + private final List roles; + + private final String version; + + private final int minIndexVersion; + + private final int maxIndexVersion; + + // --------------------------------------------------------------------------------------------- + + private DiscoveryNodeContent(Builder builder) { + + this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); + + this.name = builder.name; + this.ephemeralId = ApiTypeHelper.requireNonNull(builder.ephemeralId, this, "ephemeralId"); + this.transportAddress = ApiTypeHelper.requireNonNull(builder.transportAddress, this, "transportAddress"); + this.externalId = ApiTypeHelper.requireNonNull(builder.externalId, this, "externalId"); + this.attributes = ApiTypeHelper.unmodifiableRequired(builder.attributes, this, "attributes"); + this.roles = ApiTypeHelper.unmodifiableRequired(builder.roles, this, "roles"); + this.version = ApiTypeHelper.requireNonNull(builder.version, this, "version"); + this.minIndexVersion = ApiTypeHelper.requireNonNull(builder.minIndexVersion, this, "minIndexVersion"); + this.maxIndexVersion = ApiTypeHelper.requireNonNull(builder.maxIndexVersion, this, "maxIndexVersion"); + + } + + public static DiscoveryNodeContent of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - + */ + public final String id() { + return this.id; + } + + /** + * API name: {@code name} + */ + @Nullable + public final String name() { + return this.name; + } + + /** + * Required - API name: {@code ephemeral_id} + */ + public final String ephemeralId() { + return this.ephemeralId; + } + + /** + * Required - API name: {@code transport_address} + */ + public final String transportAddress() { + return this.transportAddress; + } + + /** + * Required - API name: {@code external_id} + */ + public final String externalId() { + return this.externalId; + } + + /** + * Required - API name: {@code attributes} + */ + public final Map attributes() { + return this.attributes; + } + + /** + * Required - API name: {@code roles} + */ + public final List roles() { + return this.roles; + } + + /** + * Required - API name: {@code version} + */ + public final String version() { + return this.version; + } + + /** + * Required - API name: {@code min_index_version} + */ + public final int minIndexVersion() { + return this.minIndexVersion; + } + + /** + * Required - API name: {@code max_index_version} + */ + public final int maxIndexVersion() { + return this.maxIndexVersion; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(this.id); + + if (this.name != null) { + generator.writeKey("name"); + generator.write(this.name); + + } + generator.writeKey("ephemeral_id"); + generator.write(this.ephemeralId); + + generator.writeKey("transport_address"); + generator.write(this.transportAddress); + + generator.writeKey("external_id"); + generator.write(this.externalId); + + if (ApiTypeHelper.isDefined(this.attributes)) { + generator.writeKey("attributes"); + generator.writeStartObject(); + for (Map.Entry item0 : this.attributes.entrySet()) { + generator.writeKey(item0.getKey()); + generator.write(item0.getValue()); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.roles)) { + generator.writeKey("roles"); + generator.writeStartArray(); + for (String item0 : this.roles) { + generator.write(item0); + + } + generator.writeEnd(); + + } + generator.writeKey("version"); + generator.write(this.version); + + generator.writeKey("min_index_version"); + generator.write(this.minIndexVersion); + + generator.writeKey("max_index_version"); + generator.write(this.maxIndexVersion); + + generator.writeEnd(); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link DiscoveryNodeContent}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private String id; + + /** + * Required - + */ + public final Builder id(String value) { + this.id = value; + return this; + } + + @Nullable + private String name; + + private String ephemeralId; + + private String transportAddress; + + private String externalId; + + private Map attributes; + + private List roles; + + private String version; + + private Integer minIndexVersion; + + private Integer maxIndexVersion; + + /** + * API name: {@code name} + */ + public final Builder name(@Nullable String value) { + this.name = value; + return this; + } + + /** + * Required - API name: {@code ephemeral_id} + */ + public final Builder ephemeralId(String value) { + this.ephemeralId = value; + return this; + } + + /** + * Required - API name: {@code transport_address} + */ + public final Builder transportAddress(String value) { + this.transportAddress = value; + return this; + } + + /** + * Required - API name: {@code external_id} + */ + public final Builder externalId(String value) { + this.externalId = value; + return this; + } + + /** + * Required - API name: {@code attributes} + *

    + * Adds all entries of map to attributes. + */ + public final Builder attributes(Map map) { + this.attributes = _mapPutAll(this.attributes, map); + return this; + } + + /** + * Required - API name: {@code attributes} + *

    + * Adds an entry to attributes. + */ + public final Builder attributes(String key, String value) { + this.attributes = _mapPut(this.attributes, key, value); + return this; + } + + /** + * Required - API name: {@code roles} + *

    + * Adds all elements of list to roles. + */ + public final Builder roles(List list) { + this.roles = _listAddAll(this.roles, list); + return this; + } + + /** + * Required - API name: {@code roles} + *

    + * Adds one or more values to roles. + */ + public final Builder roles(String value, String... values) { + this.roles = _listAdd(this.roles, value, values); + return this; + } + + /** + * Required - API name: {@code version} + */ + public final Builder version(String value) { + this.version = value; + return this; + } + + /** + * Required - API name: {@code min_index_version} + */ + public final Builder minIndexVersion(int value) { + this.minIndexVersion = value; + return this; + } + + /** + * Required - API name: {@code max_index_version} + */ + public final Builder maxIndexVersion(int value) { + this.maxIndexVersion = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link DiscoveryNodeContent}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public DiscoveryNodeContent build() { + _checkSingleUse(); + + return new DiscoveryNodeContent(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link DiscoveryNodeContent} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, DiscoveryNodeContent::setupDiscoveryNodeContentDeserializer); + + protected static void setupDiscoveryNodeContentDeserializer(ObjectDeserializer op) { + + op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); + op.add(Builder::ephemeralId, JsonpDeserializer.stringDeserializer(), "ephemeral_id"); + op.add(Builder::transportAddress, JsonpDeserializer.stringDeserializer(), "transport_address"); + op.add(Builder::externalId, JsonpDeserializer.stringDeserializer(), "external_id"); + op.add(Builder::attributes, JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.stringDeserializer()), + "attributes"); + op.add(Builder::roles, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "roles"); + op.add(Builder::version, JsonpDeserializer.stringDeserializer(), "version"); + op.add(Builder::minIndexVersion, JsonpDeserializer.integerDeserializer(), "min_index_version"); + op.add(Builder::maxIndexVersion, JsonpDeserializer.integerDeserializer(), "max_index_version"); + + op.setKey(Builder::id, JsonpDeserializer.stringDeserializer()); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java index 376f521b2..84113a71c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java @@ -1832,7 +1832,7 @@ public final CompletableFuture inferTrainedModel( // ----- Endpoint: ml.info /** - * Return ML defaults and limits. Returns defaults and limits used by machine + * Get machine learning information. Get defaults and limits used by machine * learning. This endpoint is designed to be used by a user interface that needs * to fully understand machine learning configurations where some options are * not specified, meaning that the defaults should be used. This endpoint may be @@ -3256,7 +3256,7 @@ public CompletableFuture validate() { // ----- Endpoint: ml.validate_detector /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @see Documentation @@ -3271,7 +3271,7 @@ public CompletableFuture validateDetector(ValidateDete } /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @param fn * a function that initializes a builder to create the @@ -3287,7 +3287,7 @@ public final CompletableFuture validateDetector( } /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java index a7d3862fe..bdfc22fe7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java @@ -1883,7 +1883,7 @@ public final InferTrainedModelResponse inferTrainedModel( // ----- Endpoint: ml.info /** - * Return ML defaults and limits. Returns defaults and limits used by machine + * Get machine learning information. Get defaults and limits used by machine * learning. This endpoint is designed to be used by a user interface that needs * to fully understand machine learning configurations where some options are * not specified, meaning that the defaults should be used. This endpoint may be @@ -3343,7 +3343,7 @@ public ValidateResponse validate() throws IOException, ElasticsearchException { // ----- Endpoint: ml.validate_detector /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @see Documentation @@ -3359,7 +3359,7 @@ public ValidateDetectorResponse validateDetector(ValidateDetectorRequest request } /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @param fn * a function that initializes a builder to create the @@ -3376,7 +3376,7 @@ public final ValidateDetectorResponse validateDetector( } /** - * Validates an anomaly detection detector. + * Validate an anomaly detection job. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExponentialAverageCalculationContext.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExponentialAverageCalculationContext.java new file mode 100644 index 000000000..fb22297b4 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExponentialAverageCalculationContext.java @@ -0,0 +1,222 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Double; +import java.lang.Long; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.ExponentialAverageCalculationContext + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class ExponentialAverageCalculationContext implements JsonpSerializable { + private final double incrementalMetricValueMs; + + @Nullable + private final Long latestTimestamp; + + @Nullable + private final Double previousExponentialAverageMs; + + // --------------------------------------------------------------------------------------------- + + private ExponentialAverageCalculationContext(Builder builder) { + + this.incrementalMetricValueMs = ApiTypeHelper.requireNonNull(builder.incrementalMetricValueMs, this, + "incrementalMetricValueMs"); + this.latestTimestamp = builder.latestTimestamp; + this.previousExponentialAverageMs = builder.previousExponentialAverageMs; + + } + + public static ExponentialAverageCalculationContext of( + Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * Required - API name: {@code incremental_metric_value_ms} + */ + public final double incrementalMetricValueMs() { + return this.incrementalMetricValueMs; + } + + /** + * API name: {@code latest_timestamp} + */ + @Nullable + public final Long latestTimestamp() { + return this.latestTimestamp; + } + + /** + * API name: {@code previous_exponential_average_ms} + */ + @Nullable + public final Double previousExponentialAverageMs() { + return this.previousExponentialAverageMs; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + generator.writeKey("incremental_metric_value_ms"); + generator.write(this.incrementalMetricValueMs); + + if (this.latestTimestamp != null) { + generator.writeKey("latest_timestamp"); + generator.write(this.latestTimestamp); + + } + if (this.previousExponentialAverageMs != null) { + generator.writeKey("previous_exponential_average_ms"); + generator.write(this.previousExponentialAverageMs); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link ExponentialAverageCalculationContext}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + private Double incrementalMetricValueMs; + + @Nullable + private Long latestTimestamp; + + @Nullable + private Double previousExponentialAverageMs; + + /** + * Required - API name: {@code incremental_metric_value_ms} + */ + public final Builder incrementalMetricValueMs(double value) { + this.incrementalMetricValueMs = value; + return this; + } + + /** + * API name: {@code latest_timestamp} + */ + public final Builder latestTimestamp(@Nullable Long value) { + this.latestTimestamp = value; + return this; + } + + /** + * API name: {@code previous_exponential_average_ms} + */ + public final Builder previousExponentialAverageMs(@Nullable Double value) { + this.previousExponentialAverageMs = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link ExponentialAverageCalculationContext}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public ExponentialAverageCalculationContext build() { + _checkSingleUse(); + + return new ExponentialAverageCalculationContext(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link ExponentialAverageCalculationContext} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, + ExponentialAverageCalculationContext::setupExponentialAverageCalculationContextDeserializer); + + protected static void setupExponentialAverageCalculationContextDeserializer( + ObjectDeserializer op) { + + op.add(Builder::incrementalMetricValueMs, JsonpDeserializer.doubleDeserializer(), + "incremental_metric_value_ms"); + op.add(Builder::latestTimestamp, JsonpDeserializer.longDeserializer(), "latest_timestamp"); + op.add(Builder::previousExponentialAverageMs, JsonpDeserializer.doubleDeserializer(), + "previous_exponential_average_ms"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java index f62697910..76ddbdb1d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java @@ -26,6 +26,7 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; @@ -73,6 +74,8 @@ public class FillMaskInferenceOptions implements InferenceConfigCreateVariant, J @Nullable private final String resultsField; + private final Vocabulary vocabulary; + // --------------------------------------------------------------------------------------------- private FillMaskInferenceOptions(Builder builder) { @@ -81,6 +84,7 @@ private FillMaskInferenceOptions(Builder builder) { this.numTopClasses = builder.numTopClasses; this.tokenization = builder.tokenization; this.resultsField = builder.resultsField; + this.vocabulary = ApiTypeHelper.requireNonNull(builder.vocabulary, this, "vocabulary"); } @@ -143,6 +147,13 @@ public final String resultsField() { return this.resultsField; } + /** + * Required - API name: {@code vocabulary} + */ + public final Vocabulary vocabulary() { + return this.vocabulary; + } + /** * Serialize this object to JSON. */ @@ -174,6 +185,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.resultsField); } + generator.writeKey("vocabulary"); + this.vocabulary.serialize(generator, mapper); } @@ -203,6 +216,8 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String resultsField; + private Vocabulary vocabulary; + /** * The string/token which will be removed from incoming documents and replaced * with the inference prediction(s). In a response, this field contains the mask @@ -259,6 +274,21 @@ public final Builder resultsField(@Nullable String value) { return this; } + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Vocabulary value) { + this.vocabulary = value; + return this; + } + + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Function> fn) { + return this.vocabulary(fn.apply(new Vocabulary.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -292,6 +322,7 @@ protected static void setupFillMaskInferenceOptionsDeserializer( op.add(Builder::numTopClasses, JsonpDeserializer.integerDeserializer(), "num_top_classes"); op.add(Builder::tokenization, TokenizationConfig._DESERIALIZER, "tokenization"); op.add(Builder::resultsField, JsonpDeserializer.stringDeserializer(), "results_field"); + op.add(Builder::vocabulary, Vocabulary._DESERIALIZER, "vocabulary"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsRequest.java index 31d96413d..bd0070355 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsRequest.java @@ -81,6 +81,9 @@ public class GetTrainedModelsRequest extends RequestBase { @Nullable private final Include include; + @Nullable + private final Boolean includeModelDefinition; + private final List modelId; @Nullable @@ -97,6 +100,7 @@ private GetTrainedModelsRequest(Builder builder) { this.excludeGenerated = builder.excludeGenerated; this.from = builder.from; this.include = builder.include; + this.includeModelDefinition = builder.includeModelDefinition; this.modelId = ApiTypeHelper.unmodifiable(builder.modelId); this.size = builder.size; this.tags = ApiTypeHelper.unmodifiable(builder.tags); @@ -168,6 +172,19 @@ public final Include include() { return this.include; } + /** + * parameter is deprecated! Use [include=definition] instead + *

    + * API name: {@code include_model_definition} + * + * @deprecated 7.10.0 + */ + @Deprecated + @Nullable + public final Boolean includeModelDefinition() { + return this.includeModelDefinition; + } + /** * The unique identifier of the trained model or a model alias. *

    @@ -225,6 +242,9 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private Include include; + @Nullable + private Boolean includeModelDefinition; + @Nullable private List modelId; @@ -295,6 +315,19 @@ public final Builder include(@Nullable Include value) { return this; } + /** + * parameter is deprecated! Use [include=definition] instead + *

    + * API name: {@code include_model_definition} + * + * @deprecated 7.10.0 + */ + @Deprecated + public final Builder includeModelDefinition(@Nullable Boolean value) { + this.includeModelDefinition = value; + return this; + } + /** * The unique identifier of the trained model or a model alias. *

    @@ -459,6 +492,9 @@ public GetTrainedModelsRequest build() { if (request.from != null) { params.put("from", String.valueOf(request.from)); } + if (request.includeModelDefinition != null) { + params.put("include_model_definition", String.valueOf(request.includeModelDefinition)); + } if (request.allowNoMatch != null) { params.put("allow_no_match", String.valueOf(request.allowNoMatch)); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/JobStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/JobStats.java index 5c2e622c0..e13134d08 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/JobStats.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/JobStats.java @@ -73,7 +73,7 @@ public class JobStats implements JsonpSerializable { private final ModelSizeStats modelSizeStats; @Nullable - private final DiscoveryNode node; + private final DiscoveryNodeCompact node; @Nullable private final DateTime openTime; @@ -166,7 +166,7 @@ public final ModelSizeStats modelSizeStats() { * API name: {@code node} */ @Nullable - public final DiscoveryNode node() { + public final DiscoveryNodeCompact node() { return this.node; } @@ -286,7 +286,7 @@ public static class Builder extends WithJsonObjectBuilderBase implement private ModelSizeStats modelSizeStats; @Nullable - private DiscoveryNode node; + private DiscoveryNodeCompact node; @Nullable private DateTime openTime; @@ -395,7 +395,7 @@ public final Builder modelSizeStats(Function * API name: {@code node} */ - public final Builder node(@Nullable DiscoveryNode value) { + public final Builder node(@Nullable DiscoveryNodeCompact value) { this.node = value; return this; } @@ -406,8 +406,8 @@ public final Builder node(@Nullable DiscoveryNode value) { *

    * API name: {@code node} */ - public final Builder node(Function> fn) { - return this.node(fn.apply(new DiscoveryNode.Builder()).build()); + public final Builder node(Function> fn) { + return this.node(fn.apply(new DiscoveryNodeCompact.Builder()).build()); } /** @@ -497,7 +497,7 @@ protected static void setupJobStatsDeserializer(ObjectDeserializerAPI + * specification + */ +@JsonpDeserializable +public class ModelPackageConfig implements JsonpSerializable { + @Nullable + private final Long createTime; + + @Nullable + private final String description; + + private final Map inferenceConfig; + + private final Map metadata; + + @Nullable + private final String minimumVersion; + + @Nullable + private final String modelRepository; + + @Nullable + private final String modelType; + + private final String packagedModelId; + + @Nullable + private final String platformArchitecture; + + @Nullable + private final TrainedModelPrefixStrings prefixStrings; + + @Nullable + private final String size; + + @Nullable + private final String sha256; + + private final List tags; + + @Nullable + private final String vocabularyFile; + + // --------------------------------------------------------------------------------------------- + + private ModelPackageConfig(Builder builder) { + + this.createTime = builder.createTime; + this.description = builder.description; + this.inferenceConfig = ApiTypeHelper.unmodifiable(builder.inferenceConfig); + this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); + this.minimumVersion = builder.minimumVersion; + this.modelRepository = builder.modelRepository; + this.modelType = builder.modelType; + this.packagedModelId = ApiTypeHelper.requireNonNull(builder.packagedModelId, this, "packagedModelId"); + this.platformArchitecture = builder.platformArchitecture; + this.prefixStrings = builder.prefixStrings; + this.size = builder.size; + this.sha256 = builder.sha256; + this.tags = ApiTypeHelper.unmodifiable(builder.tags); + this.vocabularyFile = builder.vocabularyFile; + + } + + public static ModelPackageConfig of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code create_time} + */ + @Nullable + public final Long createTime() { + return this.createTime; + } + + /** + * API name: {@code description} + */ + @Nullable + public final String description() { + return this.description; + } + + /** + * API name: {@code inference_config} + */ + public final Map inferenceConfig() { + return this.inferenceConfig; + } + + /** + * API name: {@code metadata} + */ + public final Map metadata() { + return this.metadata; + } + + /** + * API name: {@code minimum_version} + */ + @Nullable + public final String minimumVersion() { + return this.minimumVersion; + } + + /** + * API name: {@code model_repository} + */ + @Nullable + public final String modelRepository() { + return this.modelRepository; + } + + /** + * API name: {@code model_type} + */ + @Nullable + public final String modelType() { + return this.modelType; + } + + /** + * Required - API name: {@code packaged_model_id} + */ + public final String packagedModelId() { + return this.packagedModelId; + } + + /** + * API name: {@code platform_architecture} + */ + @Nullable + public final String platformArchitecture() { + return this.platformArchitecture; + } + + /** + * API name: {@code prefix_strings} + */ + @Nullable + public final TrainedModelPrefixStrings prefixStrings() { + return this.prefixStrings; + } + + /** + * API name: {@code size} + */ + @Nullable + public final String size() { + return this.size; + } + + /** + * API name: {@code sha256} + */ + @Nullable + public final String sha256() { + return this.sha256; + } + + /** + * API name: {@code tags} + */ + public final List tags() { + return this.tags; + } + + /** + * API name: {@code vocabulary_file} + */ + @Nullable + public final String vocabularyFile() { + return this.vocabularyFile; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.createTime != null) { + generator.writeKey("create_time"); + generator.write(this.createTime); + + } + if (this.description != null) { + generator.writeKey("description"); + generator.write(this.description); + + } + if (ApiTypeHelper.isDefined(this.inferenceConfig)) { + generator.writeKey("inference_config"); + generator.writeStartObject(); + for (Map.Entry item0 : this.inferenceConfig.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.metadata)) { + generator.writeKey("metadata"); + generator.writeStartObject(); + for (Map.Entry item0 : this.metadata.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (this.minimumVersion != null) { + generator.writeKey("minimum_version"); + generator.write(this.minimumVersion); + + } + if (this.modelRepository != null) { + generator.writeKey("model_repository"); + generator.write(this.modelRepository); + + } + if (this.modelType != null) { + generator.writeKey("model_type"); + generator.write(this.modelType); + + } + generator.writeKey("packaged_model_id"); + generator.write(this.packagedModelId); + + if (this.platformArchitecture != null) { + generator.writeKey("platform_architecture"); + generator.write(this.platformArchitecture); + + } + if (this.prefixStrings != null) { + generator.writeKey("prefix_strings"); + this.prefixStrings.serialize(generator, mapper); + + } + if (this.size != null) { + generator.writeKey("size"); + generator.write(this.size); + + } + if (this.sha256 != null) { + generator.writeKey("sha256"); + generator.write(this.sha256); + + } + if (ApiTypeHelper.isDefined(this.tags)) { + generator.writeKey("tags"); + generator.writeStartArray(); + for (String item0 : this.tags) { + generator.write(item0); + + } + generator.writeEnd(); + + } + if (this.vocabularyFile != null) { + generator.writeKey("vocabulary_file"); + generator.write(this.vocabularyFile); + + } + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link ModelPackageConfig}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + @Nullable + private Long createTime; + + @Nullable + private String description; + + @Nullable + private Map inferenceConfig; + + @Nullable + private Map metadata; + + @Nullable + private String minimumVersion; + + @Nullable + private String modelRepository; + + @Nullable + private String modelType; + + private String packagedModelId; + + @Nullable + private String platformArchitecture; + + @Nullable + private TrainedModelPrefixStrings prefixStrings; + + @Nullable + private String size; + + @Nullable + private String sha256; + + @Nullable + private List tags; + + @Nullable + private String vocabularyFile; + + /** + * API name: {@code create_time} + */ + public final Builder createTime(@Nullable Long value) { + this.createTime = value; + return this; + } + + /** + * API name: {@code description} + */ + public final Builder description(@Nullable String value) { + this.description = value; + return this; + } + + /** + * API name: {@code inference_config} + *

    + * Adds all entries of map to inferenceConfig. + */ + public final Builder inferenceConfig(Map map) { + this.inferenceConfig = _mapPutAll(this.inferenceConfig, map); + return this; + } + + /** + * API name: {@code inference_config} + *

    + * Adds an entry to inferenceConfig. + */ + public final Builder inferenceConfig(String key, JsonData value) { + this.inferenceConfig = _mapPut(this.inferenceConfig, key, value); + return this; + } + + /** + * API name: {@code metadata} + *

    + * Adds all entries of map to metadata. + */ + public final Builder metadata(Map map) { + this.metadata = _mapPutAll(this.metadata, map); + return this; + } + + /** + * API name: {@code metadata} + *

    + * Adds an entry to metadata. + */ + public final Builder metadata(String key, JsonData value) { + this.metadata = _mapPut(this.metadata, key, value); + return this; + } + + /** + * API name: {@code minimum_version} + */ + public final Builder minimumVersion(@Nullable String value) { + this.minimumVersion = value; + return this; + } + + /** + * API name: {@code model_repository} + */ + public final Builder modelRepository(@Nullable String value) { + this.modelRepository = value; + return this; + } + + /** + * API name: {@code model_type} + */ + public final Builder modelType(@Nullable String value) { + this.modelType = value; + return this; + } + + /** + * Required - API name: {@code packaged_model_id} + */ + public final Builder packagedModelId(String value) { + this.packagedModelId = value; + return this; + } + + /** + * API name: {@code platform_architecture} + */ + public final Builder platformArchitecture(@Nullable String value) { + this.platformArchitecture = value; + return this; + } + + /** + * API name: {@code prefix_strings} + */ + public final Builder prefixStrings(@Nullable TrainedModelPrefixStrings value) { + this.prefixStrings = value; + return this; + } + + /** + * API name: {@code prefix_strings} + */ + public final Builder prefixStrings( + Function> fn) { + return this.prefixStrings(fn.apply(new TrainedModelPrefixStrings.Builder()).build()); + } + + /** + * API name: {@code size} + */ + public final Builder size(@Nullable String value) { + this.size = value; + return this; + } + + /** + * API name: {@code sha256} + */ + public final Builder sha256(@Nullable String value) { + this.sha256 = value; + return this; + } + + /** + * API name: {@code tags} + *

    + * Adds all elements of list to tags. + */ + public final Builder tags(List list) { + this.tags = _listAddAll(this.tags, list); + return this; + } + + /** + * API name: {@code tags} + *

    + * Adds one or more values to tags. + */ + public final Builder tags(String value, String... values) { + this.tags = _listAdd(this.tags, value, values); + return this; + } + + /** + * API name: {@code vocabulary_file} + */ + public final Builder vocabularyFile(@Nullable String value) { + this.vocabularyFile = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link ModelPackageConfig}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public ModelPackageConfig build() { + _checkSingleUse(); + + return new ModelPackageConfig(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link ModelPackageConfig} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, ModelPackageConfig::setupModelPackageConfigDeserializer); + + protected static void setupModelPackageConfigDeserializer(ObjectDeserializer op) { + + op.add(Builder::createTime, JsonpDeserializer.longDeserializer(), "create_time"); + op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description"); + op.add(Builder::inferenceConfig, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), + "inference_config"); + op.add(Builder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); + op.add(Builder::minimumVersion, JsonpDeserializer.stringDeserializer(), "minimum_version"); + op.add(Builder::modelRepository, JsonpDeserializer.stringDeserializer(), "model_repository"); + op.add(Builder::modelType, JsonpDeserializer.stringDeserializer(), "model_type"); + op.add(Builder::packagedModelId, JsonpDeserializer.stringDeserializer(), "packaged_model_id"); + op.add(Builder::platformArchitecture, JsonpDeserializer.stringDeserializer(), "platform_architecture"); + op.add(Builder::prefixStrings, TrainedModelPrefixStrings._DESERIALIZER, "prefix_strings"); + op.add(Builder::size, JsonpDeserializer.stringDeserializer(), "size"); + op.add(Builder::sha256, JsonpDeserializer.stringDeserializer(), "sha256"); + op.add(Builder::tags, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "tags"); + op.add(Builder::vocabularyFile, JsonpDeserializer.stringDeserializer(), "vocabulary_file"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ModelSizeStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ModelSizeStats.java index 06e4bee89..326be2765 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ModelSizeStats.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ModelSizeStats.java @@ -78,6 +78,9 @@ public class ModelSizeStats implements JsonpSerializable { @Nullable private final String modelBytesMemoryLimit; + @Nullable + private final String outputMemoryAllocatorBytes; + @Nullable private final String peakModelBytes; @@ -121,6 +124,7 @@ private ModelSizeStats(Builder builder) { this.modelBytes = ApiTypeHelper.requireNonNull(builder.modelBytes, this, "modelBytes"); this.modelBytesExceeded = builder.modelBytesExceeded; this.modelBytesMemoryLimit = builder.modelBytesMemoryLimit; + this.outputMemoryAllocatorBytes = builder.outputMemoryAllocatorBytes; this.peakModelBytes = builder.peakModelBytes; this.assignmentMemoryBasis = builder.assignmentMemoryBasis; this.resultType = ApiTypeHelper.requireNonNull(builder.resultType, this, "resultType"); @@ -199,6 +203,14 @@ public final String modelBytesMemoryLimit() { return this.modelBytesMemoryLimit; } + /** + * API name: {@code output_memory_allocator_bytes} + */ + @Nullable + public final String outputMemoryAllocatorBytes() { + return this.outputMemoryAllocatorBytes; + } + /** * API name: {@code peak_model_bytes} */ @@ -333,6 +345,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("model_bytes_memory_limit"); generator.write(this.modelBytesMemoryLimit); + } + if (this.outputMemoryAllocatorBytes != null) { + generator.writeKey("output_memory_allocator_bytes"); + generator.write(this.outputMemoryAllocatorBytes); + } if (this.peakModelBytes != null) { generator.writeKey("peak_model_bytes"); @@ -412,6 +429,9 @@ public static class Builder extends WithJsonObjectBuilderBase implement @Nullable private String modelBytesMemoryLimit; + @Nullable + private String outputMemoryAllocatorBytes; + @Nullable private String peakModelBytes; @@ -499,6 +519,14 @@ public final Builder modelBytesMemoryLimit(@Nullable String value) { return this; } + /** + * API name: {@code output_memory_allocator_bytes} + */ + public final Builder outputMemoryAllocatorBytes(@Nullable String value) { + this.outputMemoryAllocatorBytes = value; + return this; + } + /** * API name: {@code peak_model_bytes} */ @@ -647,6 +675,8 @@ protected static void setupModelSizeStatsDeserializer(ObjectDeserializer private SnapshotUpgradeState state; - private DiscoveryNode node; + private DiscoveryNodeContent node; private String assignmentExplanation; @@ -199,7 +199,7 @@ public final Builder state(SnapshotUpgradeState value) { /** * Required - API name: {@code node} */ - public final Builder node(DiscoveryNode value) { + public final Builder node(DiscoveryNodeContent value) { this.node = value; return this; } @@ -207,8 +207,8 @@ public final Builder node(DiscoveryNode value) { /** * Required - API name: {@code node} */ - public final Builder node(Function> fn) { - return this.node(fn.apply(new DiscoveryNode.Builder()).build()); + public final Builder node(Function> fn) { + return this.node(fn.apply(new DiscoveryNodeContent.Builder()).build()); } /** @@ -250,7 +250,7 @@ protected static void setupModelSnapshotUpgradeDeserializer(ObjectDeserializer */ @JsonpDeserializable -public class NlpBertTokenizationConfig implements TokenizationConfigVariant, JsonpSerializable { - @Nullable - private final Boolean doLowerCase; - - @Nullable - private final Boolean withSpecialTokens; - - @Nullable - private final Integer maxSequenceLength; - - @Nullable - private final TokenizationTruncate truncate; - - @Nullable - private final Integer span; - +public class NlpBertTokenizationConfig extends CommonTokenizationConfig implements TokenizationConfigVariant { // --------------------------------------------------------------------------------------------- private NlpBertTokenizationConfig(Builder builder) { - - this.doLowerCase = builder.doLowerCase; - this.withSpecialTokens = builder.withSpecialTokens; - this.maxSequenceLength = builder.maxSequenceLength; - this.truncate = builder.truncate; - this.span = builder.span; + super(builder); } @@ -100,177 +73,15 @@ public TokenizationConfig.Kind _tokenizationConfigKind() { return TokenizationConfig.Kind.Mpnet; } - /** - * Should the tokenizer lower case the text - *

    - * API name: {@code do_lower_case} - */ - @Nullable - public final Boolean doLowerCase() { - return this.doLowerCase; - } - - /** - * Is tokenization completed with special tokens - *

    - * API name: {@code with_special_tokens} - */ - @Nullable - public final Boolean withSpecialTokens() { - return this.withSpecialTokens; - } - - /** - * Maximum input sequence length for the model - *

    - * API name: {@code max_sequence_length} - */ - @Nullable - public final Integer maxSequenceLength() { - return this.maxSequenceLength; - } - - /** - * Should tokenization input be automatically truncated before sending to the - * model for inference - *

    - * API name: {@code truncate} - */ - @Nullable - public final TokenizationTruncate truncate() { - return this.truncate; - } - - /** - * Tokenization spanning options. Special value of -1 indicates no spanning - * takes place - *

    - * API name: {@code span} - */ - @Nullable - public final Integer span() { - return this.span; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.doLowerCase != null) { - generator.writeKey("do_lower_case"); - generator.write(this.doLowerCase); - - } - if (this.withSpecialTokens != null) { - generator.writeKey("with_special_tokens"); - generator.write(this.withSpecialTokens); - - } - if (this.maxSequenceLength != null) { - generator.writeKey("max_sequence_length"); - generator.write(this.maxSequenceLength); - - } - if (this.truncate != null) { - generator.writeKey("truncate"); - this.truncate.serialize(generator, mapper); - } - if (this.span != null) { - generator.writeKey("span"); - generator.write(this.span); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - // --------------------------------------------------------------------------------------------- /** * Builder for {@link NlpBertTokenizationConfig}. */ - public static class Builder extends WithJsonObjectBuilderBase + public static class Builder extends CommonTokenizationConfig.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean doLowerCase; - - @Nullable - private Boolean withSpecialTokens; - - @Nullable - private Integer maxSequenceLength; - - @Nullable - private TokenizationTruncate truncate; - - @Nullable - private Integer span; - - /** - * Should the tokenizer lower case the text - *

    - * API name: {@code do_lower_case} - */ - public final Builder doLowerCase(@Nullable Boolean value) { - this.doLowerCase = value; - return this; - } - - /** - * Is tokenization completed with special tokens - *

    - * API name: {@code with_special_tokens} - */ - public final Builder withSpecialTokens(@Nullable Boolean value) { - this.withSpecialTokens = value; - return this; - } - - /** - * Maximum input sequence length for the model - *

    - * API name: {@code max_sequence_length} - */ - public final Builder maxSequenceLength(@Nullable Integer value) { - this.maxSequenceLength = value; - return this; - } - - /** - * Should tokenization input be automatically truncated before sending to the - * model for inference - *

    - * API name: {@code truncate} - */ - public final Builder truncate(@Nullable TokenizationTruncate value) { - this.truncate = value; - return this; - } - - /** - * Tokenization spanning options. Special value of -1 indicates no spanning - * takes place - *

    - * API name: {@code span} - */ - public final Builder span(@Nullable Integer value) { - this.span = value; - return this; - } - @Override protected Builder self() { return this; @@ -299,12 +110,7 @@ public NlpBertTokenizationConfig build() { protected static void setupNlpBertTokenizationConfigDeserializer( ObjectDeserializer op) { - - op.add(Builder::doLowerCase, JsonpDeserializer.booleanDeserializer(), "do_lower_case"); - op.add(Builder::withSpecialTokens, JsonpDeserializer.booleanDeserializer(), "with_special_tokens"); - op.add(Builder::maxSequenceLength, JsonpDeserializer.integerDeserializer(), "max_sequence_length"); - op.add(Builder::truncate, TokenizationTruncate._DESERIALIZER, "truncate"); - op.add(Builder::span, JsonpDeserializer.integerDeserializer(), "span"); + CommonTokenizationConfig.setupCommonTokenizationConfigDeserializer(op); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NlpRobertaTokenizationConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NlpRobertaTokenizationConfig.java index e877c4f54..574d0dd1c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NlpRobertaTokenizationConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NlpRobertaTokenizationConfig.java @@ -22,15 +22,11 @@ import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; -import java.lang.Integer; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -60,31 +56,16 @@ * specification */ @JsonpDeserializable -public class NlpRobertaTokenizationConfig implements TokenizationConfigVariant, JsonpSerializable { +public class NlpRobertaTokenizationConfig extends CommonTokenizationConfig implements TokenizationConfigVariant { @Nullable private final Boolean addPrefixSpace; - @Nullable - private final Boolean withSpecialTokens; - - @Nullable - private final Integer maxSequenceLength; - - @Nullable - private final TokenizationTruncate truncate; - - @Nullable - private final Integer span; - // --------------------------------------------------------------------------------------------- private NlpRobertaTokenizationConfig(Builder builder) { + super(builder); this.addPrefixSpace = builder.addPrefixSpace; - this.withSpecialTokens = builder.withSpecialTokens; - this.maxSequenceLength = builder.maxSequenceLength; - this.truncate = builder.truncate; - this.span = builder.span; } @@ -110,89 +91,15 @@ public final Boolean addPrefixSpace() { return this.addPrefixSpace; } - /** - * Is tokenization completed with special tokens - *

    - * API name: {@code with_special_tokens} - */ - @Nullable - public final Boolean withSpecialTokens() { - return this.withSpecialTokens; - } - - /** - * Maximum input sequence length for the model - *

    - * API name: {@code max_sequence_length} - */ - @Nullable - public final Integer maxSequenceLength() { - return this.maxSequenceLength; - } - - /** - * Should tokenization input be automatically truncated before sending to the - * model for inference - *

    - * API name: {@code truncate} - */ - @Nullable - public final TokenizationTruncate truncate() { - return this.truncate; - } - - /** - * Tokenization spanning options. Special value of -1 indicates no spanning - * takes place - *

    - * API name: {@code span} - */ - @Nullable - public final Integer span() { - return this.span; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + super.serializeInternal(generator, mapper); if (this.addPrefixSpace != null) { generator.writeKey("add_prefix_space"); generator.write(this.addPrefixSpace); } - if (this.withSpecialTokens != null) { - generator.writeKey("with_special_tokens"); - generator.write(this.withSpecialTokens); - - } - if (this.maxSequenceLength != null) { - generator.writeKey("max_sequence_length"); - generator.write(this.maxSequenceLength); - } - if (this.truncate != null) { - generator.writeKey("truncate"); - this.truncate.serialize(generator, mapper); - } - if (this.span != null) { - generator.writeKey("span"); - generator.write(this.span); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); } // --------------------------------------------------------------------------------------------- @@ -201,24 +108,12 @@ public String toString() { * Builder for {@link NlpRobertaTokenizationConfig}. */ - public static class Builder extends WithJsonObjectBuilderBase + public static class Builder extends CommonTokenizationConfig.AbstractBuilder implements ObjectBuilder { @Nullable private Boolean addPrefixSpace; - @Nullable - private Boolean withSpecialTokens; - - @Nullable - private Integer maxSequenceLength; - - @Nullable - private TokenizationTruncate truncate; - - @Nullable - private Integer span; - /** * Should the tokenizer prefix input with a space character *

    @@ -229,48 +124,6 @@ public final Builder addPrefixSpace(@Nullable Boolean value) { return this; } - /** - * Is tokenization completed with special tokens - *

    - * API name: {@code with_special_tokens} - */ - public final Builder withSpecialTokens(@Nullable Boolean value) { - this.withSpecialTokens = value; - return this; - } - - /** - * Maximum input sequence length for the model - *

    - * API name: {@code max_sequence_length} - */ - public final Builder maxSequenceLength(@Nullable Integer value) { - this.maxSequenceLength = value; - return this; - } - - /** - * Should tokenization input be automatically truncated before sending to the - * model for inference - *

    - * API name: {@code truncate} - */ - public final Builder truncate(@Nullable TokenizationTruncate value) { - this.truncate = value; - return this; - } - - /** - * Tokenization spanning options. Special value of -1 indicates no spanning - * takes place - *

    - * API name: {@code span} - */ - public final Builder span(@Nullable Integer value) { - this.span = value; - return this; - } - @Override protected Builder self() { return this; @@ -299,12 +152,8 @@ public NlpRobertaTokenizationConfig build() { protected static void setupNlpRobertaTokenizationConfigDeserializer( ObjectDeserializer op) { - + CommonTokenizationConfig.setupCommonTokenizationConfigDeserializer(op); op.add(Builder::addPrefixSpace, JsonpDeserializer.booleanDeserializer(), "add_prefix_space"); - op.add(Builder::withSpecialTokens, JsonpDeserializer.booleanDeserializer(), "with_special_tokens"); - op.add(Builder::maxSequenceLength, JsonpDeserializer.integerDeserializer(), "max_sequence_length"); - op.add(Builder::truncate, TokenizationTruncate._DESERIALIZER, "truncate"); - op.add(Builder::span, JsonpDeserializer.integerDeserializer(), "span"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucket.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucket.java index 7b8a68683..4e7b29b5f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucket.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucket.java @@ -76,6 +76,7 @@ public class OverallBucket implements JsonpSerializable { private final long timestamp; + @Nullable private final DateTime timestampString; // --------------------------------------------------------------------------------------------- @@ -88,7 +89,7 @@ private OverallBucket(Builder builder) { this.overallScore = ApiTypeHelper.requireNonNull(builder.overallScore, this, "overallScore"); this.resultType = ApiTypeHelper.requireNonNull(builder.resultType, this, "resultType"); this.timestamp = ApiTypeHelper.requireNonNull(builder.timestamp, this, "timestamp"); - this.timestampString = ApiTypeHelper.requireNonNull(builder.timestampString, this, "timestampString"); + this.timestampString = builder.timestampString; } @@ -154,11 +155,11 @@ public final long timestamp() { } /** - * Required - The start time of the bucket for which these results were - * calculated. + * The start time of the bucket for which these results were calculated. *

    * API name: {@code timestamp_string} */ + @Nullable public final DateTime timestampString() { return this.timestampString; } @@ -199,8 +200,10 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("timestamp"); generator.write(this.timestamp); - generator.writeKey("timestamp_string"); - this.timestampString.serialize(generator, mapper); + if (this.timestampString != null) { + generator.writeKey("timestamp_string"); + this.timestampString.serialize(generator, mapper); + } } @@ -228,6 +231,7 @@ public static class Builder extends WithJsonObjectBuilderBase implement private Long timestamp; + @Nullable private DateTime timestampString; /** @@ -319,12 +323,11 @@ public final Builder timestamp(long value) { } /** - * Required - The start time of the bucket for which these results were - * calculated. + * The start time of the bucket for which these results were calculated. *

    * API name: {@code timestamp_string} */ - public final Builder timestampString(DateTime value) { + public final Builder timestampString(@Nullable DateTime value) { this.timestampString = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PostDataResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PostDataResponse.java index 9547d9da5..6380bf5b5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PostDataResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PostDataResponse.java @@ -30,7 +30,6 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; import java.lang.Long; import java.lang.String; import java.util.Objects; @@ -61,60 +60,73 @@ */ @JsonpDeserializable public class PostDataResponse implements JsonpSerializable { - private final long bucketCount; + private final String jobId; - private final long earliestRecordTimestamp; + private final long processedRecordCount; - private final long emptyBucketCount; + private final long processedFieldCount; private final long inputBytes; private final long inputFieldCount; - private final long inputRecordCount; - private final long invalidDateCount; - private final String jobId; + private final long missingFieldCount; - private final int lastDataTime; + private final long outOfOrderTimestampCount; - private final long latestRecordTimestamp; + private final long emptyBucketCount; - private final long missingFieldCount; + private final long sparseBucketCount; - private final long outOfOrderTimestampCount; + private final long bucketCount; - private final long processedFieldCount; + @Nullable + private final Long earliestRecordTimestamp; - private final long processedRecordCount; + @Nullable + private final Long latestRecordTimestamp; - private final long sparseBucketCount; + @Nullable + private final Long lastDataTime; + + @Nullable + private final Long latestEmptyBucketTimestamp; + + @Nullable + private final Long latestSparseBucketTimestamp; + + private final long inputRecordCount; + + @Nullable + private final Long logTime; // --------------------------------------------------------------------------------------------- private PostDataResponse(Builder builder) { - this.bucketCount = ApiTypeHelper.requireNonNull(builder.bucketCount, this, "bucketCount"); - this.earliestRecordTimestamp = ApiTypeHelper.requireNonNull(builder.earliestRecordTimestamp, this, - "earliestRecordTimestamp"); - this.emptyBucketCount = ApiTypeHelper.requireNonNull(builder.emptyBucketCount, this, "emptyBucketCount"); + this.jobId = ApiTypeHelper.requireNonNull(builder.jobId, this, "jobId"); + this.processedRecordCount = ApiTypeHelper.requireNonNull(builder.processedRecordCount, this, + "processedRecordCount"); + this.processedFieldCount = ApiTypeHelper.requireNonNull(builder.processedFieldCount, this, + "processedFieldCount"); this.inputBytes = ApiTypeHelper.requireNonNull(builder.inputBytes, this, "inputBytes"); this.inputFieldCount = ApiTypeHelper.requireNonNull(builder.inputFieldCount, this, "inputFieldCount"); - this.inputRecordCount = ApiTypeHelper.requireNonNull(builder.inputRecordCount, this, "inputRecordCount"); this.invalidDateCount = ApiTypeHelper.requireNonNull(builder.invalidDateCount, this, "invalidDateCount"); - this.jobId = ApiTypeHelper.requireNonNull(builder.jobId, this, "jobId"); - this.lastDataTime = ApiTypeHelper.requireNonNull(builder.lastDataTime, this, "lastDataTime"); - this.latestRecordTimestamp = ApiTypeHelper.requireNonNull(builder.latestRecordTimestamp, this, - "latestRecordTimestamp"); this.missingFieldCount = ApiTypeHelper.requireNonNull(builder.missingFieldCount, this, "missingFieldCount"); this.outOfOrderTimestampCount = ApiTypeHelper.requireNonNull(builder.outOfOrderTimestampCount, this, "outOfOrderTimestampCount"); - this.processedFieldCount = ApiTypeHelper.requireNonNull(builder.processedFieldCount, this, - "processedFieldCount"); - this.processedRecordCount = ApiTypeHelper.requireNonNull(builder.processedRecordCount, this, - "processedRecordCount"); + this.emptyBucketCount = ApiTypeHelper.requireNonNull(builder.emptyBucketCount, this, "emptyBucketCount"); this.sparseBucketCount = ApiTypeHelper.requireNonNull(builder.sparseBucketCount, this, "sparseBucketCount"); + this.bucketCount = ApiTypeHelper.requireNonNull(builder.bucketCount, this, "bucketCount"); + this.earliestRecordTimestamp = builder.earliestRecordTimestamp; + this.latestRecordTimestamp = builder.latestRecordTimestamp; + this.lastDataTime = builder.lastDataTime; + this.latestEmptyBucketTimestamp = builder.latestEmptyBucketTimestamp; + this.latestSparseBucketTimestamp = builder.latestSparseBucketTimestamp; + this.inputRecordCount = ApiTypeHelper.requireNonNull(builder.inputRecordCount, this, "inputRecordCount"); + this.logTime = builder.logTime; } @@ -123,24 +135,24 @@ public static PostDataResponse of(Function implements ObjectBuilder { - private Long bucketCount; + private String jobId; - private Long earliestRecordTimestamp; + private Long processedRecordCount; - private Long emptyBucketCount; + private Long processedFieldCount; private Long inputBytes; private Long inputFieldCount; - private Long inputRecordCount; - private Long invalidDateCount; - private String jobId; + private Long missingFieldCount; + + private Long outOfOrderTimestampCount; + + private Long emptyBucketCount; + + private Long sparseBucketCount; - private Integer lastDataTime; + private Long bucketCount; + + @Nullable + private Long earliestRecordTimestamp; + @Nullable private Long latestRecordTimestamp; - private Long missingFieldCount; + @Nullable + private Long lastDataTime; - private Long outOfOrderTimestampCount; + @Nullable + private Long latestEmptyBucketTimestamp; - private Long processedFieldCount; + @Nullable + private Long latestSparseBucketTimestamp; - private Long processedRecordCount; + private Long inputRecordCount; - private Long sparseBucketCount; + @Nullable + private Long logTime; /** - * Required - API name: {@code bucket_count} + * Required - API name: {@code job_id} */ - public final Builder bucketCount(long value) { - this.bucketCount = value; + public final Builder jobId(String value) { + this.jobId = value; return this; } /** - * Required - API name: {@code earliest_record_timestamp} + * Required - API name: {@code processed_record_count} */ - public final Builder earliestRecordTimestamp(long value) { - this.earliestRecordTimestamp = value; + public final Builder processedRecordCount(long value) { + this.processedRecordCount = value; return this; } /** - * Required - API name: {@code empty_bucket_count} + * Required - API name: {@code processed_field_count} */ - public final Builder emptyBucketCount(long value) { - this.emptyBucketCount = value; + public final Builder processedFieldCount(long value) { + this.processedFieldCount = value; return this; } @@ -368,82 +441,106 @@ public final Builder inputFieldCount(long value) { } /** - * Required - API name: {@code input_record_count} + * Required - API name: {@code invalid_date_count} */ - public final Builder inputRecordCount(long value) { - this.inputRecordCount = value; + public final Builder invalidDateCount(long value) { + this.invalidDateCount = value; return this; } /** - * Required - API name: {@code invalid_date_count} + * Required - API name: {@code missing_field_count} */ - public final Builder invalidDateCount(long value) { - this.invalidDateCount = value; + public final Builder missingFieldCount(long value) { + this.missingFieldCount = value; return this; } /** - * Required - API name: {@code job_id} + * Required - API name: {@code out_of_order_timestamp_count} */ - public final Builder jobId(String value) { - this.jobId = value; + public final Builder outOfOrderTimestampCount(long value) { + this.outOfOrderTimestampCount = value; return this; } /** - * Required - API name: {@code last_data_time} + * Required - API name: {@code empty_bucket_count} */ - public final Builder lastDataTime(int value) { - this.lastDataTime = value; + public final Builder emptyBucketCount(long value) { + this.emptyBucketCount = value; return this; } /** - * Required - API name: {@code latest_record_timestamp} + * Required - API name: {@code sparse_bucket_count} */ - public final Builder latestRecordTimestamp(long value) { + public final Builder sparseBucketCount(long value) { + this.sparseBucketCount = value; + return this; + } + + /** + * Required - API name: {@code bucket_count} + */ + public final Builder bucketCount(long value) { + this.bucketCount = value; + return this; + } + + /** + * API name: {@code earliest_record_timestamp} + */ + public final Builder earliestRecordTimestamp(@Nullable Long value) { + this.earliestRecordTimestamp = value; + return this; + } + + /** + * API name: {@code latest_record_timestamp} + */ + public final Builder latestRecordTimestamp(@Nullable Long value) { this.latestRecordTimestamp = value; return this; } /** - * Required - API name: {@code missing_field_count} + * API name: {@code last_data_time} */ - public final Builder missingFieldCount(long value) { - this.missingFieldCount = value; + public final Builder lastDataTime(@Nullable Long value) { + this.lastDataTime = value; return this; } /** - * Required - API name: {@code out_of_order_timestamp_count} + * API name: {@code latest_empty_bucket_timestamp} */ - public final Builder outOfOrderTimestampCount(long value) { - this.outOfOrderTimestampCount = value; + public final Builder latestEmptyBucketTimestamp(@Nullable Long value) { + this.latestEmptyBucketTimestamp = value; return this; } /** - * Required - API name: {@code processed_field_count} + * API name: {@code latest_sparse_bucket_timestamp} */ - public final Builder processedFieldCount(long value) { - this.processedFieldCount = value; + public final Builder latestSparseBucketTimestamp(@Nullable Long value) { + this.latestSparseBucketTimestamp = value; return this; } /** - * Required - API name: {@code processed_record_count} + * Required - API name: {@code input_record_count} */ - public final Builder processedRecordCount(long value) { - this.processedRecordCount = value; + public final Builder inputRecordCount(long value) { + this.inputRecordCount = value; return this; } /** - * Required - API name: {@code sparse_bucket_count} + * API name: {@code log_time} */ - public final Builder sparseBucketCount(long value) { - this.sparseBucketCount = value; + public final Builder logTime(@Nullable Long value) { + this.logTime = value; return this; } @@ -475,21 +572,26 @@ public PostDataResponse build() { protected static void setupPostDataResponseDeserializer(ObjectDeserializer op) { - op.add(Builder::bucketCount, JsonpDeserializer.longDeserializer(), "bucket_count"); - op.add(Builder::earliestRecordTimestamp, JsonpDeserializer.longDeserializer(), "earliest_record_timestamp"); - op.add(Builder::emptyBucketCount, JsonpDeserializer.longDeserializer(), "empty_bucket_count"); + op.add(Builder::jobId, JsonpDeserializer.stringDeserializer(), "job_id"); + op.add(Builder::processedRecordCount, JsonpDeserializer.longDeserializer(), "processed_record_count"); + op.add(Builder::processedFieldCount, JsonpDeserializer.longDeserializer(), "processed_field_count"); op.add(Builder::inputBytes, JsonpDeserializer.longDeserializer(), "input_bytes"); op.add(Builder::inputFieldCount, JsonpDeserializer.longDeserializer(), "input_field_count"); - op.add(Builder::inputRecordCount, JsonpDeserializer.longDeserializer(), "input_record_count"); op.add(Builder::invalidDateCount, JsonpDeserializer.longDeserializer(), "invalid_date_count"); - op.add(Builder::jobId, JsonpDeserializer.stringDeserializer(), "job_id"); - op.add(Builder::lastDataTime, JsonpDeserializer.integerDeserializer(), "last_data_time"); - op.add(Builder::latestRecordTimestamp, JsonpDeserializer.longDeserializer(), "latest_record_timestamp"); op.add(Builder::missingFieldCount, JsonpDeserializer.longDeserializer(), "missing_field_count"); op.add(Builder::outOfOrderTimestampCount, JsonpDeserializer.longDeserializer(), "out_of_order_timestamp_count"); - op.add(Builder::processedFieldCount, JsonpDeserializer.longDeserializer(), "processed_field_count"); - op.add(Builder::processedRecordCount, JsonpDeserializer.longDeserializer(), "processed_record_count"); + op.add(Builder::emptyBucketCount, JsonpDeserializer.longDeserializer(), "empty_bucket_count"); op.add(Builder::sparseBucketCount, JsonpDeserializer.longDeserializer(), "sparse_bucket_count"); + op.add(Builder::bucketCount, JsonpDeserializer.longDeserializer(), "bucket_count"); + op.add(Builder::earliestRecordTimestamp, JsonpDeserializer.longDeserializer(), "earliest_record_timestamp"); + op.add(Builder::latestRecordTimestamp, JsonpDeserializer.longDeserializer(), "latest_record_timestamp"); + op.add(Builder::lastDataTime, JsonpDeserializer.longDeserializer(), "last_data_time"); + op.add(Builder::latestEmptyBucketTimestamp, JsonpDeserializer.longDeserializer(), + "latest_empty_bucket_timestamp"); + op.add(Builder::latestSparseBucketTimestamp, JsonpDeserializer.longDeserializer(), + "latest_sparse_bucket_timestamp"); + op.add(Builder::inputRecordCount, JsonpDeserializer.longDeserializer(), "input_record_count"); + op.add(Builder::logTime, JsonpDeserializer.longDeserializer(), "log_time"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java index 850e50251..39f72296c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; +import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -71,6 +72,8 @@ */ @JsonpDeserializable public class PutDataFrameAnalyticsRequest extends RequestBase implements JsonpSerializable { + private final Map meta; + @Nullable private final Boolean allowLazyStart; @@ -103,6 +106,7 @@ public class PutDataFrameAnalyticsRequest extends RequestBase implements JsonpSe private PutDataFrameAnalyticsRequest(Builder builder) { + this.meta = ApiTypeHelper.unmodifiable(builder.meta); this.allowLazyStart = builder.allowLazyStart; this.analysis = ApiTypeHelper.requireNonNull(builder.analysis, this, "analysis"); this.analyzedFields = builder.analyzedFields; @@ -121,6 +125,13 @@ public static PutDataFrameAnalyticsRequest of(Function meta() { + return this.meta; + } + /** * Specifies whether this job can start when there is insufficient machine * learning node capacity for it to be immediately assigned to a node. If set to @@ -280,6 +291,17 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + if (ApiTypeHelper.isDefined(this.meta)) { + generator.writeKey("_meta"); + generator.writeStartObject(); + for (Map.Entry item0 : this.meta.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } if (this.allowLazyStart != null) { generator.writeKey("allow_lazy_start"); generator.write(this.allowLazyStart); @@ -349,6 +371,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { + @Nullable + private Map meta; + @Nullable private Boolean allowLazyStart; @@ -378,6 +403,26 @@ public static class Builder extends RequestBase.AbstractBuilder @Nullable private String version; + /** + * API name: {@code _meta} + *

    + * Adds all entries of map to meta. + */ + public final Builder meta(Map map) { + this.meta = _mapPutAll(this.meta, map); + return this; + } + + /** + * API name: {@code _meta} + *

    + * Adds an entry to meta. + */ + public final Builder meta(String key, JsonData value) { + this.meta = _mapPut(this.meta, key, value); + return this; + } + /** * Specifies whether this job can start when there is insufficient machine * learning node capacity for it to be immediately assigned to a node. If set to @@ -642,6 +687,7 @@ public PutDataFrameAnalyticsRequest build() { protected static void setupPutDataFrameAnalyticsRequestDeserializer( ObjectDeserializer op) { + op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); op.add(Builder::allowLazyStart, JsonpDeserializer.booleanDeserializer(), "allow_lazy_start"); op.add(Builder::analysis, DataframeAnalysis._DESERIALIZER, "analysis"); op.add(Builder::analyzedFields, DataframeAnalysisAnalyzedFields._DESERIALIZER, "analyzed_fields"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java index 54b7fb42a..3d2d1ef31 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch.ml; +import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -34,6 +35,7 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -84,6 +86,8 @@ public class PutDataFrameAnalyticsResponse implements JsonpSerializable { private final int maxNumThreads; + private final Map meta; + private final String modelMemoryLimit; private final DataframeAnalyticsSource source; @@ -103,6 +107,7 @@ private PutDataFrameAnalyticsResponse(Builder builder) { this.dest = ApiTypeHelper.requireNonNull(builder.dest, this, "dest"); this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); this.maxNumThreads = ApiTypeHelper.requireNonNull(builder.maxNumThreads, this, "maxNumThreads"); + this.meta = ApiTypeHelper.unmodifiable(builder.meta); this.modelMemoryLimit = ApiTypeHelper.requireNonNull(builder.modelMemoryLimit, this, "modelMemoryLimit"); this.source = ApiTypeHelper.requireNonNull(builder.source, this, "source"); this.version = ApiTypeHelper.requireNonNull(builder.version, this, "version"); @@ -179,6 +184,13 @@ public final int maxNumThreads() { return this.maxNumThreads; } + /** + * API name: {@code _meta} + */ + public final Map meta() { + return this.meta; + } + /** * Required - API name: {@code model_memory_limit} */ @@ -244,6 +256,17 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("max_num_threads"); generator.write(this.maxNumThreads); + if (ApiTypeHelper.isDefined(this.meta)) { + generator.writeKey("_meta"); + generator.writeStartObject(); + for (Map.Entry item0 : this.meta.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } generator.writeKey("model_memory_limit"); generator.write(this.modelMemoryLimit); @@ -290,6 +313,9 @@ public static class Builder extends WithJsonObjectBuilderBase private Integer maxNumThreads; + @Nullable + private Map meta; + private String modelMemoryLimit; private DataframeAnalyticsSource source; @@ -399,6 +425,26 @@ public final Builder maxNumThreads(int value) { return this; } + /** + * API name: {@code _meta} + *

    + * Adds all entries of map to meta. + */ + public final Builder meta(Map map) { + this.meta = _mapPutAll(this.meta, map); + return this; + } + + /** + * API name: {@code _meta} + *

    + * Adds an entry to meta. + */ + public final Builder meta(String key, JsonData value) { + this.meta = _mapPut(this.meta, key, value); + return this; + } + /** * Required - API name: {@code model_memory_limit} */ @@ -469,6 +515,7 @@ protected static void setupPutDataFrameAnalyticsResponseDeserializer( op.add(Builder::dest, DataframeAnalyticsDestination._DESERIALIZER, "dest"); op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); op.add(Builder::maxNumThreads, JsonpDeserializer.integerDeserializer(), "max_num_threads"); + op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); op.add(Builder::modelMemoryLimit, JsonpDeserializer.stringDeserializer(), "model_memory_limit"); op.add(Builder::source, DataframeAnalyticsSource._DESERIALIZER, "source"); op.add(Builder::version, JsonpDeserializer.stringDeserializer(), "version"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java index 686bc9c5c..959991750 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java @@ -1048,7 +1048,7 @@ public PutDatafeedRequest build() { protected static void setupPutDatafeedRequestDeserializer(ObjectDeserializer op) { op.add(Builder::aggregations, JsonpDeserializer.stringMapDeserializer(Aggregation._DESERIALIZER), - "aggregations"); + "aggregations", "aggs"); op.add(Builder::chunkingConfig, ChunkingConfig._DESERIALIZER, "chunking_config"); op.add(Builder::delayedDataCheckConfig, DelayedDataCheckConfig._DESERIALIZER, "delayed_data_check_config"); op.add(Builder::frequency, Time._DESERIALIZER, "frequency"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobRequest.java index ab043a7a2..462bb653d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobRequest.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.ml; import co.elastic.clients.elasticsearch._types.ErrorResponse; +import co.elastic.clients.elasticsearch._types.ExpandWildcard; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.json.JsonData; @@ -37,12 +38,12 @@ import java.lang.Boolean; import java.lang.Long; import java.lang.String; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.Function; +import java.util.stream.Collectors; import javax.annotation.Nullable; //---------------------------------------------------------------- @@ -75,6 +76,9 @@ public class PutJobRequest extends RequestBase implements JsonpSerializable { @Nullable private final Boolean allowLazyOpen; + @Nullable + private final Boolean allowNoIndices; + private final AnalysisConfig analysisConfig; @Nullable @@ -97,8 +101,16 @@ public class PutJobRequest extends RequestBase implements JsonpSerializable { @Nullable private final String description; + private final List expandWildcards; + private final List groups; + @Nullable + private final Boolean ignoreThrottled; + + @Nullable + private final Boolean ignoreUnavailable; + private final String jobId; @Nullable @@ -121,6 +133,7 @@ public class PutJobRequest extends RequestBase implements JsonpSerializable { private PutJobRequest(Builder builder) { this.allowLazyOpen = builder.allowLazyOpen; + this.allowNoIndices = builder.allowNoIndices; this.analysisConfig = ApiTypeHelper.requireNonNull(builder.analysisConfig, this, "analysisConfig"); this.analysisLimits = builder.analysisLimits; this.backgroundPersistInterval = builder.backgroundPersistInterval; @@ -129,7 +142,10 @@ private PutJobRequest(Builder builder) { this.dataDescription = ApiTypeHelper.requireNonNull(builder.dataDescription, this, "dataDescription"); this.datafeedConfig = builder.datafeedConfig; this.description = builder.description; + this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); this.groups = ApiTypeHelper.unmodifiable(builder.groups); + this.ignoreThrottled = builder.ignoreThrottled; + this.ignoreUnavailable = builder.ignoreUnavailable; this.jobId = ApiTypeHelper.requireNonNull(builder.jobId, this, "jobId"); this.modelPlotConfig = builder.modelPlotConfig; this.modelSnapshotRetentionDays = builder.modelSnapshotRetentionDays; @@ -161,6 +177,18 @@ public final Boolean allowLazyOpen() { return this.allowLazyOpen; } + /** + * If true, wildcard indices expressions that resolve into no + * concrete indices are ignored. This includes the _all string or + * when no indices are specified. + *

    + * API name: {@code allow_no_indices} + */ + @Nullable + public final Boolean allowNoIndices() { + return this.allowNoIndices; + } + /** * Required - Specifies how to analyze the data. After you create a job, you * cannot change the analysis configuration; all the properties are @@ -261,6 +289,28 @@ public final String description() { return this.description; } + /** + * Type of index that wildcard patterns can match. If the request can target + * data streams, this argument determines whether wildcard expressions match + * hidden data streams. Supports comma-separated values. Valid values are: + *

      + *
    • all: Match any data stream or index, including hidden + * ones.
    • + *
    • closed: Match closed, non-hidden indices. Also matches any + * non-hidden data stream. Data streams cannot be closed.
    • + *
    • hidden: Match hidden data streams and hidden indices. Must + * be combined with open, closed, or both.
    • + *
    • none: Wildcard patterns are not accepted.
    • + *
    • open: Match open, non-hidden indices. Also matches any + * non-hidden data stream.
    • + *
    + *

    + * API name: {@code expand_wildcards} + */ + public final List expandWildcards() { + return this.expandWildcards; + } + /** * A list of job groups. A job can belong to no groups or many. *

    @@ -270,6 +320,30 @@ public final List groups() { return this.groups; } + /** + * If true, concrete, expanded or aliased indices are ignored when + * frozen. + *

    + * API name: {@code ignore_throttled} + * + * @deprecated 7.16.0 + */ + @Deprecated + @Nullable + public final Boolean ignoreThrottled() { + return this.ignoreThrottled; + } + + /** + * If true, unavailable indices (missing or closed) are ignored. + *

    + * API name: {@code ignore_unavailable} + */ + @Nullable + public final Boolean ignoreUnavailable() { + return this.ignoreUnavailable; + } + /** * Required - The identifier for the anomaly detection job. This identifier can * contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and @@ -453,6 +527,9 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private Boolean allowLazyOpen; + @Nullable + private Boolean allowNoIndices; + private AnalysisConfig analysisConfig; @Nullable @@ -475,9 +552,18 @@ public static class Builder extends RequestBase.AbstractBuilder impleme @Nullable private String description; + @Nullable + private List expandWildcards; + @Nullable private List groups; + @Nullable + private Boolean ignoreThrottled; + + @Nullable + private Boolean ignoreUnavailable; + private String jobId; @Nullable @@ -513,6 +599,18 @@ public final Builder allowLazyOpen(@Nullable Boolean value) { return this; } + /** + * If true, wildcard indices expressions that resolve into no + * concrete indices are ignored. This includes the _all string or + * when no indices are specified. + *

    + * API name: {@code allow_no_indices} + */ + public final Builder allowNoIndices(@Nullable Boolean value) { + this.allowNoIndices = value; + return this; + } + /** * Required - Specifies how to analyze the data. After you create a job, you * cannot change the analysis configuration; all the properties are @@ -678,6 +776,56 @@ public final Builder description(@Nullable String value) { return this; } + /** + * Type of index that wildcard patterns can match. If the request can target + * data streams, this argument determines whether wildcard expressions match + * hidden data streams. Supports comma-separated values. Valid values are: + *

      + *
    • all: Match any data stream or index, including hidden + * ones.
    • + *
    • closed: Match closed, non-hidden indices. Also matches any + * non-hidden data stream. Data streams cannot be closed.
    • + *
    • hidden: Match hidden data streams and hidden indices. Must + * be combined with open, closed, or both.
    • + *
    • none: Wildcard patterns are not accepted.
    • + *
    • open: Match open, non-hidden indices. Also matches any + * non-hidden data stream.
    • + *
    + *

    + * API name: {@code expand_wildcards} + *

    + * Adds all elements of list to expandWildcards. + */ + public final Builder expandWildcards(List list) { + this.expandWildcards = _listAddAll(this.expandWildcards, list); + return this; + } + + /** + * Type of index that wildcard patterns can match. If the request can target + * data streams, this argument determines whether wildcard expressions match + * hidden data streams. Supports comma-separated values. Valid values are: + *

      + *
    • all: Match any data stream or index, including hidden + * ones.
    • + *
    • closed: Match closed, non-hidden indices. Also matches any + * non-hidden data stream. Data streams cannot be closed.
    • + *
    • hidden: Match hidden data streams and hidden indices. Must + * be combined with open, closed, or both.
    • + *
    • none: Wildcard patterns are not accepted.
    • + *
    • open: Match open, non-hidden indices. Also matches any + * non-hidden data stream.
    • + *
    + *

    + * API name: {@code expand_wildcards} + *

    + * Adds one or more values to expandWildcards. + */ + public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { + this.expandWildcards = _listAdd(this.expandWildcards, value, values); + return this; + } + /** * A list of job groups. A job can belong to no groups or many. *

    @@ -702,6 +850,30 @@ public final Builder groups(String value, String... values) { return this; } + /** + * If true, concrete, expanded or aliased indices are ignored when + * frozen. + *

    + * API name: {@code ignore_throttled} + * + * @deprecated 7.16.0 + */ + @Deprecated + public final Builder ignoreThrottled(@Nullable Boolean value) { + this.ignoreThrottled = value; + return this; + } + + /** + * If true, unavailable indices (missing or closed) are ignored. + *

    + * API name: {@code ignore_unavailable} + */ + public final Builder ignoreUnavailable(@Nullable Boolean value) { + this.ignoreUnavailable = value; + return this; + } + /** * Required - The identifier for the anomaly detection job. This identifier can * contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and @@ -902,7 +1074,21 @@ protected static void setupPutJobRequestDeserializer(ObjectDeserializer { - return Collections.emptyMap(); + Map params = new HashMap<>(); + if (ApiTypeHelper.isDefined(request.expandWildcards)) { + params.put("expand_wildcards", + request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); + } + if (request.ignoreUnavailable != null) { + params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); + } + if (request.allowNoIndices != null) { + params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); + } + if (request.ignoreThrottled != null) { + params.put("ignore_throttled", String.valueOf(request.ignoreThrottled)); + } + return params; }, SimpleEndpoint.emptyMap(), true, PutJobResponse._DESERIALIZER); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java index 4c852b865..c5a827d6b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java @@ -26,6 +26,7 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; @@ -70,6 +71,8 @@ public class TextEmbeddingInferenceOptions implements InferenceConfigCreateVaria @Nullable private final String resultsField; + private final Vocabulary vocabulary; + // --------------------------------------------------------------------------------------------- private TextEmbeddingInferenceOptions(Builder builder) { @@ -77,6 +80,7 @@ private TextEmbeddingInferenceOptions(Builder builder) { this.embeddingSize = builder.embeddingSize; this.tokenization = builder.tokenization; this.resultsField = builder.resultsField; + this.vocabulary = ApiTypeHelper.requireNonNull(builder.vocabulary, this, "vocabulary"); } @@ -123,6 +127,13 @@ public final String resultsField() { return this.resultsField; } + /** + * Required - API name: {@code vocabulary} + */ + public final Vocabulary vocabulary() { + return this.vocabulary; + } + /** * Serialize this object to JSON. */ @@ -149,6 +160,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.resultsField); } + generator.writeKey("vocabulary"); + this.vocabulary.serialize(generator, mapper); } @@ -175,6 +188,8 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String resultsField; + private Vocabulary vocabulary; + /** * The number of dimensions in the embedding output *

    @@ -215,6 +230,21 @@ public final Builder resultsField(@Nullable String value) { return this; } + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Vocabulary value) { + this.vocabulary = value; + return this; + } + + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Function> fn) { + return this.vocabulary(fn.apply(new Vocabulary.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -247,6 +277,7 @@ protected static void setupTextEmbeddingInferenceOptionsDeserializer( op.add(Builder::embeddingSize, JsonpDeserializer.integerDeserializer(), "embedding_size"); op.add(Builder::tokenization, TokenizationConfig._DESERIALIZER, "tokenization"); op.add(Builder::resultsField, JsonpDeserializer.stringDeserializer(), "results_field"); + op.add(Builder::vocabulary, Vocabulary._DESERIALIZER, "vocabulary"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java index bb434cefd..797e8a13c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java @@ -26,6 +26,7 @@ import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; @@ -66,12 +67,15 @@ public class TextExpansionInferenceOptions implements InferenceConfigCreateVaria @Nullable private final String resultsField; + private final Vocabulary vocabulary; + // --------------------------------------------------------------------------------------------- private TextExpansionInferenceOptions(Builder builder) { this.tokenization = builder.tokenization; this.resultsField = builder.resultsField; + this.vocabulary = ApiTypeHelper.requireNonNull(builder.vocabulary, this, "vocabulary"); } @@ -108,6 +112,13 @@ public final String resultsField() { return this.resultsField; } + /** + * Required - API name: {@code vocabulary} + */ + public final Vocabulary vocabulary() { + return this.vocabulary; + } + /** * Serialize this object to JSON. */ @@ -129,6 +140,8 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.resultsField); } + generator.writeKey("vocabulary"); + this.vocabulary.serialize(generator, mapper); } @@ -152,6 +165,8 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private String resultsField; + private Vocabulary vocabulary; + /** * The tokenization options *

    @@ -182,6 +197,21 @@ public final Builder resultsField(@Nullable String value) { return this; } + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Vocabulary value) { + this.vocabulary = value; + return this; + } + + /** + * Required - API name: {@code vocabulary} + */ + public final Builder vocabulary(Function> fn) { + return this.vocabulary(fn.apply(new Vocabulary.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -213,6 +243,7 @@ protected static void setupTextExpansionInferenceOptionsDeserializer( op.add(Builder::tokenization, TokenizationConfig._DESERIALIZER, "tokenization"); op.add(Builder::resultsField, JsonpDeserializer.stringDeserializer(), "results_field"); + op.add(Builder::vocabulary, Vocabulary._DESERIALIZER, "vocabulary"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java index 3307d59fa..854c0c3f0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java @@ -76,6 +76,8 @@ public class TokenizationConfig implements TaggedUnion bert( return this.bert(fn.apply(new NlpBertTokenizationConfig.Builder()).build()); } + public ObjectBuilder bertJa(NlpBertTokenizationConfig v) { + this._kind = Kind.BertJa; + this._value = v; + return this; + } + + public ObjectBuilder bertJa( + Function> fn) { + return this.bertJa(fn.apply(new NlpBertTokenizationConfig.Builder()).build()); + } + public ObjectBuilder mpnet(NlpBertTokenizationConfig v) { this._kind = Kind.Mpnet; this._value = v; @@ -249,6 +279,7 @@ public TokenizationConfig build() { protected static void setupTokenizationConfigDeserializer(ObjectDeserializer op) { op.add(Builder::bert, NlpBertTokenizationConfig._DESERIALIZER, "bert"); + op.add(Builder::bertJa, NlpBertTokenizationConfig._DESERIALIZER, "bert_ja"); op.add(Builder::mpnet, NlpBertTokenizationConfig._DESERIALIZER, "mpnet"); op.add(Builder::roberta, NlpRobertaTokenizationConfig._DESERIALIZER, "roberta"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigBuilders.java index b9259153e..9c50e0beb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigBuilders.java @@ -63,6 +63,25 @@ public static TokenizationConfig bert( return builder.build(); } + /** + * Creates a builder for the {@link NlpBertTokenizationConfig bert_ja} + * {@code TokenizationConfig} variant. + */ + public static NlpBertTokenizationConfig.Builder bertJa() { + return new NlpBertTokenizationConfig.Builder(); + } + + /** + * Creates a TokenizationConfig of the {@link NlpBertTokenizationConfig bert_ja} + * {@code TokenizationConfig} variant. + */ + public static TokenizationConfig bertJa( + Function> fn) { + TokenizationConfig.Builder builder = new TokenizationConfig.Builder(); + builder.bertJa(fn.apply(new NlpBertTokenizationConfig.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link NlpBertTokenizationConfig mpnet} * {@code TokenizationConfig} variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignment.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignment.java index 3d2416596..d0f4aa016 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignment.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignment.java @@ -63,11 +63,17 @@ */ @JsonpDeserializable public class TrainedModelAssignment implements JsonpSerializable { + @Nullable + private final AdaptiveAllocationsSettings adaptiveAllocations; + private final DeploymentAssignmentState assignmentState; @Nullable private final Integer maxAssignedAllocations; + @Nullable + private final String reason; + private final Map routingTable; private final DateTime startTime; @@ -78,8 +84,10 @@ public class TrainedModelAssignment implements JsonpSerializable { private TrainedModelAssignment(Builder builder) { + this.adaptiveAllocations = builder.adaptiveAllocations; this.assignmentState = ApiTypeHelper.requireNonNull(builder.assignmentState, this, "assignmentState"); this.maxAssignedAllocations = builder.maxAssignedAllocations; + this.reason = builder.reason; this.routingTable = ApiTypeHelper.unmodifiableRequired(builder.routingTable, this, "routingTable"); this.startTime = ApiTypeHelper.requireNonNull(builder.startTime, this, "startTime"); this.taskParameters = ApiTypeHelper.requireNonNull(builder.taskParameters, this, "taskParameters"); @@ -90,6 +98,14 @@ public static TrainedModelAssignment of(Function @@ -107,6 +123,14 @@ public final Integer maxAssignedAllocations() { return this.maxAssignedAllocations; } + /** + * API name: {@code reason} + */ + @Nullable + public final String reason() { + return this.reason; + } + /** * Required - The allocation state for each node. *

    @@ -143,12 +167,22 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + if (this.adaptiveAllocations != null) { + generator.writeKey("adaptive_allocations"); + this.adaptiveAllocations.serialize(generator, mapper); + + } generator.writeKey("assignment_state"); this.assignmentState.serialize(generator, mapper); if (this.maxAssignedAllocations != null) { generator.writeKey("max_assigned_allocations"); generator.write(this.maxAssignedAllocations); + } + if (this.reason != null) { + generator.writeKey("reason"); + generator.write(this.reason); + } if (ApiTypeHelper.isDefined(this.routingTable)) { generator.writeKey("routing_table"); @@ -182,17 +216,39 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private AdaptiveAllocationsSettings adaptiveAllocations; + private DeploymentAssignmentState assignmentState; @Nullable private Integer maxAssignedAllocations; + @Nullable + private String reason; + private Map routingTable; private DateTime startTime; private TrainedModelAssignmentTaskParameters taskParameters; + /** + * API name: {@code adaptive_allocations} + */ + public final Builder adaptiveAllocations(@Nullable AdaptiveAllocationsSettings value) { + this.adaptiveAllocations = value; + return this; + } + + /** + * API name: {@code adaptive_allocations} + */ + public final Builder adaptiveAllocations( + Function> fn) { + return this.adaptiveAllocations(fn.apply(new AdaptiveAllocationsSettings.Builder()).build()); + } + /** * Required - The overall assignment state. *

    @@ -211,6 +267,14 @@ public final Builder maxAssignedAllocations(@Nullable Integer value) { return this; } + /** + * API name: {@code reason} + */ + public final Builder reason(@Nullable String value) { + this.reason = value; + return this; + } + /** * Required - The allocation state for each node. *

    @@ -302,8 +366,10 @@ public TrainedModelAssignment build() { protected static void setupTrainedModelAssignmentDeserializer( ObjectDeserializer op) { + op.add(Builder::adaptiveAllocations, AdaptiveAllocationsSettings._DESERIALIZER, "adaptive_allocations"); op.add(Builder::assignmentState, DeploymentAssignmentState._DESERIALIZER, "assignment_state"); op.add(Builder::maxAssignedAllocations, JsonpDeserializer.integerDeserializer(), "max_assigned_allocations"); + op.add(Builder::reason, JsonpDeserializer.stringDeserializer(), "reason"); op.add(Builder::routingTable, JsonpDeserializer.stringMapDeserializer(TrainedModelAssignmentRoutingTable._DESERIALIZER), "routing_table"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentRoutingTable.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentRoutingTable.java index 9baf48b0e..b2b08082b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentRoutingTable.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentRoutingTable.java @@ -61,6 +61,7 @@ */ @JsonpDeserializable public class TrainedModelAssignmentRoutingTable implements JsonpSerializable { + @Nullable private final String reason; private final RoutingState routingState; @@ -73,7 +74,7 @@ public class TrainedModelAssignmentRoutingTable implements JsonpSerializable { private TrainedModelAssignmentRoutingTable(Builder builder) { - this.reason = ApiTypeHelper.requireNonNull(builder.reason, this, "reason"); + this.reason = builder.reason; this.routingState = ApiTypeHelper.requireNonNull(builder.routingState, this, "routingState"); this.currentAllocations = ApiTypeHelper.requireNonNull(builder.currentAllocations, this, "currentAllocations"); this.targetAllocations = ApiTypeHelper.requireNonNull(builder.targetAllocations, this, "targetAllocations"); @@ -86,11 +87,12 @@ public static TrainedModelAssignmentRoutingTable of( } /** - * Required - The reason for the current state. It is usually populated only - * when the routing_state is failed. + * The reason for the current state. It is usually populated only when the + * routing_state is failed. *

    * API name: {@code reason} */ + @Nullable public final String reason() { return this.reason; } @@ -133,9 +135,11 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("reason"); - generator.write(this.reason); + if (this.reason != null) { + generator.writeKey("reason"); + generator.write(this.reason); + } generator.writeKey("routing_state"); this.routingState.serialize(generator, mapper); generator.writeKey("current_allocations"); @@ -160,6 +164,7 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable private String reason; private RoutingState routingState; @@ -169,12 +174,12 @@ public static class Builder extends WithJsonObjectBuilderBase private Integer targetAllocations; /** - * Required - The reason for the current state. It is usually populated only - * when the routing_state is failed. + * The reason for the current state. It is usually populated only when the + * routing_state is failed. *

    * API name: {@code reason} */ - public final Builder reason(String value) { + public final Builder reason(@Nullable String value) { this.reason = value; return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentTaskParameters.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentTaskParameters.java index 7d6adc82b..2dbac95d5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentTaskParameters.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentTaskParameters.java @@ -61,18 +61,23 @@ */ @JsonpDeserializable public class TrainedModelAssignmentTaskParameters implements JsonpSerializable { - private final int modelBytes; + private final String modelBytes; private final String modelId; private final String deploymentId; + @Nullable private final String cacheSize; private final int numberOfAllocations; private final TrainingPriority priority; + private final String perDeploymentMemoryBytes; + + private final String perAllocationMemoryBytes; + private final int queueCapacity; private final int threadsPerAllocation; @@ -84,10 +89,14 @@ private TrainedModelAssignmentTaskParameters(Builder builder) { this.modelBytes = ApiTypeHelper.requireNonNull(builder.modelBytes, this, "modelBytes"); this.modelId = ApiTypeHelper.requireNonNull(builder.modelId, this, "modelId"); this.deploymentId = ApiTypeHelper.requireNonNull(builder.deploymentId, this, "deploymentId"); - this.cacheSize = ApiTypeHelper.requireNonNull(builder.cacheSize, this, "cacheSize"); + this.cacheSize = builder.cacheSize; this.numberOfAllocations = ApiTypeHelper.requireNonNull(builder.numberOfAllocations, this, "numberOfAllocations"); this.priority = ApiTypeHelper.requireNonNull(builder.priority, this, "priority"); + this.perDeploymentMemoryBytes = ApiTypeHelper.requireNonNull(builder.perDeploymentMemoryBytes, this, + "perDeploymentMemoryBytes"); + this.perAllocationMemoryBytes = ApiTypeHelper.requireNonNull(builder.perAllocationMemoryBytes, this, + "perAllocationMemoryBytes"); this.queueCapacity = ApiTypeHelper.requireNonNull(builder.queueCapacity, this, "queueCapacity"); this.threadsPerAllocation = ApiTypeHelper.requireNonNull(builder.threadsPerAllocation, this, "threadsPerAllocation"); @@ -104,7 +113,7 @@ public static TrainedModelAssignmentTaskParameters of( *

    * API name: {@code model_bytes} */ - public final int modelBytes() { + public final String modelBytes() { return this.modelBytes; } @@ -127,10 +136,11 @@ public final String deploymentId() { } /** - * Required - The size of the trained model cache. + * The size of the trained model cache. *

    * API name: {@code cache_size} */ + @Nullable public final String cacheSize() { return this.cacheSize; } @@ -152,6 +162,20 @@ public final TrainingPriority priority() { return this.priority; } + /** + * Required - API name: {@code per_deployment_memory_bytes} + */ + public final String perDeploymentMemoryBytes() { + return this.perDeploymentMemoryBytes; + } + + /** + * Required - API name: {@code per_allocation_memory_bytes} + */ + public final String perAllocationMemoryBytes() { + return this.perAllocationMemoryBytes; + } + /** * Required - Number of inference requests are allowed in the queue at a time. *

    @@ -190,14 +214,22 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("deployment_id"); generator.write(this.deploymentId); - generator.writeKey("cache_size"); - generator.write(this.cacheSize); + if (this.cacheSize != null) { + generator.writeKey("cache_size"); + generator.write(this.cacheSize); + } generator.writeKey("number_of_allocations"); generator.write(this.numberOfAllocations); generator.writeKey("priority"); this.priority.serialize(generator, mapper); + generator.writeKey("per_deployment_memory_bytes"); + generator.write(this.perDeploymentMemoryBytes); + + generator.writeKey("per_allocation_memory_bytes"); + generator.write(this.perAllocationMemoryBytes); + generator.writeKey("queue_capacity"); generator.write(this.queueCapacity); @@ -220,18 +252,23 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Integer modelBytes; + private String modelBytes; private String modelId; private String deploymentId; + @Nullable private String cacheSize; private Integer numberOfAllocations; private TrainingPriority priority; + private String perDeploymentMemoryBytes; + + private String perAllocationMemoryBytes; + private Integer queueCapacity; private Integer threadsPerAllocation; @@ -241,7 +278,7 @@ public static class Builder extends WithJsonObjectBuilderBase *

    * API name: {@code model_bytes} */ - public final Builder modelBytes(int value) { + public final Builder modelBytes(String value) { this.modelBytes = value; return this; } @@ -267,11 +304,11 @@ public final Builder deploymentId(String value) { } /** - * Required - The size of the trained model cache. + * The size of the trained model cache. *

    * API name: {@code cache_size} */ - public final Builder cacheSize(String value) { + public final Builder cacheSize(@Nullable String value) { this.cacheSize = value; return this; } @@ -295,6 +332,22 @@ public final Builder priority(TrainingPriority value) { return this; } + /** + * Required - API name: {@code per_deployment_memory_bytes} + */ + public final Builder perDeploymentMemoryBytes(String value) { + this.perDeploymentMemoryBytes = value; + return this; + } + + /** + * Required - API name: {@code per_allocation_memory_bytes} + */ + public final Builder perAllocationMemoryBytes(String value) { + this.perAllocationMemoryBytes = value; + return this; + } + /** * Required - Number of inference requests are allowed in the queue at a time. *

    @@ -345,12 +398,16 @@ public TrainedModelAssignmentTaskParameters build() { protected static void setupTrainedModelAssignmentTaskParametersDeserializer( ObjectDeserializer op) { - op.add(Builder::modelBytes, JsonpDeserializer.integerDeserializer(), "model_bytes"); + op.add(Builder::modelBytes, JsonpDeserializer.stringDeserializer(), "model_bytes"); op.add(Builder::modelId, JsonpDeserializer.stringDeserializer(), "model_id"); op.add(Builder::deploymentId, JsonpDeserializer.stringDeserializer(), "deployment_id"); op.add(Builder::cacheSize, JsonpDeserializer.stringDeserializer(), "cache_size"); op.add(Builder::numberOfAllocations, JsonpDeserializer.integerDeserializer(), "number_of_allocations"); op.add(Builder::priority, TrainingPriority._DESERIALIZER, "priority"); + op.add(Builder::perDeploymentMemoryBytes, JsonpDeserializer.stringDeserializer(), + "per_deployment_memory_bytes"); + op.add(Builder::perAllocationMemoryBytes, JsonpDeserializer.stringDeserializer(), + "per_allocation_memory_bytes"); op.add(Builder::queueCapacity, JsonpDeserializer.integerDeserializer(), "queue_capacity"); op.add(Builder::threadsPerAllocation, JsonpDeserializer.integerDeserializer(), "threads_per_allocation"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java index 7340a8e2f..e0a7518d4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java @@ -111,6 +111,9 @@ public class TrainedModelConfig implements JsonpSerializable { @Nullable private final String modelSizeBytes; + @Nullable + private final ModelPackageConfig modelPackage; + @Nullable private final TrainedModelLocation location; @@ -138,6 +141,7 @@ protected TrainedModelConfig(AbstractBuilder builder) { this.licenseLevel = builder.licenseLevel; this.metadata = builder.metadata; this.modelSizeBytes = builder.modelSizeBytes; + this.modelPackage = builder.modelPackage; this.location = builder.location; this.prefixStrings = builder.prefixStrings; @@ -314,6 +318,14 @@ public final String modelSizeBytes() { return this.modelSizeBytes; } + /** + * API name: {@code model_package} + */ + @Nullable + public final ModelPackageConfig modelPackage() { + return this.modelPackage; + } + /** * API name: {@code location} */ @@ -430,6 +442,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("model_size_bytes"); generator.write(this.modelSizeBytes); + } + if (this.modelPackage != null) { + generator.writeKey("model_package"); + this.modelPackage.serialize(generator, mapper); + } if (this.location != null) { generator.writeKey("location"); @@ -527,6 +544,9 @@ public abstract static class AbstractBuilder> fn) { + return this.modelPackage(fn.apply(new ModelPackageConfig.Builder()).build()); + } + /** * API name: {@code location} */ @@ -833,6 +868,7 @@ protected static > void setupTrainedM op.add(AbstractBuilder::licenseLevel, JsonpDeserializer.stringDeserializer(), "license_level"); op.add(AbstractBuilder::metadata, TrainedModelConfigMetadata._DESERIALIZER, "metadata"); op.add(AbstractBuilder::modelSizeBytes, JsonpDeserializer.stringDeserializer(), "model_size_bytes"); + op.add(AbstractBuilder::modelPackage, ModelPackageConfig._DESERIALIZER, "model_package"); op.add(AbstractBuilder::location, TrainedModelLocation._DESERIALIZER, "location"); op.add(AbstractBuilder::prefixStrings, TrainedModelPrefixStrings._DESERIALIZER, "prefix_strings"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentNodesStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentNodesStats.java index 75b18cdbf..b105d3127 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentNodesStats.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentNodesStats.java @@ -62,51 +62,81 @@ */ @JsonpDeserializable public class TrainedModelDeploymentNodesStats implements JsonpSerializable { - private final double averageInferenceTimeMs; + @Nullable + private final Double averageInferenceTimeMs; - private final int errorCount; + @Nullable + private final Double averageInferenceTimeMsLastMinute; - private final int inferenceCount; + @Nullable + private final Double averageInferenceTimeMsExcludingCacheHits; - private final long lastAccess; + @Nullable + private final Integer errorCount; - private final DiscoveryNode node; + @Nullable + private final Long inferenceCount; - private final int numberOfAllocations; + @Nullable + private final Long inferenceCacheHitCount; - private final int numberOfPendingRequests; + @Nullable + private final Long inferenceCacheHitCountLastMinute; - private final int rejectionExecutionCount; + @Nullable + private final Long lastAccess; + + @Nullable + private final DiscoveryNodeContent node; + + @Nullable + private final Integer numberOfAllocations; + + @Nullable + private final Integer numberOfPendingRequests; + + private final long peakThroughputPerMinute; + + @Nullable + private final Integer rejectionExecutionCount; private final TrainedModelAssignmentRoutingTable routingState; - private final long startTime; + @Nullable + private final Long startTime; + + @Nullable + private final Integer threadsPerAllocation; - private final int threadsPerAllocation; + private final int throughputLastMinute; - private final int timeoutCount; + @Nullable + private final Integer timeoutCount; // --------------------------------------------------------------------------------------------- private TrainedModelDeploymentNodesStats(Builder builder) { - this.averageInferenceTimeMs = ApiTypeHelper.requireNonNull(builder.averageInferenceTimeMs, this, - "averageInferenceTimeMs"); - this.errorCount = ApiTypeHelper.requireNonNull(builder.errorCount, this, "errorCount"); - this.inferenceCount = ApiTypeHelper.requireNonNull(builder.inferenceCount, this, "inferenceCount"); - this.lastAccess = ApiTypeHelper.requireNonNull(builder.lastAccess, this, "lastAccess"); - this.node = ApiTypeHelper.requireNonNull(builder.node, this, "node"); - this.numberOfAllocations = ApiTypeHelper.requireNonNull(builder.numberOfAllocations, this, - "numberOfAllocations"); - this.numberOfPendingRequests = ApiTypeHelper.requireNonNull(builder.numberOfPendingRequests, this, - "numberOfPendingRequests"); - this.rejectionExecutionCount = ApiTypeHelper.requireNonNull(builder.rejectionExecutionCount, this, - "rejectionExecutionCount"); + this.averageInferenceTimeMs = builder.averageInferenceTimeMs; + this.averageInferenceTimeMsLastMinute = builder.averageInferenceTimeMsLastMinute; + this.averageInferenceTimeMsExcludingCacheHits = builder.averageInferenceTimeMsExcludingCacheHits; + this.errorCount = builder.errorCount; + this.inferenceCount = builder.inferenceCount; + this.inferenceCacheHitCount = builder.inferenceCacheHitCount; + this.inferenceCacheHitCountLastMinute = builder.inferenceCacheHitCountLastMinute; + this.lastAccess = builder.lastAccess; + this.node = builder.node; + this.numberOfAllocations = builder.numberOfAllocations; + this.numberOfPendingRequests = builder.numberOfPendingRequests; + this.peakThroughputPerMinute = ApiTypeHelper.requireNonNull(builder.peakThroughputPerMinute, this, + "peakThroughputPerMinute"); + this.rejectionExecutionCount = builder.rejectionExecutionCount; this.routingState = ApiTypeHelper.requireNonNull(builder.routingState, this, "routingState"); - this.startTime = ApiTypeHelper.requireNonNull(builder.startTime, this, "startTime"); - this.threadsPerAllocation = ApiTypeHelper.requireNonNull(builder.threadsPerAllocation, this, - "threadsPerAllocation"); - this.timeoutCount = ApiTypeHelper.requireNonNull(builder.timeoutCount, this, "timeoutCount"); + this.startTime = builder.startTime; + this.threadsPerAllocation = builder.threadsPerAllocation; + this.throughputLastMinute = ApiTypeHelper.requireNonNull(builder.throughputLastMinute, this, + "throughputLastMinute"); + this.timeoutCount = builder.timeoutCount; } @@ -116,77 +146,125 @@ public static TrainedModelDeploymentNodesStats of( } /** - * Required - The average time for each inference call to complete on this node. + * The average time for each inference call to complete on this node. *

    * API name: {@code average_inference_time_ms} */ - public final double averageInferenceTimeMs() { + @Nullable + public final Double averageInferenceTimeMs() { return this.averageInferenceTimeMs; } /** - * Required - The number of errors when evaluating the trained model. + * API name: {@code average_inference_time_ms_last_minute} + */ + @Nullable + public final Double averageInferenceTimeMsLastMinute() { + return this.averageInferenceTimeMsLastMinute; + } + + /** + * The average time for each inference call to complete on this node, excluding + * cache + *

    + * API name: {@code average_inference_time_ms_excluding_cache_hits} + */ + @Nullable + public final Double averageInferenceTimeMsExcludingCacheHits() { + return this.averageInferenceTimeMsExcludingCacheHits; + } + + /** + * The number of errors when evaluating the trained model. *

    * API name: {@code error_count} */ - public final int errorCount() { + @Nullable + public final Integer errorCount() { return this.errorCount; } /** - * Required - The total number of inference calls made against this node for - * this model. + * The total number of inference calls made against this node for this model. *

    * API name: {@code inference_count} */ - public final int inferenceCount() { + @Nullable + public final Long inferenceCount() { return this.inferenceCount; } /** - * Required - The epoch time stamp of the last inference call for the model on - * this node. + * API name: {@code inference_cache_hit_count} + */ + @Nullable + public final Long inferenceCacheHitCount() { + return this.inferenceCacheHitCount; + } + + /** + * API name: {@code inference_cache_hit_count_last_minute} + */ + @Nullable + public final Long inferenceCacheHitCountLastMinute() { + return this.inferenceCacheHitCountLastMinute; + } + + /** + * The epoch time stamp of the last inference call for the model on this node. *

    * API name: {@code last_access} */ - public final long lastAccess() { + @Nullable + public final Long lastAccess() { return this.lastAccess; } /** - * Required - Information pertaining to the node. + * Information pertaining to the node. *

    * API name: {@code node} */ - public final DiscoveryNode node() { + @Nullable + public final DiscoveryNodeContent node() { return this.node; } /** - * Required - The number of allocations assigned to this node. + * The number of allocations assigned to this node. *

    * API name: {@code number_of_allocations} */ - public final int numberOfAllocations() { + @Nullable + public final Integer numberOfAllocations() { return this.numberOfAllocations; } /** - * Required - The number of inference requests queued to be processed. + * The number of inference requests queued to be processed. *

    * API name: {@code number_of_pending_requests} */ - public final int numberOfPendingRequests() { + @Nullable + public final Integer numberOfPendingRequests() { return this.numberOfPendingRequests; } /** - * Required - The number of inference requests that were not processed because - * the queue was full. + * Required - API name: {@code peak_throughput_per_minute} + */ + public final long peakThroughputPerMinute() { + return this.peakThroughputPerMinute; + } + + /** + * The number of inference requests that were not processed because the queue + * was full. *

    * API name: {@code rejection_execution_count} */ - public final int rejectionExecutionCount() { + @Nullable + public final Integer rejectionExecutionCount() { return this.rejectionExecutionCount; } @@ -201,30 +279,39 @@ public final TrainedModelAssignmentRoutingTable routingState() { } /** - * Required - The epoch timestamp when the allocation started. + * The epoch timestamp when the allocation started. *

    * API name: {@code start_time} */ - public final long startTime() { + @Nullable + public final Long startTime() { return this.startTime; } /** - * Required - The number of threads used by each allocation during inference. + * The number of threads used by each allocation during inference. *

    * API name: {@code threads_per_allocation} */ - public final int threadsPerAllocation() { + @Nullable + public final Integer threadsPerAllocation() { return this.threadsPerAllocation; } /** - * Required - The number of inference requests that timed out before being - * processed. + * Required - API name: {@code throughput_last_minute} + */ + public final int throughputLastMinute() { + return this.throughputLastMinute; + } + + /** + * The number of inference requests that timed out before being processed. *

    * API name: {@code timeout_count} */ - public final int timeoutCount() { + @Nullable + public final Integer timeoutCount() { return this.timeoutCount; } @@ -239,41 +326,90 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("average_inference_time_ms"); - generator.write(this.averageInferenceTimeMs); + if (this.averageInferenceTimeMs != null) { + generator.writeKey("average_inference_time_ms"); + generator.write(this.averageInferenceTimeMs); + + } + if (this.averageInferenceTimeMsLastMinute != null) { + generator.writeKey("average_inference_time_ms_last_minute"); + generator.write(this.averageInferenceTimeMsLastMinute); + + } + if (this.averageInferenceTimeMsExcludingCacheHits != null) { + generator.writeKey("average_inference_time_ms_excluding_cache_hits"); + generator.write(this.averageInferenceTimeMsExcludingCacheHits); + + } + if (this.errorCount != null) { + generator.writeKey("error_count"); + generator.write(this.errorCount); - generator.writeKey("error_count"); - generator.write(this.errorCount); + } + if (this.inferenceCount != null) { + generator.writeKey("inference_count"); + generator.write(this.inferenceCount); - generator.writeKey("inference_count"); - generator.write(this.inferenceCount); + } + if (this.inferenceCacheHitCount != null) { + generator.writeKey("inference_cache_hit_count"); + generator.write(this.inferenceCacheHitCount); - generator.writeKey("last_access"); - generator.write(this.lastAccess); + } + if (this.inferenceCacheHitCountLastMinute != null) { + generator.writeKey("inference_cache_hit_count_last_minute"); + generator.write(this.inferenceCacheHitCountLastMinute); - generator.writeKey("node"); - this.node.serialize(generator, mapper); + } + if (this.lastAccess != null) { + generator.writeKey("last_access"); + generator.write(this.lastAccess); + + } + if (this.node != null) { + generator.writeKey("node"); + this.node.serialize(generator, mapper); + + } + if (this.numberOfAllocations != null) { + generator.writeKey("number_of_allocations"); + generator.write(this.numberOfAllocations); - generator.writeKey("number_of_allocations"); - generator.write(this.numberOfAllocations); + } + if (this.numberOfPendingRequests != null) { + generator.writeKey("number_of_pending_requests"); + generator.write(this.numberOfPendingRequests); - generator.writeKey("number_of_pending_requests"); - generator.write(this.numberOfPendingRequests); + } + generator.writeKey("peak_throughput_per_minute"); + generator.write(this.peakThroughputPerMinute); - generator.writeKey("rejection_execution_count"); - generator.write(this.rejectionExecutionCount); + if (this.rejectionExecutionCount != null) { + generator.writeKey("rejection_execution_count"); + generator.write(this.rejectionExecutionCount); + } generator.writeKey("routing_state"); this.routingState.serialize(generator, mapper); - generator.writeKey("start_time"); - generator.write(this.startTime); + if (this.startTime != null) { + generator.writeKey("start_time"); + generator.write(this.startTime); + + } + if (this.threadsPerAllocation != null) { + generator.writeKey("threads_per_allocation"); + generator.write(this.threadsPerAllocation); + + } + generator.writeKey("throughput_last_minute"); + generator.write(this.throughputLastMinute); - generator.writeKey("threads_per_allocation"); - generator.write(this.threadsPerAllocation); + if (this.timeoutCount != null) { + generator.writeKey("timeout_count"); + generator.write(this.timeoutCount); - generator.writeKey("timeout_count"); - generator.write(this.timeoutCount); + } } @@ -291,118 +427,186 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable private Double averageInferenceTimeMs; + @Nullable + private Double averageInferenceTimeMsLastMinute; + + @Nullable + private Double averageInferenceTimeMsExcludingCacheHits; + + @Nullable private Integer errorCount; - private Integer inferenceCount; + @Nullable + private Long inferenceCount; + + @Nullable + private Long inferenceCacheHitCount; + + @Nullable + private Long inferenceCacheHitCountLastMinute; + @Nullable private Long lastAccess; - private DiscoveryNode node; + @Nullable + private DiscoveryNodeContent node; + @Nullable private Integer numberOfAllocations; + @Nullable private Integer numberOfPendingRequests; + private Long peakThroughputPerMinute; + + @Nullable private Integer rejectionExecutionCount; private TrainedModelAssignmentRoutingTable routingState; + @Nullable private Long startTime; + @Nullable private Integer threadsPerAllocation; + private Integer throughputLastMinute; + + @Nullable private Integer timeoutCount; /** - * Required - The average time for each inference call to complete on this node. + * The average time for each inference call to complete on this node. *

    * API name: {@code average_inference_time_ms} */ - public final Builder averageInferenceTimeMs(double value) { + public final Builder averageInferenceTimeMs(@Nullable Double value) { this.averageInferenceTimeMs = value; return this; } /** - * Required - The number of errors when evaluating the trained model. + * API name: {@code average_inference_time_ms_last_minute} + */ + public final Builder averageInferenceTimeMsLastMinute(@Nullable Double value) { + this.averageInferenceTimeMsLastMinute = value; + return this; + } + + /** + * The average time for each inference call to complete on this node, excluding + * cache + *

    + * API name: {@code average_inference_time_ms_excluding_cache_hits} + */ + public final Builder averageInferenceTimeMsExcludingCacheHits(@Nullable Double value) { + this.averageInferenceTimeMsExcludingCacheHits = value; + return this; + } + + /** + * The number of errors when evaluating the trained model. *

    * API name: {@code error_count} */ - public final Builder errorCount(int value) { + public final Builder errorCount(@Nullable Integer value) { this.errorCount = value; return this; } /** - * Required - The total number of inference calls made against this node for - * this model. + * The total number of inference calls made against this node for this model. *

    * API name: {@code inference_count} */ - public final Builder inferenceCount(int value) { + public final Builder inferenceCount(@Nullable Long value) { this.inferenceCount = value; return this; } /** - * Required - The epoch time stamp of the last inference call for the model on - * this node. + * API name: {@code inference_cache_hit_count} + */ + public final Builder inferenceCacheHitCount(@Nullable Long value) { + this.inferenceCacheHitCount = value; + return this; + } + + /** + * API name: {@code inference_cache_hit_count_last_minute} + */ + public final Builder inferenceCacheHitCountLastMinute(@Nullable Long value) { + this.inferenceCacheHitCountLastMinute = value; + return this; + } + + /** + * The epoch time stamp of the last inference call for the model on this node. *

    * API name: {@code last_access} */ - public final Builder lastAccess(long value) { + public final Builder lastAccess(@Nullable Long value) { this.lastAccess = value; return this; } /** - * Required - Information pertaining to the node. + * Information pertaining to the node. *

    * API name: {@code node} */ - public final Builder node(DiscoveryNode value) { + public final Builder node(@Nullable DiscoveryNodeContent value) { this.node = value; return this; } /** - * Required - Information pertaining to the node. + * Information pertaining to the node. *

    * API name: {@code node} */ - public final Builder node(Function> fn) { - return this.node(fn.apply(new DiscoveryNode.Builder()).build()); + public final Builder node(Function> fn) { + return this.node(fn.apply(new DiscoveryNodeContent.Builder()).build()); } /** - * Required - The number of allocations assigned to this node. + * The number of allocations assigned to this node. *

    * API name: {@code number_of_allocations} */ - public final Builder numberOfAllocations(int value) { + public final Builder numberOfAllocations(@Nullable Integer value) { this.numberOfAllocations = value; return this; } /** - * Required - The number of inference requests queued to be processed. + * The number of inference requests queued to be processed. *

    * API name: {@code number_of_pending_requests} */ - public final Builder numberOfPendingRequests(int value) { + public final Builder numberOfPendingRequests(@Nullable Integer value) { this.numberOfPendingRequests = value; return this; } /** - * Required - The number of inference requests that were not processed because - * the queue was full. + * Required - API name: {@code peak_throughput_per_minute} + */ + public final Builder peakThroughputPerMinute(long value) { + this.peakThroughputPerMinute = value; + return this; + } + + /** + * The number of inference requests that were not processed because the queue + * was full. *

    * API name: {@code rejection_execution_count} */ - public final Builder rejectionExecutionCount(int value) { + public final Builder rejectionExecutionCount(@Nullable Integer value) { this.rejectionExecutionCount = value; return this; } @@ -430,32 +634,39 @@ public final Builder routingState( } /** - * Required - The epoch timestamp when the allocation started. + * The epoch timestamp when the allocation started. *

    * API name: {@code start_time} */ - public final Builder startTime(long value) { + public final Builder startTime(@Nullable Long value) { this.startTime = value; return this; } /** - * Required - The number of threads used by each allocation during inference. + * The number of threads used by each allocation during inference. *

    * API name: {@code threads_per_allocation} */ - public final Builder threadsPerAllocation(int value) { + public final Builder threadsPerAllocation(@Nullable Integer value) { this.threadsPerAllocation = value; return this; } /** - * Required - The number of inference requests that timed out before being - * processed. + * Required - API name: {@code throughput_last_minute} + */ + public final Builder throughputLastMinute(int value) { + this.throughputLastMinute = value; + return this; + } + + /** + * The number of inference requests that timed out before being processed. *

    * API name: {@code timeout_count} */ - public final Builder timeoutCount(int value) { + public final Builder timeoutCount(@Nullable Integer value) { this.timeoutCount = value; return this; } @@ -490,16 +701,25 @@ protected static void setupTrainedModelDeploymentNodesStatsDeserializer( ObjectDeserializer op) { op.add(Builder::averageInferenceTimeMs, JsonpDeserializer.doubleDeserializer(), "average_inference_time_ms"); + op.add(Builder::averageInferenceTimeMsLastMinute, JsonpDeserializer.doubleDeserializer(), + "average_inference_time_ms_last_minute"); + op.add(Builder::averageInferenceTimeMsExcludingCacheHits, JsonpDeserializer.doubleDeserializer(), + "average_inference_time_ms_excluding_cache_hits"); op.add(Builder::errorCount, JsonpDeserializer.integerDeserializer(), "error_count"); - op.add(Builder::inferenceCount, JsonpDeserializer.integerDeserializer(), "inference_count"); + op.add(Builder::inferenceCount, JsonpDeserializer.longDeserializer(), "inference_count"); + op.add(Builder::inferenceCacheHitCount, JsonpDeserializer.longDeserializer(), "inference_cache_hit_count"); + op.add(Builder::inferenceCacheHitCountLastMinute, JsonpDeserializer.longDeserializer(), + "inference_cache_hit_count_last_minute"); op.add(Builder::lastAccess, JsonpDeserializer.longDeserializer(), "last_access"); - op.add(Builder::node, DiscoveryNode._DESERIALIZER, "node"); + op.add(Builder::node, DiscoveryNodeContent._DESERIALIZER, "node"); op.add(Builder::numberOfAllocations, JsonpDeserializer.integerDeserializer(), "number_of_allocations"); op.add(Builder::numberOfPendingRequests, JsonpDeserializer.integerDeserializer(), "number_of_pending_requests"); + op.add(Builder::peakThroughputPerMinute, JsonpDeserializer.longDeserializer(), "peak_throughput_per_minute"); op.add(Builder::rejectionExecutionCount, JsonpDeserializer.integerDeserializer(), "rejection_execution_count"); op.add(Builder::routingState, TrainedModelAssignmentRoutingTable._DESERIALIZER, "routing_state"); op.add(Builder::startTime, JsonpDeserializer.longDeserializer(), "start_time"); op.add(Builder::threadsPerAllocation, JsonpDeserializer.integerDeserializer(), "threads_per_allocation"); + op.add(Builder::throughputLastMinute, JsonpDeserializer.integerDeserializer(), "throughput_last_minute"); op.add(Builder::timeoutCount, JsonpDeserializer.integerDeserializer(), "timeout_count"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentStats.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentStats.java index 4c39c2806..4d3779f31 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentStats.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentStats.java @@ -63,6 +63,10 @@ */ @JsonpDeserializable public class TrainedModelDeploymentStats implements JsonpSerializable { + @Nullable + private final AdaptiveAllocationsSettings adaptiveAllocations; + + @Nullable private final TrainedModelDeploymentAllocationStatus allocationStatus; @Nullable @@ -70,52 +74,66 @@ public class TrainedModelDeploymentStats implements JsonpSerializable { private final String deploymentId; - private final int errorCount; + @Nullable + private final Integer errorCount; - private final int inferenceCount; + @Nullable + private final Integer inferenceCount; private final String modelId; private final List nodes; - private final int numberOfAllocations; + @Nullable + private final Integer numberOfAllocations; - private final int queueCapacity; + private final long peakThroughputPerMinute; - private final int rejectedExecutionCount; + private final TrainingPriority priority; + @Nullable + private final Integer queueCapacity; + + @Nullable + private final Integer rejectedExecutionCount; + + @Nullable private final String reason; private final long startTime; + @Nullable private final DeploymentAssignmentState state; - private final int threadsPerAllocation; + @Nullable + private final Integer threadsPerAllocation; - private final int timeoutCount; + @Nullable + private final Integer timeoutCount; // --------------------------------------------------------------------------------------------- private TrainedModelDeploymentStats(Builder builder) { - this.allocationStatus = ApiTypeHelper.requireNonNull(builder.allocationStatus, this, "allocationStatus"); + this.adaptiveAllocations = builder.adaptiveAllocations; + this.allocationStatus = builder.allocationStatus; this.cacheSize = builder.cacheSize; this.deploymentId = ApiTypeHelper.requireNonNull(builder.deploymentId, this, "deploymentId"); - this.errorCount = ApiTypeHelper.requireNonNull(builder.errorCount, this, "errorCount"); - this.inferenceCount = ApiTypeHelper.requireNonNull(builder.inferenceCount, this, "inferenceCount"); + this.errorCount = builder.errorCount; + this.inferenceCount = builder.inferenceCount; this.modelId = ApiTypeHelper.requireNonNull(builder.modelId, this, "modelId"); this.nodes = ApiTypeHelper.unmodifiableRequired(builder.nodes, this, "nodes"); - this.numberOfAllocations = ApiTypeHelper.requireNonNull(builder.numberOfAllocations, this, - "numberOfAllocations"); - this.queueCapacity = ApiTypeHelper.requireNonNull(builder.queueCapacity, this, "queueCapacity"); - this.rejectedExecutionCount = ApiTypeHelper.requireNonNull(builder.rejectedExecutionCount, this, - "rejectedExecutionCount"); - this.reason = ApiTypeHelper.requireNonNull(builder.reason, this, "reason"); + this.numberOfAllocations = builder.numberOfAllocations; + this.peakThroughputPerMinute = ApiTypeHelper.requireNonNull(builder.peakThroughputPerMinute, this, + "peakThroughputPerMinute"); + this.priority = ApiTypeHelper.requireNonNull(builder.priority, this, "priority"); + this.queueCapacity = builder.queueCapacity; + this.rejectedExecutionCount = builder.rejectedExecutionCount; + this.reason = builder.reason; this.startTime = ApiTypeHelper.requireNonNull(builder.startTime, this, "startTime"); - this.state = ApiTypeHelper.requireNonNull(builder.state, this, "state"); - this.threadsPerAllocation = ApiTypeHelper.requireNonNull(builder.threadsPerAllocation, this, - "threadsPerAllocation"); - this.timeoutCount = ApiTypeHelper.requireNonNull(builder.timeoutCount, this, "timeoutCount"); + this.state = builder.state; + this.threadsPerAllocation = builder.threadsPerAllocation; + this.timeoutCount = builder.timeoutCount; } @@ -124,10 +142,19 @@ public static TrainedModelDeploymentStats of(Function * API name: {@code allocation_status} */ + @Nullable public final TrainedModelDeploymentAllocationStatus allocationStatus() { return this.allocationStatus; } @@ -150,22 +177,22 @@ public final String deploymentId() { } /** - * Required - The sum of error_count for all nodes in the - * deployment. + * The sum of error_count for all nodes in the deployment. *

    * API name: {@code error_count} */ - public final int errorCount() { + @Nullable + public final Integer errorCount() { return this.errorCount; } /** - * Required - The sum of inference_count for all nodes in the - * deployment. + * The sum of inference_count for all nodes in the deployment. *

    * API name: {@code inference_count} */ - public final int inferenceCount() { + @Nullable + public final Integer inferenceCount() { return this.inferenceCount; } @@ -190,43 +217,61 @@ public final List nodes() { } /** - * Required - The number of allocations requested. + * The number of allocations requested. *

    * API name: {@code number_of_allocations} */ - public final int numberOfAllocations() { + @Nullable + public final Integer numberOfAllocations() { return this.numberOfAllocations; } /** - * Required - The number of inference requests that can be queued before new - * requests are rejected. + * Required - API name: {@code peak_throughput_per_minute} + */ + public final long peakThroughputPerMinute() { + return this.peakThroughputPerMinute; + } + + /** + * Required - API name: {@code priority} + */ + public final TrainingPriority priority() { + return this.priority; + } + + /** + * The number of inference requests that can be queued before new requests are + * rejected. *

    * API name: {@code queue_capacity} */ - public final int queueCapacity() { + @Nullable + public final Integer queueCapacity() { return this.queueCapacity; } /** - * Required - The sum of rejected_execution_count for all nodes in - * the deployment. Individual nodes reject an inference request if the inference + * The sum of rejected_execution_count for all nodes in the + * deployment. Individual nodes reject an inference request if the inference * queue is full. The queue size is controlled by the * queue_capacity setting in the start trained model deployment * API. *

    * API name: {@code rejected_execution_count} */ - public final int rejectedExecutionCount() { + @Nullable + public final Integer rejectedExecutionCount() { return this.rejectedExecutionCount; } /** - * Required - The reason for the current deployment state. Usually only - * populated when the model is not deployed to a node. + * The reason for the current deployment state. Usually only populated when the + * model is not deployed to a node. *

    * API name: {@code reason} */ + @Nullable public final String reason() { return this.reason; } @@ -241,30 +286,32 @@ public final long startTime() { } /** - * Required - The overall state of the deployment. + * The overall state of the deployment. *

    * API name: {@code state} */ + @Nullable public final DeploymentAssignmentState state() { return this.state; } /** - * Required - The number of threads used be each allocation during inference. + * The number of threads used be each allocation during inference. *

    * API name: {@code threads_per_allocation} */ - public final int threadsPerAllocation() { + @Nullable + public final Integer threadsPerAllocation() { return this.threadsPerAllocation; } /** - * Required - The sum of timeout_count for all nodes in the - * deployment. + * The sum of timeout_count for all nodes in the deployment. *

    * API name: {@code timeout_count} */ - public final int timeoutCount() { + @Nullable + public final Integer timeoutCount() { return this.timeoutCount; } @@ -279,9 +326,16 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey("allocation_status"); - this.allocationStatus.serialize(generator, mapper); + if (this.adaptiveAllocations != null) { + generator.writeKey("adaptive_allocations"); + this.adaptiveAllocations.serialize(generator, mapper); + } + if (this.allocationStatus != null) { + generator.writeKey("allocation_status"); + this.allocationStatus.serialize(generator, mapper); + + } if (this.cacheSize != null) { generator.writeKey("cache_size"); generator.write(this.cacheSize); @@ -290,12 +344,16 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("deployment_id"); generator.write(this.deploymentId); - generator.writeKey("error_count"); - generator.write(this.errorCount); + if (this.errorCount != null) { + generator.writeKey("error_count"); + generator.write(this.errorCount); - generator.writeKey("inference_count"); - generator.write(this.inferenceCount); + } + if (this.inferenceCount != null) { + generator.writeKey("inference_count"); + generator.write(this.inferenceCount); + } generator.writeKey("model_id"); generator.write(this.modelId); @@ -309,28 +367,48 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - generator.writeKey("number_of_allocations"); - generator.write(this.numberOfAllocations); + if (this.numberOfAllocations != null) { + generator.writeKey("number_of_allocations"); + generator.write(this.numberOfAllocations); - generator.writeKey("queue_capacity"); - generator.write(this.queueCapacity); + } + generator.writeKey("peak_throughput_per_minute"); + generator.write(this.peakThroughputPerMinute); + + generator.writeKey("priority"); + this.priority.serialize(generator, mapper); + if (this.queueCapacity != null) { + generator.writeKey("queue_capacity"); + generator.write(this.queueCapacity); - generator.writeKey("rejected_execution_count"); - generator.write(this.rejectedExecutionCount); + } + if (this.rejectedExecutionCount != null) { + generator.writeKey("rejected_execution_count"); + generator.write(this.rejectedExecutionCount); - generator.writeKey("reason"); - generator.write(this.reason); + } + if (this.reason != null) { + generator.writeKey("reason"); + generator.write(this.reason); + } generator.writeKey("start_time"); generator.write(this.startTime); - generator.writeKey("state"); - this.state.serialize(generator, mapper); - generator.writeKey("threads_per_allocation"); - generator.write(this.threadsPerAllocation); + if (this.state != null) { + generator.writeKey("state"); + this.state.serialize(generator, mapper); + } + if (this.threadsPerAllocation != null) { + generator.writeKey("threads_per_allocation"); + generator.write(this.threadsPerAllocation); - generator.writeKey("timeout_count"); - generator.write(this.timeoutCount); + } + if (this.timeoutCount != null) { + generator.writeKey("timeout_count"); + generator.write(this.timeoutCount); + + } } @@ -348,6 +426,10 @@ public String toString() { public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private AdaptiveAllocationsSettings adaptiveAllocations; + + @Nullable private TrainedModelDeploymentAllocationStatus allocationStatus; @Nullable @@ -355,42 +437,71 @@ public static class Builder extends WithJsonObjectBuilderBase private String deploymentId; + @Nullable private Integer errorCount; + @Nullable private Integer inferenceCount; private String modelId; private List nodes; + @Nullable private Integer numberOfAllocations; + private Long peakThroughputPerMinute; + + private TrainingPriority priority; + + @Nullable private Integer queueCapacity; + @Nullable private Integer rejectedExecutionCount; + @Nullable private String reason; private Long startTime; + @Nullable private DeploymentAssignmentState state; + @Nullable private Integer threadsPerAllocation; + @Nullable private Integer timeoutCount; /** - * Required - The detailed allocation status for the deployment. + * API name: {@code adaptive_allocations} + */ + public final Builder adaptiveAllocations(@Nullable AdaptiveAllocationsSettings value) { + this.adaptiveAllocations = value; + return this; + } + + /** + * API name: {@code adaptive_allocations} + */ + public final Builder adaptiveAllocations( + Function> fn) { + return this.adaptiveAllocations(fn.apply(new AdaptiveAllocationsSettings.Builder()).build()); + } + + /** + * The detailed allocation status for the deployment. *

    * API name: {@code allocation_status} */ - public final Builder allocationStatus(TrainedModelDeploymentAllocationStatus value) { + public final Builder allocationStatus(@Nullable TrainedModelDeploymentAllocationStatus value) { this.allocationStatus = value; return this; } /** - * Required - The detailed allocation status for the deployment. + * The detailed allocation status for the deployment. *

    * API name: {@code allocation_status} */ @@ -418,23 +529,21 @@ public final Builder deploymentId(String value) { } /** - * Required - The sum of error_count for all nodes in the - * deployment. + * The sum of error_count for all nodes in the deployment. *

    * API name: {@code error_count} */ - public final Builder errorCount(int value) { + public final Builder errorCount(@Nullable Integer value) { this.errorCount = value; return this; } /** - * Required - The sum of inference_count for all nodes in the - * deployment. + * The sum of inference_count for all nodes in the deployment. *

    * API name: {@code inference_count} */ - public final Builder inferenceCount(int value) { + public final Builder inferenceCount(@Nullable Integer value) { this.inferenceCount = value; return this; } @@ -492,47 +601,63 @@ public final Builder nodes( } /** - * Required - The number of allocations requested. + * The number of allocations requested. *

    * API name: {@code number_of_allocations} */ - public final Builder numberOfAllocations(int value) { + public final Builder numberOfAllocations(@Nullable Integer value) { this.numberOfAllocations = value; return this; } /** - * Required - The number of inference requests that can be queued before new - * requests are rejected. + * Required - API name: {@code peak_throughput_per_minute} + */ + public final Builder peakThroughputPerMinute(long value) { + this.peakThroughputPerMinute = value; + return this; + } + + /** + * Required - API name: {@code priority} + */ + public final Builder priority(TrainingPriority value) { + this.priority = value; + return this; + } + + /** + * The number of inference requests that can be queued before new requests are + * rejected. *

    * API name: {@code queue_capacity} */ - public final Builder queueCapacity(int value) { + public final Builder queueCapacity(@Nullable Integer value) { this.queueCapacity = value; return this; } /** - * Required - The sum of rejected_execution_count for all nodes in - * the deployment. Individual nodes reject an inference request if the inference + * The sum of rejected_execution_count for all nodes in the + * deployment. Individual nodes reject an inference request if the inference * queue is full. The queue size is controlled by the * queue_capacity setting in the start trained model deployment * API. *

    * API name: {@code rejected_execution_count} */ - public final Builder rejectedExecutionCount(int value) { + public final Builder rejectedExecutionCount(@Nullable Integer value) { this.rejectedExecutionCount = value; return this; } /** - * Required - The reason for the current deployment state. Usually only - * populated when the model is not deployed to a node. + * The reason for the current deployment state. Usually only populated when the + * model is not deployed to a node. *

    * API name: {@code reason} */ - public final Builder reason(String value) { + public final Builder reason(@Nullable String value) { this.reason = value; return this; } @@ -548,32 +673,31 @@ public final Builder startTime(long value) { } /** - * Required - The overall state of the deployment. + * The overall state of the deployment. *

    * API name: {@code state} */ - public final Builder state(DeploymentAssignmentState value) { + public final Builder state(@Nullable DeploymentAssignmentState value) { this.state = value; return this; } /** - * Required - The number of threads used be each allocation during inference. + * The number of threads used be each allocation during inference. *

    * API name: {@code threads_per_allocation} */ - public final Builder threadsPerAllocation(int value) { + public final Builder threadsPerAllocation(@Nullable Integer value) { this.threadsPerAllocation = value; return this; } /** - * Required - The sum of timeout_count for all nodes in the - * deployment. + * The sum of timeout_count for all nodes in the deployment. *

    * API name: {@code timeout_count} */ - public final Builder timeoutCount(int value) { + public final Builder timeoutCount(@Nullable Integer value) { this.timeoutCount = value; return this; } @@ -607,6 +731,7 @@ public TrainedModelDeploymentStats build() { protected static void setupTrainedModelDeploymentStatsDeserializer( ObjectDeserializer op) { + op.add(Builder::adaptiveAllocations, AdaptiveAllocationsSettings._DESERIALIZER, "adaptive_allocations"); op.add(Builder::allocationStatus, TrainedModelDeploymentAllocationStatus._DESERIALIZER, "allocation_status"); op.add(Builder::cacheSize, JsonpDeserializer.stringDeserializer(), "cache_size"); op.add(Builder::deploymentId, JsonpDeserializer.stringDeserializer(), "deployment_id"); @@ -616,6 +741,8 @@ protected static void setupTrainedModelDeploymentStatsDeserializer( op.add(Builder::nodes, JsonpDeserializer.arrayDeserializer(TrainedModelDeploymentNodesStats._DESERIALIZER), "nodes"); op.add(Builder::numberOfAllocations, JsonpDeserializer.integerDeserializer(), "number_of_allocations"); + op.add(Builder::peakThroughputPerMinute, JsonpDeserializer.longDeserializer(), "peak_throughput_per_minute"); + op.add(Builder::priority, TrainingPriority._DESERIALIZER, "priority"); op.add(Builder::queueCapacity, JsonpDeserializer.integerDeserializer(), "queue_capacity"); op.add(Builder::rejectedExecutionCount, JsonpDeserializer.integerDeserializer(), "rejected_execution_count"); op.add(Builder::reason, JsonpDeserializer.stringDeserializer(), "reason"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobRequest.java index 1c0f308c0..0bab8e116 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobRequest.java @@ -90,7 +90,7 @@ public class UpdateJobRequest extends RequestBase implements JsonpSerializable { @Nullable private final String description; - private final List detectors; + private final List detectors; private final List groups; @@ -232,7 +232,7 @@ public final String description() { *

    * API name: {@code detectors} */ - public final List detectors() { + public final List detectors() { return this.detectors; } @@ -379,7 +379,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { if (ApiTypeHelper.isDefined(this.detectors)) { generator.writeKey("detectors"); generator.writeStartArray(); - for (Detector item0 : this.detectors) { + for (DetectorUpdate item0 : this.detectors) { item0.serialize(generator, mapper); } @@ -460,7 +460,7 @@ public static class Builder extends RequestBase.AbstractBuilder private String description; @Nullable - private List detectors; + private List detectors; @Nullable private List groups; @@ -631,7 +631,7 @@ public final Builder description(@Nullable String value) { *

    * Adds all elements of list to detectors. */ - public final Builder detectors(List list) { + public final Builder detectors(List list) { this.detectors = _listAddAll(this.detectors, list); return this; } @@ -643,7 +643,7 @@ public final Builder detectors(List list) { *

    * Adds one or more values to detectors. */ - public final Builder detectors(Detector value, Detector... values) { + public final Builder detectors(DetectorUpdate value, DetectorUpdate... values) { this.detectors = _listAdd(this.detectors, value, values); return this; } @@ -655,8 +655,8 @@ public final Builder detectors(Detector value, Detector... values) { *

    * Adds a value to detectors using a builder lambda. */ - public final Builder detectors(Function> fn) { - return detectors(fn.apply(new Detector.Builder()).build()); + public final Builder detectors(Function> fn) { + return detectors(fn.apply(new DetectorUpdate.Builder()).build()); } /** @@ -820,7 +820,7 @@ protected static void setupUpdateJobRequestDeserializer(ObjectDeserializerAPI * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/info/Limits.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/info/Limits.java index 882dc9ade..b5832c1cd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/info/Limits.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/info/Limits.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.function.Function; @@ -59,9 +60,16 @@ */ @JsonpDeserializable public class Limits implements JsonpSerializable { + @Nullable + private final Integer maxSingleMlNodeProcessors; + + @Nullable + private final Integer totalMlProcessors; + @Nullable private final String maxModelMemoryLimit; + @Nullable private final String effectiveMaxModelMemoryLimit; private final String totalMlMemory; @@ -70,9 +78,10 @@ public class Limits implements JsonpSerializable { private Limits(Builder builder) { + this.maxSingleMlNodeProcessors = builder.maxSingleMlNodeProcessors; + this.totalMlProcessors = builder.totalMlProcessors; this.maxModelMemoryLimit = builder.maxModelMemoryLimit; - this.effectiveMaxModelMemoryLimit = ApiTypeHelper.requireNonNull(builder.effectiveMaxModelMemoryLimit, this, - "effectiveMaxModelMemoryLimit"); + this.effectiveMaxModelMemoryLimit = builder.effectiveMaxModelMemoryLimit; this.totalMlMemory = ApiTypeHelper.requireNonNull(builder.totalMlMemory, this, "totalMlMemory"); } @@ -81,6 +90,22 @@ public static Limits of(Function> fn) { return fn.apply(new Builder()).build(); } + /** + * API name: {@code max_single_ml_node_processors} + */ + @Nullable + public final Integer maxSingleMlNodeProcessors() { + return this.maxSingleMlNodeProcessors; + } + + /** + * API name: {@code total_ml_processors} + */ + @Nullable + public final Integer totalMlProcessors() { + return this.totalMlProcessors; + } + /** * API name: {@code max_model_memory_limit} */ @@ -90,8 +115,9 @@ public final String maxModelMemoryLimit() { } /** - * Required - API name: {@code effective_max_model_memory_limit} + * API name: {@code effective_max_model_memory_limit} */ + @Nullable public final String effectiveMaxModelMemoryLimit() { return this.effectiveMaxModelMemoryLimit; } @@ -114,14 +140,26 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) { protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + if (this.maxSingleMlNodeProcessors != null) { + generator.writeKey("max_single_ml_node_processors"); + generator.write(this.maxSingleMlNodeProcessors); + + } + if (this.totalMlProcessors != null) { + generator.writeKey("total_ml_processors"); + generator.write(this.totalMlProcessors); + + } if (this.maxModelMemoryLimit != null) { generator.writeKey("max_model_memory_limit"); generator.write(this.maxModelMemoryLimit); } - generator.writeKey("effective_max_model_memory_limit"); - generator.write(this.effectiveMaxModelMemoryLimit); + if (this.effectiveMaxModelMemoryLimit != null) { + generator.writeKey("effective_max_model_memory_limit"); + generator.write(this.effectiveMaxModelMemoryLimit); + } generator.writeKey("total_ml_memory"); generator.write(this.totalMlMemory); @@ -139,13 +177,36 @@ public String toString() { */ public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { + @Nullable + private Integer maxSingleMlNodeProcessors; + + @Nullable + private Integer totalMlProcessors; + @Nullable private String maxModelMemoryLimit; + @Nullable private String effectiveMaxModelMemoryLimit; private String totalMlMemory; + /** + * API name: {@code max_single_ml_node_processors} + */ + public final Builder maxSingleMlNodeProcessors(@Nullable Integer value) { + this.maxSingleMlNodeProcessors = value; + return this; + } + + /** + * API name: {@code total_ml_processors} + */ + public final Builder totalMlProcessors(@Nullable Integer value) { + this.totalMlProcessors = value; + return this; + } + /** * API name: {@code max_model_memory_limit} */ @@ -155,9 +216,9 @@ public final Builder maxModelMemoryLimit(@Nullable String value) { } /** - * Required - API name: {@code effective_max_model_memory_limit} + * API name: {@code effective_max_model_memory_limit} */ - public final Builder effectiveMaxModelMemoryLimit(String value) { + public final Builder effectiveMaxModelMemoryLimit(@Nullable String value) { this.effectiveMaxModelMemoryLimit = value; return this; } @@ -198,6 +259,9 @@ public Limits build() { protected static void setupLimitsDeserializer(ObjectDeserializer op) { + op.add(Builder::maxSingleMlNodeProcessors, JsonpDeserializer.integerDeserializer(), + "max_single_ml_node_processors"); + op.add(Builder::totalMlProcessors, JsonpDeserializer.integerDeserializer(), "total_ml_processors"); op.add(Builder::maxModelMemoryLimit, JsonpDeserializer.stringDeserializer(), "max_model_memory_limit"); op.add(Builder::effectiveMaxModelMemoryLimit, JsonpDeserializer.stringDeserializer(), "effective_max_model_memory_limit"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java index 768360106..dbb680041 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java @@ -62,7 +62,8 @@ // typedef: monitoring.bulk.Request /** - * Used by the monitoring features to send monitoring data. + * Send monitoring data. This API is used by the monitoring features to send + * monitoring data. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringAsyncClient.java index aad05d73a..9dc19d082 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringAsyncClient.java @@ -70,7 +70,8 @@ public ElasticsearchMonitoringAsyncClient withTransportOptions(@Nullable Transpo // ----- Endpoint: monitoring.bulk /** - * Used by the monitoring features to send monitoring data. + * Send monitoring data. This API is used by the monitoring features to send + * monitoring data. * * @see Documentation @@ -85,7 +86,8 @@ public CompletableFuture bulk(BulkRequest request) { } /** - * Used by the monitoring features to send monitoring data. + * Send monitoring data. This API is used by the monitoring features to send + * monitoring data. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringClient.java index 0c0fb8752..1ad60de63 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/ElasticsearchMonitoringClient.java @@ -69,7 +69,8 @@ public ElasticsearchMonitoringClient withTransportOptions(@Nullable TransportOpt // ----- Endpoint: monitoring.bulk /** - * Used by the monitoring features to send monitoring data. + * Send monitoring data. This API is used by the monitoring features to send + * monitoring data. * * @see Documentation @@ -84,7 +85,8 @@ public BulkResponse bulk(BulkRequest request) throws IOException, ElasticsearchE } /** - * Used by the monitoring features to send monitoring data. + * Send monitoring data. This API is used by the monitoring features to send + * monitoring data. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ClearRepositoriesMeteringArchiveRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ClearRepositoriesMeteringArchiveRequest.java index 24a760458..2f6e7b98f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ClearRepositoriesMeteringArchiveRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ClearRepositoriesMeteringArchiveRequest.java @@ -59,8 +59,8 @@ // typedef: nodes.clear_repositories_metering_archive.Request /** - * You can use this API to clear the archived repositories metering information - * in the cluster. + * Clear the archived repositories metering. Clear the archived repositories + * metering information in the cluster. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java index 22290e128..701d12b15 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesAsyncClient.java @@ -68,8 +68,8 @@ public ElasticsearchNodesAsyncClient withTransportOptions(@Nullable TransportOpt // ----- Endpoint: nodes.clear_repositories_metering_archive /** - * You can use this API to clear the archived repositories metering information - * in the cluster. + * Clear the archived repositories metering. Clear the archived repositories + * metering information in the cluster. * * @see Documentation @@ -85,8 +85,8 @@ public CompletableFuture clearReposito } /** - * You can use this API to clear the archived repositories metering information - * in the cluster. + * Clear the archived repositories metering. Clear the archived repositories + * metering information in the cluster. * * @param fn * a function that initializes a builder to create the @@ -105,12 +105,12 @@ public final CompletableFuture clearRe // ----- Endpoint: nodes.get_repositories_metering_info /** - * You can use the cluster repositories metering API to retrieve repositories - * metering information in a cluster. This API exposes monotonically - * non-decreasing counters and it’s expected that clients would durably store - * the information needed to compute aggregations over a period of time. - * Additionally, the information exposed by this API is volatile, meaning that - * it won’t be present after node restarts. + * Get cluster repositories metering. Get repositories metering information for + * a cluster. This API exposes monotonically non-decreasing counters and it is + * expected that clients would durably store the information needed to compute + * aggregations over a period of time. Additionally, the information exposed by + * this API is volatile, meaning that it will not be present after node + * restarts. * * @see Documentation @@ -126,12 +126,12 @@ public CompletableFuture getRepositoriesMet } /** - * You can use the cluster repositories metering API to retrieve repositories - * metering information in a cluster. This API exposes monotonically - * non-decreasing counters and it’s expected that clients would durably store - * the information needed to compute aggregations over a period of time. - * Additionally, the information exposed by this API is volatile, meaning that - * it won’t be present after node restarts. + * Get cluster repositories metering. Get repositories metering information for + * a cluster. This API exposes monotonically non-decreasing counters and it is + * expected that clients would durably store the information needed to compute + * aggregations over a period of time. Additionally, the information exposed by + * this API is volatile, meaning that it will not be present after node + * restarts. * * @param fn * a function that initializes a builder to create the @@ -149,9 +149,9 @@ public final CompletableFuture getRepositor // ----- Endpoint: nodes.hot_threads /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @see Documentation @@ -166,9 +166,9 @@ public CompletableFuture hotThreads(HotThreadsRequest reques } /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @param fn * a function that initializes a builder to create the @@ -184,9 +184,9 @@ public final CompletableFuture hotThreads( } /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @see Documentation @@ -201,7 +201,8 @@ public CompletableFuture hotThreads() { // ----- Endpoint: nodes.info /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @see Documentation @@ -216,7 +217,8 @@ public CompletableFuture info(NodesInfoRequest request) { } /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @param fn * a function that initializes a builder to create the @@ -232,7 +234,8 @@ public final CompletableFuture info( } /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @see Documentation @@ -247,7 +250,22 @@ public CompletableFuture info() { // ----- Endpoint: nodes.reload_secure_settings /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @see Documentation @@ -262,7 +280,22 @@ public CompletableFuture reloadSecureSettings(Relo } /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @param fn * a function that initializes a builder to create the @@ -278,7 +311,22 @@ public final CompletableFuture reloadSecureSetting } /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @see Documentation @@ -293,7 +341,8 @@ public CompletableFuture reloadSecureSettings() { // ----- Endpoint: nodes.stats /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @see Documentation @@ -308,7 +357,8 @@ public CompletableFuture stats(NodesStatsRequest request) { } /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @param fn * a function that initializes a builder to create the @@ -324,7 +374,8 @@ public final CompletableFuture stats( } /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @see Documentation @@ -339,7 +390,7 @@ public CompletableFuture stats() { // ----- Endpoint: nodes.usage /** - * Returns information on the usage of features. + * Get feature usage information. * * @see Documentation @@ -354,7 +405,7 @@ public CompletableFuture usage(NodesUsageRequest request) { } /** - * Returns information on the usage of features. + * Get feature usage information. * * @param fn * a function that initializes a builder to create the @@ -370,7 +421,7 @@ public final CompletableFuture usage( } /** - * Returns information on the usage of features. + * Get feature usage information. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java index a32df2954..d0481fe85 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ElasticsearchNodesClient.java @@ -68,8 +68,8 @@ public ElasticsearchNodesClient withTransportOptions(@Nullable TransportOptions // ----- Endpoint: nodes.clear_repositories_metering_archive /** - * You can use this API to clear the archived repositories metering information - * in the cluster. + * Clear the archived repositories metering. Clear the archived repositories + * metering information in the cluster. * * @see Documentation @@ -85,8 +85,8 @@ public ClearRepositoriesMeteringArchiveResponse clearRepositoriesMeteringArchive } /** - * You can use this API to clear the archived repositories metering information - * in the cluster. + * Clear the archived repositories metering. Clear the archived repositories + * metering information in the cluster. * * @param fn * a function that initializes a builder to create the @@ -106,12 +106,12 @@ public final ClearRepositoriesMeteringArchiveResponse clearRepositoriesMeteringA // ----- Endpoint: nodes.get_repositories_metering_info /** - * You can use the cluster repositories metering API to retrieve repositories - * metering information in a cluster. This API exposes monotonically - * non-decreasing counters and it’s expected that clients would durably store - * the information needed to compute aggregations over a period of time. - * Additionally, the information exposed by this API is volatile, meaning that - * it won’t be present after node restarts. + * Get cluster repositories metering. Get repositories metering information for + * a cluster. This API exposes monotonically non-decreasing counters and it is + * expected that clients would durably store the information needed to compute + * aggregations over a period of time. Additionally, the information exposed by + * this API is volatile, meaning that it will not be present after node + * restarts. * * @see Documentation @@ -127,12 +127,12 @@ public GetRepositoriesMeteringInfoResponse getRepositoriesMeteringInfo(GetReposi } /** - * You can use the cluster repositories metering API to retrieve repositories - * metering information in a cluster. This API exposes monotonically - * non-decreasing counters and it’s expected that clients would durably store - * the information needed to compute aggregations over a period of time. - * Additionally, the information exposed by this API is volatile, meaning that - * it won’t be present after node restarts. + * Get cluster repositories metering. Get repositories metering information for + * a cluster. This API exposes monotonically non-decreasing counters and it is + * expected that clients would durably store the information needed to compute + * aggregations over a period of time. Additionally, the information exposed by + * this API is volatile, meaning that it will not be present after node + * restarts. * * @param fn * a function that initializes a builder to create the @@ -151,9 +151,9 @@ public final GetRepositoriesMeteringInfoResponse getRepositoriesMeteringInfo( // ----- Endpoint: nodes.hot_threads /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @see Documentation @@ -168,9 +168,9 @@ public HotThreadsResponse hotThreads(HotThreadsRequest request) throws IOExcepti } /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @param fn * a function that initializes a builder to create the @@ -186,9 +186,9 @@ public final HotThreadsResponse hotThreads(FunctionDocumentation @@ -203,7 +203,8 @@ public HotThreadsResponse hotThreads() throws IOException, ElasticsearchExceptio // ----- Endpoint: nodes.info /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @see Documentation @@ -218,7 +219,8 @@ public NodesInfoResponse info(NodesInfoRequest request) throws IOException, Elas } /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @param fn * a function that initializes a builder to create the @@ -234,7 +236,8 @@ public final NodesInfoResponse info(FunctionDocumentation @@ -249,7 +252,22 @@ public NodesInfoResponse info() throws IOException, ElasticsearchException { // ----- Endpoint: nodes.reload_secure_settings /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @see Documentation @@ -265,7 +283,22 @@ public ReloadSecureSettingsResponse reloadSecureSettings(ReloadSecureSettingsReq } /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @param fn * a function that initializes a builder to create the @@ -282,7 +315,22 @@ public final ReloadSecureSettingsResponse reloadSecureSettings( } /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @see Documentation @@ -297,7 +345,8 @@ public ReloadSecureSettingsResponse reloadSecureSettings() throws IOException, E // ----- Endpoint: nodes.stats /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @see Documentation @@ -312,7 +361,8 @@ public NodesStatsResponse stats(NodesStatsRequest request) throws IOException, E } /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @param fn * a function that initializes a builder to create the @@ -328,7 +378,8 @@ public final NodesStatsResponse stats(FunctionDocumentation @@ -343,7 +394,7 @@ public NodesStatsResponse stats() throws IOException, ElasticsearchException { // ----- Endpoint: nodes.usage /** - * Returns information on the usage of features. + * Get feature usage information. * * @see Documentation @@ -358,7 +409,7 @@ public NodesUsageResponse usage(NodesUsageRequest request) throws IOException, E } /** - * Returns information on the usage of features. + * Get feature usage information. * * @param fn * a function that initializes a builder to create the @@ -374,7 +425,7 @@ public final NodesUsageResponse usage(FunctionDocumentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/GetRepositoriesMeteringInfoRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/GetRepositoriesMeteringInfoRequest.java index 73977ee82..c5a7b5c38 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/GetRepositoriesMeteringInfoRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/GetRepositoriesMeteringInfoRequest.java @@ -58,12 +58,12 @@ // typedef: nodes.get_repositories_metering_info.Request /** - * You can use the cluster repositories metering API to retrieve repositories - * metering information in a cluster. This API exposes monotonically - * non-decreasing counters and it’s expected that clients would durably store - * the information needed to compute aggregations over a period of time. - * Additionally, the information exposed by this API is volatile, meaning that - * it won’t be present after node restarts. + * Get cluster repositories metering. Get repositories metering information for + * a cluster. This API exposes monotonically non-decreasing counters and it is + * expected that clients would durably store the information needed to compute + * aggregations over a period of time. Additionally, the information exposed by + * this API is volatile, meaning that it will not be present after node + * restarts. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HotThreadsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HotThreadsRequest.java index f73e22cf0..56a4e66b7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HotThreadsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/HotThreadsRequest.java @@ -61,9 +61,9 @@ // typedef: nodes.hot_threads.Request /** - * This API yields a breakdown of the hot threads on each selected node in the - * cluster. The output is plain text with a breakdown of each node’s top hot - * threads. + * Get the hot threads for nodes. Get a breakdown of the hot threads on each + * selected node in the cluster. The output is plain text with a breakdown of + * the top hot threads for each node. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesInfoRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesInfoRequest.java index c703eafdc..b330f26ae 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesInfoRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesInfoRequest.java @@ -59,7 +59,8 @@ // typedef: nodes.info.Request /** - * Returns cluster nodes information. + * Get node information. By default, the API returns all attributes and core + * settings for cluster nodes. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesStatsRequest.java index 810133836..4045f9698 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesStatsRequest.java @@ -60,7 +60,8 @@ // typedef: nodes.stats.Request /** - * Returns cluster nodes statistics. + * Get node statistics. Get statistics for nodes in a cluster. By default, all + * stats are returned. You can limit the returned information by using metrics. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesUsageRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesUsageRequest.java index e422d85f2..8b0127991 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesUsageRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/NodesUsageRequest.java @@ -58,7 +58,7 @@ // typedef: nodes.usage.Request /** - * Returns information on the usage of features. + * Get feature usage information. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ReloadSecureSettingsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ReloadSecureSettingsRequest.java index b7cfd67fa..b97d633cc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ReloadSecureSettingsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/nodes/ReloadSecureSettingsRequest.java @@ -60,7 +60,22 @@ // typedef: nodes.reload_secure_settings.Request /** - * Reloads the keystore on nodes in the cluster. + * Reload the keystore on nodes in the cluster. + *

    + * Secure settings are stored in an on-disk keystore. Certain of these settings + * are reloadable. That is, you can change them on disk and reload them without + * restarting any nodes in the cluster. When you have updated reloadable secure + * settings in your keystore, you can use this API to reload those settings on + * each node. + *

    + * When the Elasticsearch keystore is password protected and not simply + * obfuscated, you must provide the password for the keystore when you reload + * the secure settings. Reloading the settings for the whole cluster assumes + * that the keystores for all nodes are protected with the same password; this + * method is allowed only when inter-node communications are encrypted. + * Alternatively, you can reload the secure settings on each node by locally + * accessing the API and passing the node-specific Elasticsearch keystore + * password. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/DeleteJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/DeleteJobRequest.java index 8abae242c..bf077086d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/DeleteJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/DeleteJobRequest.java @@ -56,8 +56,36 @@ // typedef: rollup.delete_job.Request /** - * Deletes an existing rollup job. + * Delete a rollup job. + *

    + * A job must be stopped before it can be deleted. If you attempt to delete a + * started job, an error occurs. Similarly, if you attempt to delete a + * nonexistent job, an exception occurs. + *

    + * IMPORTANT: When you delete a job, you remove only the process that is + * actively monitoring and rolling up data. The API does not delete any + * previously rolled up data. This is by design; a user may wish to roll up a + * static data set. Because the data set is static, after it has been fully + * rolled up there is no need to keep the indexing rollup job around (as there + * will be no new data). Thus the job can be deleted, leaving behind the rolled + * up data for analysis. If you wish to also remove the rollup data and the + * rollup index contains the data for only a single job, you can delete the + * whole rollup index. If the rollup index stores data from several jobs, you + * must issue a delete-by-query that targets the rollup job's identifier in the + * rollup index. For example: * + *

    + * POST my_rollup_index/_delete_by_query
    + * {
    + *   "query": {
    + *     "term": {
    + *       "_rollup.id": "the_rollup_job_id"
    + *     }
    + *   }
    + * }
    + * 
    + * 
    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java index f564b55ba..1c5b12922 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java @@ -70,8 +70,36 @@ public ElasticsearchRollupAsyncClient withTransportOptions(@Nullable TransportOp // ----- Endpoint: rollup.delete_job /** - * Deletes an existing rollup job. + * Delete a rollup job. + *

    + * A job must be stopped before it can be deleted. If you attempt to delete a + * started job, an error occurs. Similarly, if you attempt to delete a + * nonexistent job, an exception occurs. + *

    + * IMPORTANT: When you delete a job, you remove only the process that is + * actively monitoring and rolling up data. The API does not delete any + * previously rolled up data. This is by design; a user may wish to roll up a + * static data set. Because the data set is static, after it has been fully + * rolled up there is no need to keep the indexing rollup job around (as there + * will be no new data). Thus the job can be deleted, leaving behind the rolled + * up data for analysis. If you wish to also remove the rollup data and the + * rollup index contains the data for only a single job, you can delete the + * whole rollup index. If the rollup index stores data from several jobs, you + * must issue a delete-by-query that targets the rollup job's identifier in the + * rollup index. For example: * + *

    +	 * POST my_rollup_index/_delete_by_query
    +	 * {
    +	 *   "query": {
    +	 *     "term": {
    +	 *       "_rollup.id": "the_rollup_job_id"
    +	 *     }
    +	 *   }
    +	 * }
    +	 * 
    +	 * 
    + * * @see Documentation * on elastic.co @@ -85,8 +113,36 @@ public CompletableFuture deleteJob(DeleteJobRequest request) } /** - * Deletes an existing rollup job. + * Delete a rollup job. + *

    + * A job must be stopped before it can be deleted. If you attempt to delete a + * started job, an error occurs. Similarly, if you attempt to delete a + * nonexistent job, an exception occurs. + *

    + * IMPORTANT: When you delete a job, you remove only the process that is + * actively monitoring and rolling up data. The API does not delete any + * previously rolled up data. This is by design; a user may wish to roll up a + * static data set. Because the data set is static, after it has been fully + * rolled up there is no need to keep the indexing rollup job around (as there + * will be no new data). Thus the job can be deleted, leaving behind the rolled + * up data for analysis. If you wish to also remove the rollup data and the + * rollup index contains the data for only a single job, you can delete the + * whole rollup index. If the rollup index stores data from several jobs, you + * must issue a delete-by-query that targets the rollup job's identifier in the + * rollup index. For example: * + *

    +	 * POST my_rollup_index/_delete_by_query
    +	 * {
    +	 *   "query": {
    +	 *     "term": {
    +	 *       "_rollup.id": "the_rollup_job_id"
    +	 *     }
    +	 *   }
    +	 * }
    +	 * 
    +	 * 
    + * * @param fn * a function that initializes a builder to create the * {@link DeleteJobRequest} @@ -103,7 +159,13 @@ public final CompletableFuture deleteJob( // ----- Endpoint: rollup.get_jobs /** - * Retrieves the configuration, stats, and status of rollup jobs. + * Get rollup job information. Get the configuration, stats, and status of + * rollup jobs. + *

    + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @see Documentation @@ -118,7 +180,13 @@ public CompletableFuture getJobs(GetJobsRequest request) { } /** - * Retrieves the configuration, stats, and status of rollup jobs. + * Get rollup job information. Get the configuration, stats, and status of + * rollup jobs. + *

    + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @param fn * a function that initializes a builder to create the @@ -134,7 +202,13 @@ public final CompletableFuture getJobs( } /** - * Retrieves the configuration, stats, and status of rollup jobs. + * Get rollup job information. Get the configuration, stats, and status of + * rollup jobs. + *

    + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @see Documentation @@ -149,9 +223,21 @@ public CompletableFuture getJobs() { // ----- Endpoint: rollup.get_rollup_caps /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @see Documentation * on elastic.co @@ -165,9 +251,21 @@ public CompletableFuture getRollupCaps(GetRollupCapsReque } /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @param fn * a function that initializes a builder to create the * {@link GetRollupCapsRequest} @@ -182,9 +280,21 @@ public final CompletableFuture getRollupCaps( } /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @see Documentation * on elastic.co @@ -198,9 +308,17 @@ public CompletableFuture getRollupCaps() { // ----- Endpoint: rollup.get_rollup_index_caps /** - * Returns the rollup capabilities of all jobs inside of a rollup index (for - * example, the index where rollup data is stored). - * + * Get the rollup index capabilities. Get the rollup capabilities of all jobs + * inside of a rollup index. A single rollup index may store the data for + * multiple rollup jobs and may have a variety of capabilities depending on + * those jobs. This API enables you to determine: + *
      + *
    • What jobs are stored in an index (or indices specified via a + * pattern)?
    • + *
    • What target indices were rolled up, what fields were used in those + * rollups, and what aggregations can be performed on each job?
    • + *
    + * * @see Documentation * on elastic.co @@ -214,9 +332,17 @@ public CompletableFuture getRollupIndexCaps(GetRollu } /** - * Returns the rollup capabilities of all jobs inside of a rollup index (for - * example, the index where rollup data is stored). - * + * Get the rollup index capabilities. Get the rollup capabilities of all jobs + * inside of a rollup index. A single rollup index may store the data for + * multiple rollup jobs and may have a variety of capabilities depending on + * those jobs. This API enables you to determine: + *
      + *
    • What jobs are stored in an index (or indices specified via a + * pattern)?
    • + *
    • What target indices were rolled up, what fields were used in those + * rollups, and what aggregations can be performed on each job?
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link GetRollupIndexCapsRequest} @@ -233,7 +359,23 @@ public final CompletableFuture getRollupIndexCaps( // ----- Endpoint: rollup.put_job /** - * Creates a rollup job. + * Create a rollup job. + *

    + * WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will + * fail with a message about the deprecation and planned removal of rollup + * features. A cluster needs to contain either a rollup job or a rollup index in + * order for this API to be allowed to run. + *

    + * The rollup job configuration contains all the details about how the job + * should run, when it indexes documents, and what future queries will be able + * to run against the rollup index. + *

    + * There are three main sections to the job configuration: the logistical + * details about the job (for example, the cron schedule), the fields that are + * used for grouping, and what metrics to collect for each group. + *

    + * Jobs are created in a STOPPED state. You can start them with the + * start rollup jobs API. * * @see Documentation @@ -248,7 +390,23 @@ public CompletableFuture putJob(PutJobRequest request) { } /** - * Creates a rollup job. + * Create a rollup job. + *

    + * WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will + * fail with a message about the deprecation and planned removal of rollup + * features. A cluster needs to contain either a rollup job or a rollup index in + * order for this API to be allowed to run. + *

    + * The rollup job configuration contains all the details about how the job + * should run, when it indexes documents, and what future queries will be able + * to run against the rollup index. + *

    + * There are three main sections to the job configuration: the logistical + * details about the job (for example, the cron schedule), the fields that are + * used for grouping, and what metrics to collect for each group. + *

    + * Jobs are created in a STOPPED state. You can start them with the + * start rollup jobs API. * * @param fn * a function that initializes a builder to create the @@ -266,7 +424,11 @@ public final CompletableFuture putJob( // ----- Endpoint: rollup.rollup_search /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @see Documentation @@ -285,7 +447,11 @@ public CompletableFuture> rollupSear } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @param fn * a function that initializes a builder to create the @@ -302,7 +468,11 @@ public final CompletableFuture> roll } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @see Documentation @@ -321,7 +491,11 @@ public CompletableFuture> rollupSear } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @param fn * a function that initializes a builder to create the @@ -339,7 +513,9 @@ public final CompletableFuture> roll // ----- Endpoint: rollup.start_job /** - * Starts an existing, stopped rollup job. + * Start rollup jobs. If you try to start a job that does not exist, an + * exception occurs. If you try to start a job that is already started, nothing + * happens. * * @see Documentation @@ -354,7 +530,9 @@ public CompletableFuture startJob(StartJobRequest request) { } /** - * Starts an existing, stopped rollup job. + * Start rollup jobs. If you try to start a job that does not exist, an + * exception occurs. If you try to start a job that is already started, nothing + * happens. * * @param fn * a function that initializes a builder to create the @@ -372,7 +550,8 @@ public final CompletableFuture startJob( // ----- Endpoint: rollup.stop_job /** - * Stops an existing, started rollup job. + * Stop rollup jobs. If you try to stop a job that does not exist, an exception + * occurs. If you try to stop a job that is already stopped, nothing happens. * * @see Documentation @@ -387,7 +566,8 @@ public CompletableFuture stopJob(StopJobRequest request) { } /** - * Stops an existing, started rollup job. + * Stop rollup jobs. If you try to stop a job that does not exist, an exception + * occurs. If you try to stop a job that is already stopped, nothing happens. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java index f8b4584cc..021e3f572 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java @@ -70,8 +70,36 @@ public ElasticsearchRollupClient withTransportOptions(@Nullable TransportOptions // ----- Endpoint: rollup.delete_job /** - * Deletes an existing rollup job. + * Delete a rollup job. + *

    + * A job must be stopped before it can be deleted. If you attempt to delete a + * started job, an error occurs. Similarly, if you attempt to delete a + * nonexistent job, an exception occurs. + *

    + * IMPORTANT: When you delete a job, you remove only the process that is + * actively monitoring and rolling up data. The API does not delete any + * previously rolled up data. This is by design; a user may wish to roll up a + * static data set. Because the data set is static, after it has been fully + * rolled up there is no need to keep the indexing rollup job around (as there + * will be no new data). Thus the job can be deleted, leaving behind the rolled + * up data for analysis. If you wish to also remove the rollup data and the + * rollup index contains the data for only a single job, you can delete the + * whole rollup index. If the rollup index stores data from several jobs, you + * must issue a delete-by-query that targets the rollup job's identifier in the + * rollup index. For example: * + *

    +	 * POST my_rollup_index/_delete_by_query
    +	 * {
    +	 *   "query": {
    +	 *     "term": {
    +	 *       "_rollup.id": "the_rollup_job_id"
    +	 *     }
    +	 *   }
    +	 * }
    +	 * 
    +	 * 
    + * * @see Documentation * on elastic.co @@ -85,8 +113,36 @@ public DeleteJobResponse deleteJob(DeleteJobRequest request) throws IOException, } /** - * Deletes an existing rollup job. + * Delete a rollup job. + *

    + * A job must be stopped before it can be deleted. If you attempt to delete a + * started job, an error occurs. Similarly, if you attempt to delete a + * nonexistent job, an exception occurs. + *

    + * IMPORTANT: When you delete a job, you remove only the process that is + * actively monitoring and rolling up data. The API does not delete any + * previously rolled up data. This is by design; a user may wish to roll up a + * static data set. Because the data set is static, after it has been fully + * rolled up there is no need to keep the indexing rollup job around (as there + * will be no new data). Thus the job can be deleted, leaving behind the rolled + * up data for analysis. If you wish to also remove the rollup data and the + * rollup index contains the data for only a single job, you can delete the + * whole rollup index. If the rollup index stores data from several jobs, you + * must issue a delete-by-query that targets the rollup job's identifier in the + * rollup index. For example: * + *

    +	 * POST my_rollup_index/_delete_by_query
    +	 * {
    +	 *   "query": {
    +	 *     "term": {
    +	 *       "_rollup.id": "the_rollup_job_id"
    +	 *     }
    +	 *   }
    +	 * }
    +	 * 
    +	 * 
    + * * @param fn * a function that initializes a builder to create the * {@link DeleteJobRequest} @@ -103,7 +159,13 @@ public final DeleteJobResponse deleteJob(Function + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @see Documentation @@ -118,7 +180,13 @@ public GetJobsResponse getJobs(GetJobsRequest request) throws IOException, Elast } /** - * Retrieves the configuration, stats, and status of rollup jobs. + * Get rollup job information. Get the configuration, stats, and status of + * rollup jobs. + *

    + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @param fn * a function that initializes a builder to create the @@ -134,7 +202,13 @@ public final GetJobsResponse getJobs(Function + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @see Documentation @@ -149,9 +223,21 @@ public GetJobsResponse getJobs() throws IOException, ElasticsearchException { // ----- Endpoint: rollup.get_rollup_caps /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @see Documentation * on elastic.co @@ -166,9 +252,21 @@ public GetRollupCapsResponse getRollupCaps(GetRollupCapsRequest request) } /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @param fn * a function that initializes a builder to create the * {@link GetRollupCapsRequest} @@ -184,9 +282,21 @@ public final GetRollupCapsResponse getRollupCaps( } /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @see Documentation * on elastic.co @@ -200,9 +310,17 @@ public GetRollupCapsResponse getRollupCaps() throws IOException, ElasticsearchEx // ----- Endpoint: rollup.get_rollup_index_caps /** - * Returns the rollup capabilities of all jobs inside of a rollup index (for - * example, the index where rollup data is stored). - * + * Get the rollup index capabilities. Get the rollup capabilities of all jobs + * inside of a rollup index. A single rollup index may store the data for + * multiple rollup jobs and may have a variety of capabilities depending on + * those jobs. This API enables you to determine: + *
      + *
    • What jobs are stored in an index (or indices specified via a + * pattern)?
    • + *
    • What target indices were rolled up, what fields were used in those + * rollups, and what aggregations can be performed on each job?
    • + *
    + * * @see Documentation * on elastic.co @@ -217,9 +335,17 @@ public GetRollupIndexCapsResponse getRollupIndexCaps(GetRollupIndexCapsRequest r } /** - * Returns the rollup capabilities of all jobs inside of a rollup index (for - * example, the index where rollup data is stored). - * + * Get the rollup index capabilities. Get the rollup capabilities of all jobs + * inside of a rollup index. A single rollup index may store the data for + * multiple rollup jobs and may have a variety of capabilities depending on + * those jobs. This API enables you to determine: + *
      + *
    • What jobs are stored in an index (or indices specified via a + * pattern)?
    • + *
    • What target indices were rolled up, what fields were used in those + * rollups, and what aggregations can be performed on each job?
    • + *
    + * * @param fn * a function that initializes a builder to create the * {@link GetRollupIndexCapsRequest} @@ -237,7 +363,23 @@ public final GetRollupIndexCapsResponse getRollupIndexCaps( // ----- Endpoint: rollup.put_job /** - * Creates a rollup job. + * Create a rollup job. + *

    + * WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will + * fail with a message about the deprecation and planned removal of rollup + * features. A cluster needs to contain either a rollup job or a rollup index in + * order for this API to be allowed to run. + *

    + * The rollup job configuration contains all the details about how the job + * should run, when it indexes documents, and what future queries will be able + * to run against the rollup index. + *

    + * There are three main sections to the job configuration: the logistical + * details about the job (for example, the cron schedule), the fields that are + * used for grouping, and what metrics to collect for each group. + *

    + * Jobs are created in a STOPPED state. You can start them with the + * start rollup jobs API. * * @see Documentation @@ -252,7 +394,23 @@ public PutJobResponse putJob(PutJobRequest request) throws IOException, Elastics } /** - * Creates a rollup job. + * Create a rollup job. + *

    + * WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will + * fail with a message about the deprecation and planned removal of rollup + * features. A cluster needs to contain either a rollup job or a rollup index in + * order for this API to be allowed to run. + *

    + * The rollup job configuration contains all the details about how the job + * should run, when it indexes documents, and what future queries will be able + * to run against the rollup index. + *

    + * There are three main sections to the job configuration: the logistical + * details about the job (for example, the cron schedule), the fields that are + * used for grouping, and what metrics to collect for each group. + *

    + * Jobs are created in a STOPPED state. You can start them with the + * start rollup jobs API. * * @param fn * a function that initializes a builder to create the @@ -270,7 +428,11 @@ public final PutJobResponse putJob(FunctionDocumentation @@ -289,7 +451,11 @@ public RollupSearchResponse rollupSearch(RollupSearchRequ } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @param fn * a function that initializes a builder to create the @@ -306,7 +472,11 @@ public final RollupSearchResponse rollupSearch( } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @see Documentation @@ -325,7 +495,11 @@ public RollupSearchResponse rollupSearch(RollupSearchRequ } /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @param fn * a function that initializes a builder to create the @@ -344,7 +518,9 @@ public final RollupSearchResponse rollupSearch( // ----- Endpoint: rollup.start_job /** - * Starts an existing, stopped rollup job. + * Start rollup jobs. If you try to start a job that does not exist, an + * exception occurs. If you try to start a job that is already started, nothing + * happens. * * @see Documentation @@ -359,7 +535,9 @@ public StartJobResponse startJob(StartJobRequest request) throws IOException, El } /** - * Starts an existing, stopped rollup job. + * Start rollup jobs. If you try to start a job that does not exist, an + * exception occurs. If you try to start a job that is already started, nothing + * happens. * * @param fn * a function that initializes a builder to create the @@ -377,7 +555,8 @@ public final StartJobResponse startJob(FunctionDocumentation @@ -392,7 +571,8 @@ public StopJobResponse stopJob(StopJobRequest request) throws IOException, Elast } /** - * Stops an existing, started rollup job. + * Stop rollup jobs. If you try to stop a job that does not exist, an exception + * occurs. If you try to stop a job that is already stopped, nothing happens. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetJobsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetJobsRequest.java index 29f9fe583..79ed80012 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetJobsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetJobsRequest.java @@ -55,7 +55,13 @@ // typedef: rollup.get_jobs.Request /** - * Retrieves the configuration, stats, and status of rollup jobs. + * Get rollup job information. Get the configuration, stats, and status of + * rollup jobs. + *

    + * NOTE: This API returns only active (both STARTED and + * STOPPED) jobs. If a job was created, ran for a while, then was + * deleted, the API does not return any details about it. For details about a + * historical rollup job, the rollup capabilities API may be more useful. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupCapsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupCapsRequest.java index 7f1a32ac5..43f2c701d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupCapsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupCapsRequest.java @@ -55,9 +55,21 @@ // typedef: rollup.get_rollup_caps.Request /** - * Returns the capabilities of any rollup jobs that have been configured for a - * specific index or index pattern. - * + * Get the rollup job capabilities. Get the capabilities of any rollup jobs that + * have been configured for a specific index or index pattern. + *

    + * This API is useful because a rollup job is often configured to rollup only a + * subset of fields from the source index. Furthermore, only certain + * aggregations can be configured for various fields, leading to a limited + * subset of functionality depending on that configuration. This API enables you + * to inspect an index and determine: + *

      + *
    1. Does this index have associated rollup data somewhere in the + * cluster?
    2. + *
    3. If yes to the first question, what fields were rolled up, what + * aggregations can be performed, and where does the data live?
    4. + *
    + * * @see API * specification */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupIndexCapsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupIndexCapsRequest.java index d4f711672..72aef2df2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupIndexCapsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/GetRollupIndexCapsRequest.java @@ -58,9 +58,17 @@ // typedef: rollup.get_rollup_index_caps.Request /** - * Returns the rollup capabilities of all jobs inside of a rollup index (for - * example, the index where rollup data is stored). - * + * Get the rollup index capabilities. Get the rollup capabilities of all jobs + * inside of a rollup index. A single rollup index may store the data for + * multiple rollup jobs and may have a variety of capabilities depending on + * those jobs. This API enables you to determine: + *
      + *
    • What jobs are stored in an index (or indices specified via a + * pattern)?
    • + *
    • What target indices were rolled up, what fields were used in those + * rollups, and what aggregations can be performed on each job?
    • + *
    + * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/PutJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/PutJobRequest.java index f556d0ce9..5e059d002 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/PutJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/PutJobRequest.java @@ -61,7 +61,23 @@ // typedef: rollup.put_job.Request /** - * Creates a rollup job. + * Create a rollup job. + *

    + * WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will + * fail with a message about the deprecation and planned removal of rollup + * features. A cluster needs to contain either a rollup job or a rollup index in + * order for this API to be allowed to run. + *

    + * The rollup job configuration contains all the details about how the job + * should run, when it indexes documents, and what future queries will be able + * to run against the rollup index. + *

    + * There are three main sections to the job configuration: the logistical + * details about the job (for example, the cron schedule), the fields that are + * used for grouping, and what metrics to collect for each group. + *

    + * Jobs are created in a STOPPED state. You can start them with the + * start rollup jobs API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java index 0eab9af1c..0d9cc55f8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java @@ -63,7 +63,11 @@ // typedef: rollup.rollup_search.Request /** - * Enables searching rolled-up data using the standard Query DSL. + * Search rolled-up data. The rollup search endpoint is needed because, + * internally, rolled-up documents utilize a different document structure than + * the original data. It rewrites standard Query DSL into a format that matches + * the rollup documents then takes the response and rewrites it back to what a + * client would expect given the original query. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StartJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StartJobRequest.java index dc63e9189..4d44c46ff 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StartJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StartJobRequest.java @@ -56,7 +56,9 @@ // typedef: rollup.start_job.Request /** - * Starts an existing, stopped rollup job. + * Start rollup jobs. If you try to start a job that does not exist, an + * exception occurs. If you try to start a job that is already started, nothing + * happens. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StopJobRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StopJobRequest.java index 08eb7d861..8df95af37 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StopJobRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/StopJobRequest.java @@ -57,7 +57,8 @@ // typedef: rollup.stop_job.Request /** - * Stops an existing, started rollup job. + * Stop rollup jobs. If you try to stop a job that does not exist, an exception + * occurs. If you try to stop a job that is already stopped, nothing happens. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/CacheStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/CacheStatsRequest.java index c807e9642..0d8d16b7c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/CacheStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/CacheStatsRequest.java @@ -58,7 +58,8 @@ // typedef: searchable_snapshots.cache_stats.Request /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ClearCacheRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ClearCacheRequest.java index 771e420e7..d5362ffb4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ClearCacheRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ClearCacheRequest.java @@ -59,7 +59,8 @@ // typedef: searchable_snapshots.clear_cache.Request /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsAsyncClient.java index 175f5f222..338f1d307 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsAsyncClient.java @@ -71,7 +71,8 @@ public ElasticsearchSearchableSnapshotsAsyncClient withTransportOptions( // ----- Endpoint: searchable_snapshots.cache_stats /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @see Documentation @@ -86,7 +87,8 @@ public CompletableFuture cacheStats(CacheStatsRequest reques } /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @param fn * a function that initializes a builder to create the @@ -102,7 +104,8 @@ public final CompletableFuture cacheStats( } /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @see Documentation @@ -117,7 +120,8 @@ public CompletableFuture cacheStats() { // ----- Endpoint: searchable_snapshots.clear_cache /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @see Documentation @@ -132,7 +136,8 @@ public CompletableFuture clearCache(ClearCacheRequest reques } /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @param fn * a function that initializes a builder to create the @@ -148,7 +153,8 @@ public final CompletableFuture clearCache( } /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @see Documentation @@ -163,7 +169,9 @@ public CompletableFuture clearCache() { // ----- Endpoint: searchable_snapshots.mount /** - * Mount a snapshot as a searchable index. + * Mount a snapshot. Mount a snapshot as a searchable snapshot index. Do not use + * this API for snapshots managed by index lifecycle management (ILM). Manually + * mounting ILM-managed snapshots can interfere with ILM processes. * * @see Documentation @@ -178,7 +186,9 @@ public CompletableFuture mount(MountRequest request) { } /** - * Mount a snapshot as a searchable index. + * Mount a snapshot. Mount a snapshot as a searchable snapshot index. Do not use + * this API for snapshots managed by index lifecycle management (ILM). Manually + * mounting ILM-managed snapshots can interfere with ILM processes. * * @param fn * a function that initializes a builder to create the @@ -196,7 +206,7 @@ public final CompletableFuture mount( // ----- Endpoint: searchable_snapshots.stats /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @see Documentation @@ -211,7 +221,7 @@ public CompletableFuture stats(SearchableSnaps } /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @param fn * a function that initializes a builder to create the @@ -227,7 +237,7 @@ public final CompletableFuture stats( } /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsClient.java index 3280a28f0..6f57e841e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/ElasticsearchSearchableSnapshotsClient.java @@ -71,7 +71,8 @@ public ElasticsearchSearchableSnapshotsClient withTransportOptions(@Nullable Tra // ----- Endpoint: searchable_snapshots.cache_stats /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @see Documentation @@ -86,7 +87,8 @@ public CacheStatsResponse cacheStats(CacheStatsRequest request) throws IOExcepti } /** - * Retrieve node-level cache statistics about searchable snapshots. + * Get cache statistics. Get statistics about the shared cache for partially + * mounted indices. * * @param fn * a function that initializes a builder to create the @@ -102,7 +104,8 @@ public final CacheStatsResponse cacheStats(FunctionDocumentation @@ -117,7 +120,8 @@ public CacheStatsResponse cacheStats() throws IOException, ElasticsearchExceptio // ----- Endpoint: searchable_snapshots.clear_cache /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @see Documentation @@ -132,7 +136,8 @@ public ClearCacheResponse clearCache(ClearCacheRequest request) throws IOExcepti } /** - * Clear the cache of searchable snapshots. + * Clear the cache. Clear indices and data streams from the shared cache for + * partially mounted indices. * * @param fn * a function that initializes a builder to create the @@ -148,7 +153,8 @@ public final ClearCacheResponse clearCache(FunctionDocumentation @@ -163,7 +169,9 @@ public ClearCacheResponse clearCache() throws IOException, ElasticsearchExceptio // ----- Endpoint: searchable_snapshots.mount /** - * Mount a snapshot as a searchable index. + * Mount a snapshot. Mount a snapshot as a searchable snapshot index. Do not use + * this API for snapshots managed by index lifecycle management (ILM). Manually + * mounting ILM-managed snapshots can interfere with ILM processes. * * @see Documentation @@ -178,7 +186,9 @@ public MountResponse mount(MountRequest request) throws IOException, Elasticsear } /** - * Mount a snapshot as a searchable index. + * Mount a snapshot. Mount a snapshot as a searchable snapshot index. Do not use + * this API for snapshots managed by index lifecycle management (ILM). Manually + * mounting ILM-managed snapshots can interfere with ILM processes. * * @param fn * a function that initializes a builder to create the @@ -196,7 +206,7 @@ public final MountResponse mount(FunctionDocumentation @@ -212,7 +222,7 @@ public SearchableSnapshotsStatsResponse stats(SearchableSnapshotsStatsRequest re } /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @param fn * a function that initializes a builder to create the @@ -229,7 +239,7 @@ public final SearchableSnapshotsStatsResponse stats( } /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/MountRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/MountRequest.java index aa2964a80..1cd7ce354 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/MountRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/MountRequest.java @@ -61,7 +61,9 @@ // typedef: searchable_snapshots.mount.Request /** - * Mount a snapshot as a searchable index. + * Mount a snapshot. Mount a snapshot as a searchable snapshot index. Do not use + * this API for snapshots managed by index lifecycle management (ILM). Manually + * mounting ILM-managed snapshots can interfere with ILM processes. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/SearchableSnapshotsStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/SearchableSnapshotsStatsRequest.java index 33630a60d..7b37b9e90 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/SearchableSnapshotsStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/searchable_snapshots/SearchableSnapshotsStatsRequest.java @@ -57,7 +57,7 @@ // typedef: searchable_snapshots.stats.Request /** - * Retrieve shard-level statistics about searchable snapshots. + * Get searchable snapshot statistics. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/DeleteNodeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/DeleteNodeRequest.java index cadea1b06..33686353f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/DeleteNodeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/DeleteNodeRequest.java @@ -56,8 +56,17 @@ // typedef: shutdown.delete_node.Request /** - * Removes a node from the shutdown list. Designed for indirect use by ECE/ESS - * and ECK. Direct use is not supported. + * Cancel node shutdown preparations. Remove a node from the shutdown list so it + * can resume normal operations. You must explicitly clear the shutdown request + * when a node rejoins the cluster or when a node has permanently left the + * cluster. Shutdown requests are never removed automatically by Elasticsearch. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownAsyncClient.java index e32836ca0..c9c33f601 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownAsyncClient.java @@ -70,8 +70,17 @@ public ElasticsearchShutdownAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: shutdown.delete_node /** - * Removes a node from the shutdown list. Designed for indirect use by ECE/ESS - * and ECK. Direct use is not supported. + * Cancel node shutdown preparations. Remove a node from the shutdown list so it + * can resume normal operations. You must explicitly clear the shutdown request + * when a node rejoins the cluster or when a node has permanently left the + * cluster. Shutdown requests are never removed automatically by Elasticsearch. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -86,8 +95,17 @@ public CompletableFuture deleteNode(DeleteNodeRequest reques } /** - * Removes a node from the shutdown list. Designed for indirect use by ECE/ESS - * and ECK. Direct use is not supported. + * Cancel node shutdown preparations. Remove a node from the shutdown list so it + * can resume normal operations. You must explicitly clear the shutdown request + * when a node rejoins the cluster or when a node has permanently left the + * cluster. Shutdown requests are never removed automatically by Elasticsearch. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @param fn * a function that initializes a builder to create the @@ -105,9 +123,18 @@ public final CompletableFuture deleteNode( // ----- Endpoint: shutdown.get_node /** - * Retrieve status of a node or nodes that are currently marked as shutting - * down. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the shutdown status. + *

    + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -122,9 +149,18 @@ public CompletableFuture getNode(GetNodeRequest request) { } /** - * Retrieve status of a node or nodes that are currently marked as shutting - * down. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the shutdown status. + *

    + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @param fn * a function that initializes a builder to create the @@ -140,9 +176,18 @@ public final CompletableFuture getNode( } /** - * Retrieve status of a node or nodes that are currently marked as shutting - * down. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the shutdown status. + *

    + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -157,8 +202,26 @@ public CompletableFuture getNode() { // ----- Endpoint: shutdown.put_node /** - * Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Prepare a node to be shut down. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. + *

    + * The API migrates ongoing tasks and index shards to other nodes as needed to + * prepare a node to be restarted or shut down and removed from the cluster. + * This ensures that Elasticsearch can be stopped safely with minimal disruption + * to the cluster. + *

    + * You must specify the type of shutdown: restart, + * remove, or replace. If a node is already being + * prepared for shutdown, you can use this API to change the shutdown type. + *

    + * IMPORTANT: This API does NOT terminate the Elasticsearch process. Monitor the + * node shutdown status to determine when it is safe to stop Elasticsearch. * * @see Documentation @@ -173,8 +236,26 @@ public CompletableFuture putNode(PutNodeRequest request) { } /** - * Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Prepare a node to be shut down. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. + *

    + * The API migrates ongoing tasks and index shards to other nodes as needed to + * prepare a node to be restarted or shut down and removed from the cluster. + * This ensures that Elasticsearch can be stopped safely with minimal disruption + * to the cluster. + *

    + * You must specify the type of shutdown: restart, + * remove, or replace. If a node is already being + * prepared for shutdown, you can use this API to change the shutdown type. + *

    + * IMPORTANT: This API does NOT terminate the Elasticsearch process. Monitor the + * node shutdown status to determine when it is safe to stop Elasticsearch. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownClient.java index d697c22ee..840334b97 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/ElasticsearchShutdownClient.java @@ -68,8 +68,17 @@ public ElasticsearchShutdownClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: shutdown.delete_node /** - * Removes a node from the shutdown list. Designed for indirect use by ECE/ESS - * and ECK. Direct use is not supported. + * Cancel node shutdown preparations. Remove a node from the shutdown list so it + * can resume normal operations. You must explicitly clear the shutdown request + * when a node rejoins the cluster or when a node has permanently left the + * cluster. Shutdown requests are never removed automatically by Elasticsearch. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -84,8 +93,17 @@ public DeleteNodeResponse deleteNode(DeleteNodeRequest request) throws IOExcepti } /** - * Removes a node from the shutdown list. Designed for indirect use by ECE/ESS - * and ECK. Direct use is not supported. + * Cancel node shutdown preparations. Remove a node from the shutdown list so it + * can resume normal operations. You must explicitly clear the shutdown request + * when a node rejoins the cluster or when a node has permanently left the + * cluster. Shutdown requests are never removed automatically by Elasticsearch. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @param fn * a function that initializes a builder to create the @@ -103,9 +121,18 @@ public final DeleteNodeResponse deleteNode(Function + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -120,9 +147,18 @@ public GetNodeResponse getNode(GetNodeRequest request) throws IOException, Elast } /** - * Retrieve status of a node or nodes that are currently marked as shutting - * down. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the shutdown status. + *

    + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @param fn * a function that initializes a builder to create the @@ -138,9 +174,18 @@ public final GetNodeResponse getNode(Function + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see Documentation @@ -155,8 +200,26 @@ public GetNodeResponse getNode() throws IOException, ElasticsearchException { // ----- Endpoint: shutdown.put_node /** - * Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Prepare a node to be shut down. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. + *

    + * The API migrates ongoing tasks and index shards to other nodes as needed to + * prepare a node to be restarted or shut down and removed from the cluster. + * This ensures that Elasticsearch can be stopped safely with minimal disruption + * to the cluster. + *

    + * You must specify the type of shutdown: restart, + * remove, or replace. If a node is already being + * prepared for shutdown, you can use this API to change the shutdown type. + *

    + * IMPORTANT: This API does NOT terminate the Elasticsearch process. Monitor the + * node shutdown status to determine when it is safe to stop Elasticsearch. * * @see Documentation @@ -171,8 +234,26 @@ public PutNodeResponse putNode(PutNodeRequest request) throws IOException, Elast } /** - * Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Prepare a node to be shut down. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. + *

    + * The API migrates ongoing tasks and index shards to other nodes as needed to + * prepare a node to be restarted or shut down and removed from the cluster. + * This ensures that Elasticsearch can be stopped safely with minimal disruption + * to the cluster. + *

    + * You must specify the type of shutdown: restart, + * remove, or replace. If a node is already being + * prepared for shutdown, you can use this API to change the shutdown type. + *

    + * IMPORTANT: This API does NOT terminate the Elasticsearch process. Monitor the + * node shutdown status to determine when it is safe to stop Elasticsearch. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/GetNodeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/GetNodeRequest.java index 42ee075c2..1c3dee599 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/GetNodeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/GetNodeRequest.java @@ -58,9 +58,18 @@ // typedef: shutdown.get_node.Request /** - * Retrieve status of a node or nodes that are currently marked as shutting - * down. Designed for indirect use by ECE/ESS and ECK. Direct use is not + * Get the shutdown status. + *

    + * Get information about nodes that are ready to be shut down, have shut down + * preparations still in progress, or have stalled. The API returns status + * information for each part of the shut down process. + *

    + * NOTE: This feature is designed for indirect use by Elasticsearch Service, + * Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/PutNodeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/PutNodeRequest.java index 0eaa0a97b..af64a69ab 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/PutNodeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/shutdown/PutNodeRequest.java @@ -58,8 +58,26 @@ // typedef: shutdown.put_node.Request /** - * Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. - * Direct use is not supported. + * Prepare a node to be shut down. + *

    + * NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic + * Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not + * supported. + *

    + * If the operator privileges feature is enabled, you must be an operator to use + * this API. + *

    + * The API migrates ongoing tasks and index shards to other nodes as needed to + * prepare a node to be restarted or shut down and removed from the cluster. + * This ensures that Elasticsearch can be stopped safely with minimal disruption + * to the cluster. + *

    + * You must specify the type of shutdown: restart, + * remove, or replace. If a node is already being + * prepared for shutdown, you can use this API to change the shutdown type. + *

    + * IMPORTANT: This API does NOT terminate the Elasticsearch process. Monitor the + * node shutdown status to determine when it is safe to stop Elasticsearch. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/DeleteLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/DeleteLifecycleRequest.java index ef16269fb..c49fcccfc 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/DeleteLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/DeleteLifecycleRequest.java @@ -56,7 +56,9 @@ // typedef: slm.delete_lifecycle.Request /** - * Deletes an existing snapshot lifecycle policy. + * Delete a policy. Delete a snapshot lifecycle policy definition. This + * operation prevents any future snapshots from being taken but does not cancel + * in-progress snapshots or remove previously-taken snapshots. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmAsyncClient.java index 43a51bc51..85e081f42 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmAsyncClient.java @@ -67,7 +67,9 @@ public ElasticsearchSlmAsyncClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: slm.delete_lifecycle /** - * Deletes an existing snapshot lifecycle policy. + * Delete a policy. Delete a snapshot lifecycle policy definition. This + * operation prevents any future snapshots from being taken but does not cancel + * in-progress snapshots or remove previously-taken snapshots. * * @see Documentation @@ -82,7 +84,9 @@ public CompletableFuture deleteLifecycle(DeleteLifecycl } /** - * Deletes an existing snapshot lifecycle policy. + * Delete a policy. Delete a snapshot lifecycle policy definition. This + * operation prevents any future snapshots from being taken but does not cancel + * in-progress snapshots or remove previously-taken snapshots. * * @param fn * a function that initializes a builder to create the @@ -100,8 +104,10 @@ public final CompletableFuture deleteLifecycle( // ----- Endpoint: slm.execute_lifecycle /** - * Immediately creates a snapshot according to the lifecycle policy, without - * waiting for the scheduled time. + * Run a policy. Immediately create a snapshot according to the snapshot + * lifecycle policy without waiting for the scheduled time. The snapshot policy + * is normally applied according to its schedule, but you might want to manually + * run a policy before performing an upgrade or other maintenance. * * @see Documentation @@ -116,8 +122,10 @@ public CompletableFuture executeLifecycle(ExecuteLifec } /** - * Immediately creates a snapshot according to the lifecycle policy, without - * waiting for the scheduled time. + * Run a policy. Immediately create a snapshot according to the snapshot + * lifecycle policy without waiting for the scheduled time. The snapshot policy + * is normally applied according to its schedule, but you might want to manually + * run a policy before performing an upgrade or other maintenance. * * @param fn * a function that initializes a builder to create the @@ -135,8 +143,10 @@ public final CompletableFuture executeLifecycle( // ----- Endpoint: slm.execute_retention /** - * Deletes any snapshots that are expired according to the policy's retention - * rules. + * Run a retention policy. Manually apply the retention policy to force + * immediate removal of snapshots that are expired according to the snapshot + * lifecycle policy retention rules. The retention policy is normally applied + * according to its schedule. * * @see Documentation @@ -150,8 +160,8 @@ public CompletableFuture executeRetention() { // ----- Endpoint: slm.get_lifecycle /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @see Documentation @@ -166,8 +176,8 @@ public CompletableFuture getLifecycle(GetLifecycleRequest } /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @param fn * a function that initializes a builder to create the @@ -183,8 +193,8 @@ public final CompletableFuture getLifecycle( } /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @see Documentation @@ -199,8 +209,8 @@ public CompletableFuture getLifecycle() { // ----- Endpoint: slm.get_stats /** - * Returns global and policy-level statistics about actions taken by snapshot - * lifecycle management. + * Get snapshot lifecycle management statistics. Get global and policy-level + * statistics about actions taken by snapshot lifecycle management. * * @see Documentation @@ -214,7 +224,7 @@ public CompletableFuture getStats() { // ----- Endpoint: slm.get_status /** - * Retrieves the status of snapshot lifecycle management (SLM). + * Get the snapshot lifecycle management status. * * @see Documentation @@ -228,7 +238,9 @@ public CompletableFuture getStatus() { // ----- Endpoint: slm.put_lifecycle /** - * Creates or updates a snapshot lifecycle policy. + * Create or update a policy. Create or update a snapshot lifecycle policy. If + * the policy already exists, this request increments the policy version. Only + * the latest version of a policy is stored. * * @see Documentation @@ -243,7 +255,9 @@ public CompletableFuture putLifecycle(PutLifecycleRequest } /** - * Creates or updates a snapshot lifecycle policy. + * Create or update a policy. Create or update a snapshot lifecycle policy. If + * the policy already exists, this request increments the policy version. Only + * the latest version of a policy is stored. * * @param fn * a function that initializes a builder to create the @@ -261,7 +275,9 @@ public final CompletableFuture putLifecycle( // ----- Endpoint: slm.start /** - * Turns on snapshot lifecycle management (SLM). + * Start snapshot lifecycle management. Snapshot lifecycle management (SLM) + * starts automatically when a cluster is formed. Manually starting SLM is + * necessary only if it has been stopped using the stop SLM API. * * @see Documentation @@ -275,7 +291,17 @@ public CompletableFuture start() { // ----- Endpoint: slm.stop /** - * Turns off snapshot lifecycle management (SLM). + * Stop snapshot lifecycle management. Stop all snapshot lifecycle management + * (SLM) operations and the SLM plugin. This API is useful when you are + * performing maintenance on a cluster and need to prevent SLM from performing + * any actions on your data streams or indices. Stopping SLM does not stop any + * snapshots that are in progress. You can manually trigger snapshots with the + * run snapshot lifecycle policy API even if SLM is stopped. + *

    + * The API returns a response as soon as the request is acknowledged, but the + * plugin might continue to run until in-progress operations complete and it can + * be safely stopped. Use the get snapshot lifecycle management status API to + * see if SLM is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmClient.java index a6cd5188e..ca233fa6d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ElasticsearchSlmClient.java @@ -68,7 +68,9 @@ public ElasticsearchSlmClient withTransportOptions(@Nullable TransportOptions tr // ----- Endpoint: slm.delete_lifecycle /** - * Deletes an existing snapshot lifecycle policy. + * Delete a policy. Delete a snapshot lifecycle policy definition. This + * operation prevents any future snapshots from being taken but does not cancel + * in-progress snapshots or remove previously-taken snapshots. * * @see Documentation @@ -84,7 +86,9 @@ public DeleteLifecycleResponse deleteLifecycle(DeleteLifecycleRequest request) } /** - * Deletes an existing snapshot lifecycle policy. + * Delete a policy. Delete a snapshot lifecycle policy definition. This + * operation prevents any future snapshots from being taken but does not cancel + * in-progress snapshots or remove previously-taken snapshots. * * @param fn * a function that initializes a builder to create the @@ -103,8 +107,10 @@ public final DeleteLifecycleResponse deleteLifecycle( // ----- Endpoint: slm.execute_lifecycle /** - * Immediately creates a snapshot according to the lifecycle policy, without - * waiting for the scheduled time. + * Run a policy. Immediately create a snapshot according to the snapshot + * lifecycle policy without waiting for the scheduled time. The snapshot policy + * is normally applied according to its schedule, but you might want to manually + * run a policy before performing an upgrade or other maintenance. * * @see Documentation @@ -120,8 +126,10 @@ public ExecuteLifecycleResponse executeLifecycle(ExecuteLifecycleRequest request } /** - * Immediately creates a snapshot according to the lifecycle policy, without - * waiting for the scheduled time. + * Run a policy. Immediately create a snapshot according to the snapshot + * lifecycle policy without waiting for the scheduled time. The snapshot policy + * is normally applied according to its schedule, but you might want to manually + * run a policy before performing an upgrade or other maintenance. * * @param fn * a function that initializes a builder to create the @@ -140,8 +148,10 @@ public final ExecuteLifecycleResponse executeLifecycle( // ----- Endpoint: slm.execute_retention /** - * Deletes any snapshots that are expired according to the policy's retention - * rules. + * Run a retention policy. Manually apply the retention policy to force + * immediate removal of snapshots that are expired according to the snapshot + * lifecycle policy retention rules. The retention policy is normally applied + * according to its schedule. * * @see Documentation @@ -155,8 +165,8 @@ public ExecuteRetentionResponse executeRetention() throws IOException, Elasticse // ----- Endpoint: slm.get_lifecycle /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @see Documentation @@ -171,8 +181,8 @@ public GetLifecycleResponse getLifecycle(GetLifecycleRequest request) throws IOE } /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @param fn * a function that initializes a builder to create the @@ -189,8 +199,8 @@ public final GetLifecycleResponse getLifecycle( } /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @see Documentation @@ -205,8 +215,8 @@ public GetLifecycleResponse getLifecycle() throws IOException, ElasticsearchExce // ----- Endpoint: slm.get_stats /** - * Returns global and policy-level statistics about actions taken by snapshot - * lifecycle management. + * Get snapshot lifecycle management statistics. Get global and policy-level + * statistics about actions taken by snapshot lifecycle management. * * @see Documentation @@ -220,7 +230,7 @@ public GetStatsResponse getStats() throws IOException, ElasticsearchException { // ----- Endpoint: slm.get_status /** - * Retrieves the status of snapshot lifecycle management (SLM). + * Get the snapshot lifecycle management status. * * @see Documentation @@ -234,7 +244,9 @@ public GetSlmStatusResponse getStatus() throws IOException, ElasticsearchExcepti // ----- Endpoint: slm.put_lifecycle /** - * Creates or updates a snapshot lifecycle policy. + * Create or update a policy. Create or update a snapshot lifecycle policy. If + * the policy already exists, this request increments the policy version. Only + * the latest version of a policy is stored. * * @see Documentation @@ -249,7 +261,9 @@ public PutLifecycleResponse putLifecycle(PutLifecycleRequest request) throws IOE } /** - * Creates or updates a snapshot lifecycle policy. + * Create or update a policy. Create or update a snapshot lifecycle policy. If + * the policy already exists, this request increments the policy version. Only + * the latest version of a policy is stored. * * @param fn * a function that initializes a builder to create the @@ -268,7 +282,9 @@ public final PutLifecycleResponse putLifecycle( // ----- Endpoint: slm.start /** - * Turns on snapshot lifecycle management (SLM). + * Start snapshot lifecycle management. Snapshot lifecycle management (SLM) + * starts automatically when a cluster is formed. Manually starting SLM is + * necessary only if it has been stopped using the stop SLM API. * * @see Documentation @@ -282,7 +298,17 @@ public StartSlmResponse start() throws IOException, ElasticsearchException { // ----- Endpoint: slm.stop /** - * Turns off snapshot lifecycle management (SLM). + * Stop snapshot lifecycle management. Stop all snapshot lifecycle management + * (SLM) operations and the SLM plugin. This API is useful when you are + * performing maintenance on a cluster and need to prevent SLM from performing + * any actions on your data streams or indices. Stopping SLM does not stop any + * snapshots that are in progress. You can manually trigger snapshots with the + * run snapshot lifecycle policy API even if SLM is stopped. + *

    + * The API returns a response as soon as the request is acknowledged, but the + * plugin might continue to run until in-progress operations complete and it can + * be safely stopped. Use the get snapshot lifecycle management status API to + * see if SLM is running. * * @see Documentation diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteLifecycleRequest.java index fd0983d7e..abda3524d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteLifecycleRequest.java @@ -56,8 +56,10 @@ // typedef: slm.execute_lifecycle.Request /** - * Immediately creates a snapshot according to the lifecycle policy, without - * waiting for the scheduled time. + * Run a policy. Immediately create a snapshot according to the snapshot + * lifecycle policy without waiting for the scheduled time. The snapshot policy + * is normally applied according to its schedule, but you might want to manually + * run a policy before performing an upgrade or other maintenance. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteRetentionRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteRetentionRequest.java index 57ec5c733..9755c009d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteRetentionRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/ExecuteRetentionRequest.java @@ -50,8 +50,10 @@ // typedef: slm.execute_retention.Request /** - * Deletes any snapshots that are expired according to the policy's retention - * rules. + * Run a retention policy. Manually apply the retention policy to force + * immediate removal of snapshots that are expired according to the snapshot + * lifecycle policy retention rules. The retention policy is normally applied + * according to its schedule. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetLifecycleRequest.java index 6df555883..f7b866993 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetLifecycleRequest.java @@ -58,8 +58,8 @@ // typedef: slm.get_lifecycle.Request /** - * Retrieves one or more snapshot lifecycle policy definitions and information - * about the latest snapshot attempts. + * Get policy information. Get snapshot lifecycle policy definitions and + * information about the latest snapshot attempts. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetSlmStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetSlmStatusRequest.java index d575fbbe7..fe707abbf 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetSlmStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetSlmStatusRequest.java @@ -50,7 +50,7 @@ // typedef: slm.get_status.Request /** - * Retrieves the status of snapshot lifecycle management (SLM). + * Get the snapshot lifecycle management status. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetStatsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetStatsRequest.java index 9fd0ed656..bd7b30c49 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetStatsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/GetStatsRequest.java @@ -50,8 +50,8 @@ // typedef: slm.get_stats.Request /** - * Returns global and policy-level statistics about actions taken by snapshot - * lifecycle management. + * Get snapshot lifecycle management statistics. Get global and policy-level + * statistics about actions taken by snapshot lifecycle management. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/PutLifecycleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/PutLifecycleRequest.java index ad68597ae..5f1803804 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/PutLifecycleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/PutLifecycleRequest.java @@ -58,7 +58,9 @@ // typedef: slm.put_lifecycle.Request /** - * Creates or updates a snapshot lifecycle policy. + * Create or update a policy. Create or update a snapshot lifecycle policy. If + * the policy already exists, this request increments the policy version. Only + * the latest version of a policy is stored. * * @see API * specification @@ -141,7 +143,8 @@ public final String name() { } /** - * Required - ID for the snapshot lifecycle policy you want to create or update. + * Required - The identifier for the snapshot lifecycle policy you want to + * create or update. *

    * API name: {@code policy_id} */ @@ -317,7 +320,8 @@ public final Builder name(@Nullable String value) { } /** - * Required - ID for the snapshot lifecycle policy you want to create or update. + * Required - The identifier for the snapshot lifecycle policy you want to + * create or update. *

    * API name: {@code policy_id} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StartSlmRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StartSlmRequest.java index 2be9ce3f7..c6ae7dcd9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StartSlmRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StartSlmRequest.java @@ -50,7 +50,9 @@ // typedef: slm.start.Request /** - * Turns on snapshot lifecycle management (SLM). + * Start snapshot lifecycle management. Snapshot lifecycle management (SLM) + * starts automatically when a cluster is formed. Manually starting SLM is + * necessary only if it has been stopped using the stop SLM API. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StopSlmRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StopSlmRequest.java index bc7a32f73..89925a268 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StopSlmRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/slm/StopSlmRequest.java @@ -50,7 +50,17 @@ // typedef: slm.stop.Request /** - * Turns off snapshot lifecycle management (SLM). + * Stop snapshot lifecycle management. Stop all snapshot lifecycle management + * (SLM) operations and the SLM plugin. This API is useful when you are + * performing maintenance on a cluster and need to prevent SLM from performing + * any actions on your data streams or indices. Stopping SLM does not stop any + * snapshots that are in progress. You can manually trigger snapshots with the + * run snapshot lifecycle policy API even if SLM is stopped. + *

    + * The API returns a response as soon as the request is acknowledged, but the + * plugin might continue to run until in-progress operations complete and it can + * be safely stopped. Use the get snapshot lifecycle management status API to + * see if SLM is running. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CleanupRepositoryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CleanupRepositoryRequest.java index 5626be8bd..759d3157a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CleanupRepositoryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CleanupRepositoryRequest.java @@ -56,8 +56,9 @@ // typedef: snapshot.cleanup_repository.Request /** - * Triggers the review of a snapshot repository’s contents and deletes any stale - * data not referenced by existing snapshots. + * Clean up the snapshot repository. Trigger the review of the contents of a + * snapshot repository and delete any stale data not referenced by existing + * snapshots. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CloneSnapshotRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CloneSnapshotRequest.java index d23514cb8..ab5a8ea0b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CloneSnapshotRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CloneSnapshotRequest.java @@ -58,8 +58,8 @@ // typedef: snapshot.clone.Request /** - * Clones indices from one snapshot into another snapshot in the same - * repository. + * Clone a snapshot. Clone part of all of a snapshot into another snapshot in + * the same repository. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateRepositoryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateRepositoryRequest.java index 0bb69501c..86eeca000 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateRepositoryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateRepositoryRequest.java @@ -60,7 +60,13 @@ // typedef: snapshot.create_repository.Request /** - * Creates a repository. + * Create or update a snapshot repository. IMPORTANT: If you are migrating + * searchable snapshots, the repository name must be identical in the source and + * destination clusters. To register a snapshot repository, the cluster's global + * metadata must be writeable. Ensure there are no cluster blocks (for example, + * cluster.blocks.read_only and + * clsuter.blocks.read_only_allow_delete settings) that prevent + * write access. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateSnapshotRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateSnapshotRequest.java index 5a415b198..fc6be7a48 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateSnapshotRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/CreateSnapshotRequest.java @@ -61,7 +61,8 @@ // typedef: snapshot.create.Request /** - * Creates a snapshot in a repository. + * Create a snapshot. Take a snapshot of a cluster or of data streams and + * indices. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteRepositoryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteRepositoryRequest.java index c8f2587ea..7521c6549 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteRepositoryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteRepositoryRequest.java @@ -58,7 +58,10 @@ // typedef: snapshot.delete_repository.Request /** - * Deletes a repository. + * Delete snapshot repositories. When a repository is unregistered, + * Elasticsearch removes only the reference to the location where the repository + * is storing the snapshots. The snapshots themselves are left untouched and in + * place. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteSnapshotRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteSnapshotRequest.java index fc29ad635..cfd12fe6b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteSnapshotRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/DeleteSnapshotRequest.java @@ -56,7 +56,7 @@ // typedef: snapshot.delete.Request /** - * Deletes one or more snapshots. + * Delete snapshots. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java index 0b5bdfaca..5d1708b5f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotAsyncClient.java @@ -70,8 +70,9 @@ public ElasticsearchSnapshotAsyncClient withTransportOptions(@Nullable Transport // ----- Endpoint: snapshot.cleanup_repository /** - * Triggers the review of a snapshot repository’s contents and deletes any stale - * data not referenced by existing snapshots. + * Clean up the snapshot repository. Trigger the review of the contents of a + * snapshot repository and delete any stale data not referenced by existing + * snapshots. * * @see Documentation @@ -86,8 +87,9 @@ public CompletableFuture cleanupRepository(CleanupRep } /** - * Triggers the review of a snapshot repository’s contents and deletes any stale - * data not referenced by existing snapshots. + * Clean up the snapshot repository. Trigger the review of the contents of a + * snapshot repository and delete any stale data not referenced by existing + * snapshots. * * @param fn * a function that initializes a builder to create the @@ -105,8 +107,8 @@ public final CompletableFuture cleanupRepository( // ----- Endpoint: snapshot.clone /** - * Clones indices from one snapshot into another snapshot in the same - * repository. + * Clone a snapshot. Clone part of all of a snapshot into another snapshot in + * the same repository. * * @see Documentation @@ -121,8 +123,8 @@ public CompletableFuture clone(CloneSnapshotRequest reque } /** - * Clones indices from one snapshot into another snapshot in the same - * repository. + * Clone a snapshot. Clone part of all of a snapshot into another snapshot in + * the same repository. * * @param fn * a function that initializes a builder to create the @@ -140,7 +142,8 @@ public final CompletableFuture clone( // ----- Endpoint: snapshot.create /** - * Creates a snapshot in a repository. + * Create a snapshot. Take a snapshot of a cluster or of data streams and + * indices. * * @see Documentation @@ -155,7 +158,8 @@ public CompletableFuture create(CreateSnapshotRequest re } /** - * Creates a snapshot in a repository. + * Create a snapshot. Take a snapshot of a cluster or of data streams and + * indices. * * @param fn * a function that initializes a builder to create the @@ -173,7 +177,13 @@ public final CompletableFuture create( // ----- Endpoint: snapshot.create_repository /** - * Creates a repository. + * Create or update a snapshot repository. IMPORTANT: If you are migrating + * searchable snapshots, the repository name must be identical in the source and + * destination clusters. To register a snapshot repository, the cluster's global + * metadata must be writeable. Ensure there are no cluster blocks (for example, + * cluster.blocks.read_only and + * clsuter.blocks.read_only_allow_delete settings) that prevent + * write access. * * @see Documentation @@ -188,7 +198,13 @@ public CompletableFuture createRepository(CreateReposi } /** - * Creates a repository. + * Create or update a snapshot repository. IMPORTANT: If you are migrating + * searchable snapshots, the repository name must be identical in the source and + * destination clusters. To register a snapshot repository, the cluster's global + * metadata must be writeable. Ensure there are no cluster blocks (for example, + * cluster.blocks.read_only and + * clsuter.blocks.read_only_allow_delete settings) that prevent + * write access. * * @param fn * a function that initializes a builder to create the @@ -206,7 +222,7 @@ public final CompletableFuture createRepository( // ----- Endpoint: snapshot.delete /** - * Deletes one or more snapshots. + * Delete snapshots. * * @see Documentation @@ -221,7 +237,7 @@ public CompletableFuture delete(DeleteSnapshotRequest re } /** - * Deletes one or more snapshots. + * Delete snapshots. * * @param fn * a function that initializes a builder to create the @@ -239,7 +255,10 @@ public final CompletableFuture delete( // ----- Endpoint: snapshot.delete_repository /** - * Deletes a repository. + * Delete snapshot repositories. When a repository is unregistered, + * Elasticsearch removes only the reference to the location where the repository + * is storing the snapshots. The snapshots themselves are left untouched and in + * place. * * @see Documentation @@ -254,7 +273,10 @@ public CompletableFuture deleteRepository(DeleteReposi } /** - * Deletes a repository. + * Delete snapshot repositories. When a repository is unregistered, + * Elasticsearch removes only the reference to the location where the repository + * is storing the snapshots. The snapshots themselves are left untouched and in + * place. * * @param fn * a function that initializes a builder to create the @@ -272,7 +294,7 @@ public final CompletableFuture deleteRepository( // ----- Endpoint: snapshot.get /** - * Returns information about a snapshot. + * Get snapshot information. * * @see Documentation @@ -287,7 +309,7 @@ public CompletableFuture get(GetSnapshotRequest request) { } /** - * Returns information about a snapshot. + * Get snapshot information. * * @param fn * a function that initializes a builder to create the @@ -305,7 +327,7 @@ public final CompletableFuture get( // ----- Endpoint: snapshot.get_repository /** - * Returns information about a repository. + * Get snapshot repository information. * * @see Documentation @@ -320,7 +342,7 @@ public CompletableFuture getRepository(GetRepositoryReque } /** - * Returns information about a repository. + * Get snapshot repository information. * * @param fn * a function that initializes a builder to create the @@ -336,7 +358,7 @@ public final CompletableFuture getRepository( } /** - * Returns information about a repository. + * Get snapshot repository information. * * @see Documentation @@ -351,7 +373,56 @@ public CompletableFuture getRepository() { // ----- Endpoint: snapshot.repository_verify_integrity /** - * Verifies the integrity of the contents of a snapshot repository + * Verify the repository integrity. Verify the integrity of the contents of a + * snapshot repository. + *

    + * This API enables you to perform a comprehensive check of the contents of a + * repository, looking for any anomalies in its data or metadata which might + * prevent you from restoring snapshots from the repository or which might cause + * future snapshot create or delete operations to fail. + *

    + * If you suspect the integrity of the contents of one of your snapshot + * repositories, cease all write activity to this repository immediately, set + * its read_only option to true, and use this API to + * verify its integrity. Until you do so: + *

    + *

    + * If the API finds any problems with the integrity of the contents of your + * repository, Elasticsearch will not be able to repair the damage. The only way + * to bring the repository back into a fully working state after its contents + * have been damaged is by restoring its contents from a repository backup which + * was taken before the damage occurred. You must also identify what caused the + * damage and take action to prevent it from happening again. + *

    + * If you cannot restore a repository backup, register a new repository and use + * this for all future snapshot operations. In some cases it may be possible to + * recover some of the contents of a damaged repository, either by restoring as + * many of its snapshots as needed and taking new snapshots of the restored + * data, or by using the reindex API to copy data from any searchable snapshots + * mounted from the damaged repository. + *

    + * Avoid all operations which write to the repository while the verify + * repository integrity API is running. If something changes the repository + * contents while an integrity verification is running then Elasticsearch may + * incorrectly report having detected some anomalies in its contents due to the + * concurrent writes. It may also incorrectly fail to report some anomalies that + * the concurrent writes prevented it from detecting. + *

    + * NOTE: This API is intended for exploratory use by humans. You should expect + * the request parameters and the response format to vary in future versions. + *

    + * NOTE: This API may not work correctly in a mixed-version cluster. * * @see Documentation @@ -367,7 +438,56 @@ public CompletableFuture repositoryVerifyInte } /** - * Verifies the integrity of the contents of a snapshot repository + * Verify the repository integrity. Verify the integrity of the contents of a + * snapshot repository. + *

    + * This API enables you to perform a comprehensive check of the contents of a + * repository, looking for any anomalies in its data or metadata which might + * prevent you from restoring snapshots from the repository or which might cause + * future snapshot create or delete operations to fail. + *

    + * If you suspect the integrity of the contents of one of your snapshot + * repositories, cease all write activity to this repository immediately, set + * its read_only option to true, and use this API to + * verify its integrity. Until you do so: + *

    + *

    + * If the API finds any problems with the integrity of the contents of your + * repository, Elasticsearch will not be able to repair the damage. The only way + * to bring the repository back into a fully working state after its contents + * have been damaged is by restoring its contents from a repository backup which + * was taken before the damage occurred. You must also identify what caused the + * damage and take action to prevent it from happening again. + *

    + * If you cannot restore a repository backup, register a new repository and use + * this for all future snapshot operations. In some cases it may be possible to + * recover some of the contents of a damaged repository, either by restoring as + * many of its snapshots as needed and taking new snapshots of the restored + * data, or by using the reindex API to copy data from any searchable snapshots + * mounted from the damaged repository. + *

    + * Avoid all operations which write to the repository while the verify + * repository integrity API is running. If something changes the repository + * contents while an integrity verification is running then Elasticsearch may + * incorrectly report having detected some anomalies in its contents due to the + * concurrent writes. It may also incorrectly fail to report some anomalies that + * the concurrent writes prevented it from detecting. + *

    + * NOTE: This API is intended for exploratory use by humans. You should expect + * the request parameters and the response format to vary in future versions. + *

    + * NOTE: This API may not work correctly in a mixed-version cluster. * * @param fn * a function that initializes a builder to create the @@ -385,7 +505,32 @@ public final CompletableFuture repositoryVeri // ----- Endpoint: snapshot.restore /** - * Restores a snapshot. + * Restore a snapshot. Restore a snapshot of a cluster or data streams and + * indices. + *

    + * You can restore a snapshot only to a running cluster with an elected master + * node. The snapshot repository must be registered and available to the + * cluster. The snapshot and cluster versions must be compatible. + *

    + * To restore a snapshot, the cluster's global metadata must be writable. Ensure + * there are't any cluster blocks that prevent writes. The restore operation + * ignores index blocks. + *

    + * Before you restore a data stream, ensure the cluster contains a matching + * index template with data streams enabled. To check, use the index management + * feature in Kibana or the get index template API: + * + *

    +	 * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
    +	 * 
    +	 * 
    + *

    + * If no such template exists, you can create one or restore a cluster state + * that contains one. Without a matching index template, a data stream can't + * roll over or create backing indices. + *

    + * If your snapshot contains data from App Search or Workplace Search, you must + * restore the Enterprise Search encryption key before you restore the snapshot. * * @see Documentation @@ -400,7 +545,32 @@ public CompletableFuture restore(RestoreRequest request) { } /** - * Restores a snapshot. + * Restore a snapshot. Restore a snapshot of a cluster or data streams and + * indices. + *

    + * You can restore a snapshot only to a running cluster with an elected master + * node. The snapshot repository must be registered and available to the + * cluster. The snapshot and cluster versions must be compatible. + *

    + * To restore a snapshot, the cluster's global metadata must be writable. Ensure + * there are't any cluster blocks that prevent writes. The restore operation + * ignores index blocks. + *

    + * Before you restore a data stream, ensure the cluster contains a matching + * index template with data streams enabled. To check, use the index management + * feature in Kibana or the get index template API: + * + *

    +	 * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
    +	 * 
    +	 * 
    + *

    + * If no such template exists, you can create one or restore a cluster state + * that contains one. Without a matching index template, a data stream can't + * roll over or create backing indices. + *

    + * If your snapshot contains data from App Search or Workplace Search, you must + * restore the Enterprise Search encryption key before you restore the snapshot. * * @param fn * a function that initializes a builder to create the @@ -418,7 +588,21 @@ public final CompletableFuture restore( // ----- Endpoint: snapshot.status /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @see Documentation @@ -433,7 +617,21 @@ public CompletableFuture status(SnapshotStatusRequest re } /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @param fn * a function that initializes a builder to create the @@ -449,7 +647,21 @@ public final CompletableFuture status( } /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @see Documentation @@ -464,7 +676,8 @@ public CompletableFuture status() { // ----- Endpoint: snapshot.verify_repository /** - * Verifies a repository. + * Verify a snapshot repository. Check for common misconfigurations in a + * snapshot repository. * * @see Documentation @@ -479,7 +692,8 @@ public CompletableFuture verifyRepository(VerifyReposi } /** - * Verifies a repository. + * Verify a snapshot repository. Check for common misconfigurations in a + * snapshot repository. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java index 8e0b2dee8..2866e1630 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/ElasticsearchSnapshotClient.java @@ -68,8 +68,9 @@ public ElasticsearchSnapshotClient withTransportOptions(@Nullable TransportOptio // ----- Endpoint: snapshot.cleanup_repository /** - * Triggers the review of a snapshot repository’s contents and deletes any stale - * data not referenced by existing snapshots. + * Clean up the snapshot repository. Trigger the review of the contents of a + * snapshot repository and delete any stale data not referenced by existing + * snapshots. * * @see Documentation @@ -85,8 +86,9 @@ public CleanupRepositoryResponse cleanupRepository(CleanupRepositoryRequest requ } /** - * Triggers the review of a snapshot repository’s contents and deletes any stale - * data not referenced by existing snapshots. + * Clean up the snapshot repository. Trigger the review of the contents of a + * snapshot repository and delete any stale data not referenced by existing + * snapshots. * * @param fn * a function that initializes a builder to create the @@ -105,8 +107,8 @@ public final CleanupRepositoryResponse cleanupRepository( // ----- Endpoint: snapshot.clone /** - * Clones indices from one snapshot into another snapshot in the same - * repository. + * Clone a snapshot. Clone part of all of a snapshot into another snapshot in + * the same repository. * * @see Documentation @@ -121,8 +123,8 @@ public CloneSnapshotResponse clone(CloneSnapshotRequest request) throws IOExcept } /** - * Clones indices from one snapshot into another snapshot in the same - * repository. + * Clone a snapshot. Clone part of all of a snapshot into another snapshot in + * the same repository. * * @param fn * a function that initializes a builder to create the @@ -141,7 +143,8 @@ public final CloneSnapshotResponse clone( // ----- Endpoint: snapshot.create /** - * Creates a snapshot in a repository. + * Create a snapshot. Take a snapshot of a cluster or of data streams and + * indices. * * @see Documentation @@ -156,7 +159,8 @@ public CreateSnapshotResponse create(CreateSnapshotRequest request) throws IOExc } /** - * Creates a snapshot in a repository. + * Create a snapshot. Take a snapshot of a cluster or of data streams and + * indices. * * @param fn * a function that initializes a builder to create the @@ -175,7 +179,13 @@ public final CreateSnapshotResponse create( // ----- Endpoint: snapshot.create_repository /** - * Creates a repository. + * Create or update a snapshot repository. IMPORTANT: If you are migrating + * searchable snapshots, the repository name must be identical in the source and + * destination clusters. To register a snapshot repository, the cluster's global + * metadata must be writeable. Ensure there are no cluster blocks (for example, + * cluster.blocks.read_only and + * clsuter.blocks.read_only_allow_delete settings) that prevent + * write access. * * @see Documentation @@ -191,7 +201,13 @@ public CreateRepositoryResponse createRepository(CreateRepositoryRequest request } /** - * Creates a repository. + * Create or update a snapshot repository. IMPORTANT: If you are migrating + * searchable snapshots, the repository name must be identical in the source and + * destination clusters. To register a snapshot repository, the cluster's global + * metadata must be writeable. Ensure there are no cluster blocks (for example, + * cluster.blocks.read_only and + * clsuter.blocks.read_only_allow_delete settings) that prevent + * write access. * * @param fn * a function that initializes a builder to create the @@ -210,7 +226,7 @@ public final CreateRepositoryResponse createRepository( // ----- Endpoint: snapshot.delete /** - * Deletes one or more snapshots. + * Delete snapshots. * * @see Documentation @@ -225,7 +241,7 @@ public DeleteSnapshotResponse delete(DeleteSnapshotRequest request) throws IOExc } /** - * Deletes one or more snapshots. + * Delete snapshots. * * @param fn * a function that initializes a builder to create the @@ -244,7 +260,10 @@ public final DeleteSnapshotResponse delete( // ----- Endpoint: snapshot.delete_repository /** - * Deletes a repository. + * Delete snapshot repositories. When a repository is unregistered, + * Elasticsearch removes only the reference to the location where the repository + * is storing the snapshots. The snapshots themselves are left untouched and in + * place. * * @see Documentation @@ -260,7 +279,10 @@ public DeleteRepositoryResponse deleteRepository(DeleteRepositoryRequest request } /** - * Deletes a repository. + * Delete snapshot repositories. When a repository is unregistered, + * Elasticsearch removes only the reference to the location where the repository + * is storing the snapshots. The snapshots themselves are left untouched and in + * place. * * @param fn * a function that initializes a builder to create the @@ -279,7 +301,7 @@ public final DeleteRepositoryResponse deleteRepository( // ----- Endpoint: snapshot.get /** - * Returns information about a snapshot. + * Get snapshot information. * * @see Documentation @@ -294,7 +316,7 @@ public GetSnapshotResponse get(GetSnapshotRequest request) throws IOException, E } /** - * Returns information about a snapshot. + * Get snapshot information. * * @param fn * a function that initializes a builder to create the @@ -312,7 +334,7 @@ public final GetSnapshotResponse get(FunctionDocumentation @@ -328,7 +350,7 @@ public GetRepositoryResponse getRepository(GetRepositoryRequest request) } /** - * Returns information about a repository. + * Get snapshot repository information. * * @param fn * a function that initializes a builder to create the @@ -345,7 +367,7 @@ public final GetRepositoryResponse getRepository( } /** - * Returns information about a repository. + * Get snapshot repository information. * * @see Documentation @@ -360,7 +382,56 @@ public GetRepositoryResponse getRepository() throws IOException, ElasticsearchEx // ----- Endpoint: snapshot.repository_verify_integrity /** - * Verifies the integrity of the contents of a snapshot repository + * Verify the repository integrity. Verify the integrity of the contents of a + * snapshot repository. + *

    + * This API enables you to perform a comprehensive check of the contents of a + * repository, looking for any anomalies in its data or metadata which might + * prevent you from restoring snapshots from the repository or which might cause + * future snapshot create or delete operations to fail. + *

    + * If you suspect the integrity of the contents of one of your snapshot + * repositories, cease all write activity to this repository immediately, set + * its read_only option to true, and use this API to + * verify its integrity. Until you do so: + *

    + *

    + * If the API finds any problems with the integrity of the contents of your + * repository, Elasticsearch will not be able to repair the damage. The only way + * to bring the repository back into a fully working state after its contents + * have been damaged is by restoring its contents from a repository backup which + * was taken before the damage occurred. You must also identify what caused the + * damage and take action to prevent it from happening again. + *

    + * If you cannot restore a repository backup, register a new repository and use + * this for all future snapshot operations. In some cases it may be possible to + * recover some of the contents of a damaged repository, either by restoring as + * many of its snapshots as needed and taking new snapshots of the restored + * data, or by using the reindex API to copy data from any searchable snapshots + * mounted from the damaged repository. + *

    + * Avoid all operations which write to the repository while the verify + * repository integrity API is running. If something changes the repository + * contents while an integrity verification is running then Elasticsearch may + * incorrectly report having detected some anomalies in its contents due to the + * concurrent writes. It may also incorrectly fail to report some anomalies that + * the concurrent writes prevented it from detecting. + *

    + * NOTE: This API is intended for exploratory use by humans. You should expect + * the request parameters and the response format to vary in future versions. + *

    + * NOTE: This API may not work correctly in a mixed-version cluster. * * @see Documentation @@ -376,7 +447,56 @@ public RepositoryVerifyIntegrityResponse repositoryVerifyIntegrity(RepositoryVer } /** - * Verifies the integrity of the contents of a snapshot repository + * Verify the repository integrity. Verify the integrity of the contents of a + * snapshot repository. + *

    + * This API enables you to perform a comprehensive check of the contents of a + * repository, looking for any anomalies in its data or metadata which might + * prevent you from restoring snapshots from the repository or which might cause + * future snapshot create or delete operations to fail. + *

    + * If you suspect the integrity of the contents of one of your snapshot + * repositories, cease all write activity to this repository immediately, set + * its read_only option to true, and use this API to + * verify its integrity. Until you do so: + *

    + *

    + * If the API finds any problems with the integrity of the contents of your + * repository, Elasticsearch will not be able to repair the damage. The only way + * to bring the repository back into a fully working state after its contents + * have been damaged is by restoring its contents from a repository backup which + * was taken before the damage occurred. You must also identify what caused the + * damage and take action to prevent it from happening again. + *

    + * If you cannot restore a repository backup, register a new repository and use + * this for all future snapshot operations. In some cases it may be possible to + * recover some of the contents of a damaged repository, either by restoring as + * many of its snapshots as needed and taking new snapshots of the restored + * data, or by using the reindex API to copy data from any searchable snapshots + * mounted from the damaged repository. + *

    + * Avoid all operations which write to the repository while the verify + * repository integrity API is running. If something changes the repository + * contents while an integrity verification is running then Elasticsearch may + * incorrectly report having detected some anomalies in its contents due to the + * concurrent writes. It may also incorrectly fail to report some anomalies that + * the concurrent writes prevented it from detecting. + *

    + * NOTE: This API is intended for exploratory use by humans. You should expect + * the request parameters and the response format to vary in future versions. + *

    + * NOTE: This API may not work correctly in a mixed-version cluster. * * @param fn * a function that initializes a builder to create the @@ -395,7 +515,32 @@ public final RepositoryVerifyIntegrityResponse repositoryVerifyIntegrity( // ----- Endpoint: snapshot.restore /** - * Restores a snapshot. + * Restore a snapshot. Restore a snapshot of a cluster or data streams and + * indices. + *

    + * You can restore a snapshot only to a running cluster with an elected master + * node. The snapshot repository must be registered and available to the + * cluster. The snapshot and cluster versions must be compatible. + *

    + * To restore a snapshot, the cluster's global metadata must be writable. Ensure + * there are't any cluster blocks that prevent writes. The restore operation + * ignores index blocks. + *

    + * Before you restore a data stream, ensure the cluster contains a matching + * index template with data streams enabled. To check, use the index management + * feature in Kibana or the get index template API: + * + *

    +	 * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
    +	 * 
    +	 * 
    + *

    + * If no such template exists, you can create one or restore a cluster state + * that contains one. Without a matching index template, a data stream can't + * roll over or create backing indices. + *

    + * If your snapshot contains data from App Search or Workplace Search, you must + * restore the Enterprise Search encryption key before you restore the snapshot. * * @see Documentation @@ -410,7 +555,32 @@ public RestoreResponse restore(RestoreRequest request) throws IOException, Elast } /** - * Restores a snapshot. + * Restore a snapshot. Restore a snapshot of a cluster or data streams and + * indices. + *

    + * You can restore a snapshot only to a running cluster with an elected master + * node. The snapshot repository must be registered and available to the + * cluster. The snapshot and cluster versions must be compatible. + *

    + * To restore a snapshot, the cluster's global metadata must be writable. Ensure + * there are't any cluster blocks that prevent writes. The restore operation + * ignores index blocks. + *

    + * Before you restore a data stream, ensure the cluster contains a matching + * index template with data streams enabled. To check, use the index management + * feature in Kibana or the get index template API: + * + *

    +	 * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
    +	 * 
    +	 * 
    + *

    + * If no such template exists, you can create one or restore a cluster state + * that contains one. Without a matching index template, a data stream can't + * roll over or create backing indices. + *

    + * If your snapshot contains data from App Search or Workplace Search, you must + * restore the Enterprise Search encryption key before you restore the snapshot. * * @param fn * a function that initializes a builder to create the @@ -428,7 +598,21 @@ public final RestoreResponse restore(Function + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @see Documentation @@ -443,7 +627,21 @@ public SnapshotStatusResponse status(SnapshotStatusRequest request) throws IOExc } /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @param fn * a function that initializes a builder to create the @@ -460,7 +658,21 @@ public final SnapshotStatusResponse status( } /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @see Documentation @@ -475,7 +687,8 @@ public SnapshotStatusResponse status() throws IOException, ElasticsearchExceptio // ----- Endpoint: snapshot.verify_repository /** - * Verifies a repository. + * Verify a snapshot repository. Check for common misconfigurations in a + * snapshot repository. * * @see Documentation @@ -491,7 +704,8 @@ public VerifyRepositoryResponse verifyRepository(VerifyRepositoryRequest request } /** - * Verifies a repository. + * Verify a snapshot repository. Check for common misconfigurations in a + * snapshot repository. * * @param fn * a function that initializes a builder to create the diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetRepositoryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetRepositoryRequest.java index 55a08eeba..305661c71 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetRepositoryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetRepositoryRequest.java @@ -59,7 +59,7 @@ // typedef: snapshot.get_repository.Request /** - * Returns information about a repository. + * Get snapshot repository information. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetSnapshotRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetSnapshotRequest.java index 90544d289..b62955a32 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetSnapshotRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/GetSnapshotRequest.java @@ -61,7 +61,7 @@ // typedef: snapshot.get.Request /** - * Returns information about a snapshot. + * Get snapshot information. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java index a71c3ea66..632463a4e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RepositoryVerifyIntegrityRequest.java @@ -59,7 +59,56 @@ // typedef: snapshot.repository_verify_integrity.Request /** - * Verifies the integrity of the contents of a snapshot repository + * Verify the repository integrity. Verify the integrity of the contents of a + * snapshot repository. + *

    + * This API enables you to perform a comprehensive check of the contents of a + * repository, looking for any anomalies in its data or metadata which might + * prevent you from restoring snapshots from the repository or which might cause + * future snapshot create or delete operations to fail. + *

    + * If you suspect the integrity of the contents of one of your snapshot + * repositories, cease all write activity to this repository immediately, set + * its read_only option to true, and use this API to + * verify its integrity. Until you do so: + *

      + *
    • It may not be possible to restore some snapshots from this + * repository.
    • + *
    • Searchable snapshots may report errors when searched or may have + * unassigned shards.
    • + *
    • Taking snapshots into this repository may fail or may appear to succeed + * but have created a snapshot which cannot be restored.
    • + *
    • Deleting snapshots from this repository may fail or may appear to succeed + * but leave the underlying data on disk.
    • + *
    • Continuing to write to the repository while it is in an invalid state may + * causing additional damage to its contents.
    • + *
    + *

    + * If the API finds any problems with the integrity of the contents of your + * repository, Elasticsearch will not be able to repair the damage. The only way + * to bring the repository back into a fully working state after its contents + * have been damaged is by restoring its contents from a repository backup which + * was taken before the damage occurred. You must also identify what caused the + * damage and take action to prevent it from happening again. + *

    + * If you cannot restore a repository backup, register a new repository and use + * this for all future snapshot operations. In some cases it may be possible to + * recover some of the contents of a damaged repository, either by restoring as + * many of its snapshots as needed and taking new snapshots of the restored + * data, or by using the reindex API to copy data from any searchable snapshots + * mounted from the damaged repository. + *

    + * Avoid all operations which write to the repository while the verify + * repository integrity API is running. If something changes the repository + * contents while an integrity verification is running then Elasticsearch may + * incorrectly report having detected some anomalies in its contents due to the + * concurrent writes. It may also incorrectly fail to report some anomalies that + * the concurrent writes prevented it from detecting. + *

    + * NOTE: This API is intended for exploratory use by humans. You should expect + * the request parameters and the response format to vary in future versions. + *

    + * NOTE: This API may not work correctly in a mixed-version cluster. * * @see API diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreRequest.java index 1176d6dac..509e7f8a9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreRequest.java @@ -61,7 +61,32 @@ // typedef: snapshot.restore.Request /** - * Restores a snapshot. + * Restore a snapshot. Restore a snapshot of a cluster or data streams and + * indices. + *

    + * You can restore a snapshot only to a running cluster with an elected master + * node. The snapshot repository must be registered and available to the + * cluster. The snapshot and cluster versions must be compatible. + *

    + * To restore a snapshot, the cluster's global metadata must be writable. Ensure + * there are't any cluster blocks that prevent writes. The restore operation + * ignores index blocks. + *

    + * Before you restore a data stream, ensure the cluster contains a matching + * index template with data streams enabled. To check, use the index management + * feature in Kibana or the get index template API: + * + *

    + * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
    + * 
    + * 
    + *

    + * If no such template exists, you can create one or restore a cluster state + * that contains one. Without a matching index template, a data stream can't + * roll over or create backing indices. + *

    + * If your snapshot contains data from App Search or Workplace Search, you must + * restore the Enterprise Search encryption key before you restore the snapshot. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotStatusRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotStatusRequest.java index c9da0634a..45641441c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotStatusRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/SnapshotStatusRequest.java @@ -59,7 +59,21 @@ // typedef: snapshot.status.Request /** - * Returns information about the status of a snapshot. + * Get the snapshot status. Get a detailed description of the current state for + * each shard participating in the snapshot. Note that this API should be used + * only to obtain detailed shard-level information for ongoing snapshots. If + * this detail is not needed or you want to obtain information about one or more + * existing snapshots, use the get snapshot API. + *

    + * WARNING: Using the API to return the status of any snapshots other than + * currently running snapshots can be expensive. The API requires a read from + * the repository for each shard in each snapshot. For example, if you have 100 + * snapshots with 1,000 shards each, an API request that includes all snapshots + * will require 100,000 reads (100 snapshots x 1,000 shards). + *

    + * Depending on the latency of your storage, such requests can take an extremely + * long time to return results. These requests can also tax machine resources + * and, when using cloud storage, incur high processing costs. * * @see API * specification diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/VerifyRepositoryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/VerifyRepositoryRequest.java index fffc7bc18..2371c4f0f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/VerifyRepositoryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/VerifyRepositoryRequest.java @@ -56,7 +56,8 @@ // typedef: snapshot.verify_repository.Request /** - * Verifies a repository. + * Verify a snapshot repository. Check for common misconfigurations in a + * snapshot repository. * * @see API From bb6ac885983379ce346b1acb87c49035902b18ec Mon Sep 17 00:00:00 2001 From: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Date: Wed, 18 Dec 2024 13:24:23 +0100 Subject: [PATCH 025/106] Removing serverless client (#922) * removed serverless module * nullable properties based on flavor availability * remove comment --- java-client-serverless/README.md | 39 - java-client-serverless/build.gradle.kts | 335 -- .../docs/getting-started.mdx | 166 - .../docs/images/copy-endpoint.gif | Bin 335063 -> 0 bytes .../docs/images/setup-api-key.gif | Bin 357690 -> 0 bytes java-client-serverless/docs/index.mdx | 0 .../clients/transport/VersionInfo.java | 26 - .../java/co/elastic/clients/ApiClient.java | 1 - .../ElasticsearchAsyncClient.java | 1976 ------- .../elasticsearch/ElasticsearchClient.java | 2016 ------- .../co/elastic/clients/elasticsearch/_helpers | 1 - .../_types/AcknowledgedResponse.java | 27 - .../_types/AcknowledgedResponseBase.java | 129 - .../_types/BulkIndexByScrollFailure.java | 260 - .../clients/elasticsearch/_types/Bytes.java | 72 - .../elasticsearch/_types/ClusterDetails.java | 322 -- .../_types/ClusterInfoTarget.java | 72 - .../_types/ClusterSearchStatus.java | 72 - .../_types/ClusterStatistics.java | 330 -- .../elasticsearch/_types/Conflicts.java | 72 - .../elasticsearch/_types/CoordsGeoBounds.java | 224 - .../_types/DFIIndependenceMeasure.java | 68 - .../elasticsearch/_types/DFRAfterEffect.java | 68 - .../elasticsearch/_types/DFRBasicModel.java | 76 - .../elasticsearch/_types/DistanceUnit.java | 80 - .../_types/ElasticsearchException.java | 89 - .../_types/ElasticsearchVersionInfo.java | 353 -- .../elasticsearch/_types/EmptyObject.java | 76 - .../elasticsearch/_types/ErrorCause.java | 425 -- .../elasticsearch/_types/ErrorResponse.java | 186 - .../elasticsearch/_types/ExpandWildcard.java | 89 - .../elasticsearch/_types/FieldSort.java | 404 -- .../_types/FieldSortNumericType.java | 70 - .../elasticsearch/_types/FieldValue.java | 320 -- .../elasticsearch/_types/GeoBounds.java | 250 - .../_types/GeoBoundsBuilders.java | 78 - .../elasticsearch/_types/GeoDistanceSort.java | 386 -- .../elasticsearch/_types/GeoDistanceType.java | 72 - .../elasticsearch/_types/GeoHashLocation.java | 153 - .../_types/GeoHashPrecision.java | 204 - .../_types/GeoHashPrecisionBuilders.java | 52 - .../clients/elasticsearch/_types/GeoLine.java | 218 - .../elasticsearch/_types/GeoLocation.java | 263 - .../_types/GeoLocationBuilders.java | 69 - .../_types/GeoShapeRelation.java | 86 - .../elasticsearch/_types/HealthStatus.java | 86 - .../elasticsearch/_types/IBDistribution.java | 66 - .../elasticsearch/_types/IBLambda.java | 65 - .../elasticsearch/_types/IndicesOptions.java | 301 - .../_types/IndicesResponseBase.java | 120 - .../elasticsearch/_types/InlineGet.java | 398 -- .../elasticsearch/_types/KnnQuery.java | 414 -- .../elasticsearch/_types/KnnRetriever.java | 343 -- .../elasticsearch/_types/KnnSearch.java | 495 -- .../_types/LatLonGeoLocation.java | 184 - .../elasticsearch/_types/NestedSortValue.java | 256 - .../elasticsearch/_types/Normalization.java | 72 - .../clients/elasticsearch/_types/OpType.java | 70 - .../_types/QueryVectorBuilder.java | 194 - .../_types/QueryVectorBuilderBuilders.java | 65 - .../_types/QueryVectorBuilderVariant.java | 48 - .../elasticsearch/_types/RRFRetriever.java | 256 - .../clients/elasticsearch/_types/Refresh.java | 81 - .../elasticsearch/_types/RequestBase.java | 105 - .../clients/elasticsearch/_types/Result.java | 70 - .../clients/elasticsearch/_types/Retries.java | 176 - .../elasticsearch/_types/Retriever.java | 252 - .../elasticsearch/_types/RetrieverBase.java | 164 - .../_types/RetrieverBuilders.java | 99 - .../_types/RetrieverVariant.java | 48 - .../elasticsearch/_types/ScoreSort.java | 164 - .../clients/elasticsearch/_types/Script.java | 352 -- .../elasticsearch/_types/ScriptField.java | 190 - .../elasticsearch/_types/ScriptLanguage.java | 82 - .../elasticsearch/_types/ScriptSort.java | 288 - .../elasticsearch/_types/ScriptSortType.java | 68 - .../elasticsearch/_types/SearchType.java | 74 - .../elasticsearch/_types/ShardFailure.java | 273 - .../elasticsearch/_types/ShardStatistics.java | 293 - .../_types/ShardsOperationResponseBase.java | 132 - .../elasticsearch/_types/SlicedScroll.java | 207 - .../clients/elasticsearch/_types/Slices.java | 197 - .../elasticsearch/_types/SlicesBuilders.java | 51 - .../_types/SlicesCalculation.java | 68 - .../elasticsearch/_types/SortMode.java | 71 - .../elasticsearch/_types/SortOptions.java | 349 -- .../_types/SortOptionsBuilders.java | 136 - .../_types/SortOptionsVariant.java | 48 - .../elasticsearch/_types/SortOrder.java | 72 - .../_types/StandardRetriever.java | 475 -- .../elasticsearch/_types/StoredScript.java | 242 - .../elasticsearch/_types/SuggestMode.java | 78 - .../elasticsearch/_types/TextEmbedding.java | 185 - .../clients/elasticsearch/_types/Time.java | 206 - .../elasticsearch/_types/TimeBuilders.java | 51 - .../elasticsearch/_types/TimeUnit.java | 75 - .../_types/TopLeftBottomRightGeoBounds.java | 194 - .../_types/TopRightBottomLeftGeoBounds.java | 194 - .../elasticsearch/_types/VersionType.java | 84 - .../_types/WaitForActiveShardOptions.java | 67 - .../_types/WaitForActiveShards.java | 197 - .../_types/WaitForActiveShardsBuilders.java | 52 - .../elasticsearch/_types/WktGeoBounds.java | 153 - .../_types/WriteResponseBase.java | 317 -- .../AdjacencyMatrixAggregate.java | 119 - .../AdjacencyMatrixAggregation.java | 238 - .../aggregations/AdjacencyMatrixBucket.java | 141 - .../_types/aggregations/Aggregate.java | 2389 -------- .../_types/aggregations/AggregateBase.java | 149 - .../aggregations/AggregateBuilders.java | 1338 ----- .../_types/aggregations/AggregateVariant.java | 48 - .../_types/aggregations/Aggregation.java | 2753 ---------- .../_types/aggregations/AggregationBase.java | 66 - .../aggregations/AggregationBuilders.java | 1469 ----- .../_types/aggregations/AggregationRange.java | 236 - .../aggregations/AggregationVariant.java | 48 - .../aggregations/ArrayPercentilesItem.java | 214 - .../AutoDateHistogramAggregate.java | 160 - .../AutoDateHistogramAggregation.java | 469 -- .../aggregations/AverageAggregation.java | 115 - .../AverageBucketAggregation.java | 116 - .../_types/aggregations/AvgAggregate.java | 115 - .../_types/aggregations/BoxPlotAggregate.java | 498 -- .../aggregations/BoxplotAggregation.java | 162 - .../aggregations/BucketAggregationBase.java | 68 - .../BucketCorrelationAggregation.java | 165 - .../BucketCorrelationFunction.java | 176 - ...etCorrelationFunctionCountCorrelation.java | 175 - ...tionFunctionCountCorrelationIndicator.java | 286 - .../aggregations/BucketKsAggregation.java | 314 -- .../BucketMetricValueAggregate.java | 171 - .../aggregations/BucketPathAggregation.java | 143 - .../aggregations/BucketScriptAggregation.java | 168 - .../BucketSelectorAggregation.java | 168 - .../aggregations/BucketSortAggregation.java | 303 - .../_types/aggregations/Buckets.java | 207 - .../_types/aggregations/BucketsBuilders.java | 52 - .../_types/aggregations/BucketsPath.java | 234 - .../aggregations/BucketsPathBuilders.java | 53 - .../_types/aggregations/CalendarInterval.java | 85 - .../aggregations/CardinalityAggregate.java | 158 - .../aggregations/CardinalityAggregation.java | 236 - .../CardinalityExecutionMode.java | 90 - .../CategorizeTextAggregation.java | 566 -- .../aggregations/CategorizeTextAnalyzer.java | 191 - .../CategorizeTextAnalyzerBuilders.java | 59 - .../aggregations/ChiSquareHeuristic.java | 194 - .../aggregations/ChildrenAggregate.java | 115 - .../aggregations/ChildrenAggregation.java | 172 - .../aggregations/CompositeAggregate.java | 196 - .../aggregations/CompositeAggregation.java | 320 -- .../CompositeAggregationBase.java | 293 - .../CompositeAggregationSource.java | 304 - .../_types/aggregations/CompositeBucket.java | 173 - .../CompositeDateHistogramAggregation.java | 304 - .../CompositeGeoTileGridAggregation.java | 185 - .../CompositeHistogramAggregation.java | 141 - .../CompositeTermsAggregation.java | 108 - .../CumulativeCardinalityAggregate.java | 183 - .../CumulativeCardinalityAggregation.java | 117 - .../CumulativeSumAggregation.java | 116 - .../CustomCategorizeTextAnalyzer.java | 253 - .../aggregations/DateHistogramAggregate.java | 117 - .../DateHistogramAggregation.java | 771 --- .../aggregations/DateHistogramBucket.java | 171 - .../aggregations/DateRangeAggregate.java | 129 - .../aggregations/DateRangeAggregation.java | 443 -- .../aggregations/DateRangeExpression.java | 249 - .../aggregations/DerivativeAggregate.java | 184 - .../aggregations/DerivativeAggregation.java | 115 - .../DiversifiedSamplerAggregation.java | 314 -- .../aggregations/DoubleTermsAggregate.java | 131 - .../aggregations/DoubleTermsBucket.java | 172 - .../aggregations/EwmaModelSettings.java | 159 - .../EwmaMovingAverageAggregation.java | 160 - .../_types/aggregations/ExtendedBounds.java | 228 - .../aggregations/ExtendedStatsAggregate.java | 554 -- .../ExtendedStatsAggregation.java | 159 - .../ExtendedStatsBucketAggregate.java | 116 - .../ExtendedStatsBucketAggregation.java | 160 - .../_types/aggregations/FieldDateMath.java | 205 - .../aggregations/FieldDateMathBuilders.java | 51 - .../_types/aggregations/FilterAggregate.java | 125 - .../_types/aggregations/FiltersAggregate.java | 129 - .../aggregations/FiltersAggregation.java | 286 - .../_types/aggregations/FiltersBucket.java | 107 - .../FormatMetricAggregationBase.java | 114 - .../FormattableMetricAggregation.java | 114 - .../FrequentItemSetsAggregate.java | 119 - .../FrequentItemSetsAggregation.java | 346 -- .../aggregations/FrequentItemSetsBucket.java | 197 - .../aggregations/FrequentItemSetsField.java | 247 - .../_types/aggregations/GapPolicy.java | 81 - .../aggregations/GeoBoundsAggregate.java | 161 - .../aggregations/GeoBoundsAggregation.java | 160 - .../aggregations/GeoCentroidAggregate.java | 187 - .../aggregations/GeoCentroidAggregation.java | 192 - .../aggregations/GeoDistanceAggregate.java | 117 - .../aggregations/GeoDistanceAggregation.java | 345 -- .../aggregations/GeoHashGridAggregate.java | 116 - .../aggregations/GeoHashGridAggregation.java | 337 -- .../aggregations/GeoHashGridBucket.java | 141 - .../aggregations/GeoHexGridAggregate.java | 116 - .../_types/aggregations/GeoHexGridBucket.java | 141 - .../_types/aggregations/GeoLineAggregate.java | 206 - .../aggregations/GeoLineAggregation.java | 328 -- .../_types/aggregations/GeoLinePoint.java | 158 - .../_types/aggregations/GeoLineSort.java | 160 - .../aggregations/GeoTileGridAggregate.java | 116 - .../aggregations/GeoTileGridAggregation.java | 341 -- .../aggregations/GeoTileGridBucket.java | 141 - .../aggregations/GeohexGridAggregation.java | 317 -- .../_types/aggregations/GlobalAggregate.java | 115 - .../aggregations/GlobalAggregation.java | 84 - .../GoogleNormalizedDistanceHeuristic.java | 169 - .../_types/aggregations/HdrMethod.java | 166 - .../HdrPercentileRanksAggregate.java | 116 - .../aggregations/HdrPercentilesAggregate.java | 116 - .../aggregations/HistogramAggregate.java | 116 - .../aggregations/HistogramAggregation.java | 588 -- .../_types/aggregations/HistogramBucket.java | 171 - .../aggregations/HoltLinearModelSettings.java | 191 - .../HoltMovingAverageAggregation.java | 161 - .../HoltWintersModelSettings.java | 308 -- .../HoltWintersMovingAverageAggregation.java | 163 - .../_types/aggregations/HoltWintersType.java | 67 - .../aggregations/InferenceAggregate.java | 381 -- .../aggregations/InferenceAggregation.java | 196 - .../InferenceClassImportance.java | 182 - .../_types/aggregations/InferenceConfig.java | 227 - .../aggregations/InferenceConfigBuilders.java | 87 - .../aggregations/InferenceConfigVariant.java | 48 - .../InferenceFeatureImportance.java | 244 - .../aggregations/InferenceTopClassEntry.java | 245 - .../aggregations/IpPrefixAggregate.java | 116 - .../aggregations/IpPrefixAggregation.java | 341 -- .../_types/aggregations/IpPrefixBucket.java | 221 - .../_types/aggregations/IpRangeAggregate.java | 116 - .../aggregations/IpRangeAggregation.java | 236 - .../aggregations/IpRangeAggregationRange.java | 232 - .../_types/aggregations/IpRangeBucket.java | 204 - .../LinearMovingAverageAggregation.java | 162 - .../aggregations/LongRareTermsAggregate.java | 119 - .../aggregations/LongRareTermsBucket.java | 172 - .../aggregations/LongTermsAggregate.java | 131 - .../_types/aggregations/LongTermsBucket.java | 172 - .../aggregations/MatrixAggregation.java | 211 - .../aggregations/MatrixStatsAggregate.java | 204 - .../aggregations/MatrixStatsAggregation.java | 158 - .../aggregations/MatrixStatsFields.java | 368 -- .../_types/aggregations/MaxAggregate.java | 115 - .../_types/aggregations/MaxAggregation.java | 115 - .../aggregations/MaxBucketAggregation.java | 115 - .../MedianAbsoluteDeviationAggregate.java | 117 - .../MedianAbsoluteDeviationAggregation.java | 165 - .../aggregations/MetricAggregationBase.java | 262 - .../_types/aggregations/MinAggregate.java | 115 - .../_types/aggregations/MinAggregation.java | 115 - .../aggregations/MinBucketAggregation.java | 115 - .../_types/aggregations/MinimumInterval.java | 75 - .../_types/aggregations/MissingAggregate.java | 125 - .../aggregations/MissingAggregation.java | 255 - .../_types/aggregations/MissingOrder.java | 69 - .../MovingAverageAggregation.java | 316 -- .../MovingAverageAggregationBase.java | 173 - .../MovingAverageAggregationBuilders.java | 145 - .../MovingAverageAggregationVariant.java | 50 - .../MovingFunctionAggregation.java | 230 - .../MovingPercentilesAggregation.java | 226 - .../MultiBucketAggregateBase.java | 133 - .../_types/aggregations/MultiBucketBase.java | 183 - .../_types/aggregations/MultiTermLookup.java | 249 - .../aggregations/MultiTermsAggregate.java | 129 - .../aggregations/MultiTermsAggregation.java | 465 -- .../_types/aggregations/MultiTermsBucket.java | 292 - .../MutualInformationHeuristic.java | 203 - .../_types/aggregations/NestedAggregate.java | 115 - .../aggregations/NestedAggregation.java | 172 - .../aggregations/NormalizeAggregation.java | 156 - .../_types/aggregations/NormalizeMethod.java | 99 - .../_types/aggregations/ParentAggregate.java | 115 - .../aggregations/ParentAggregation.java | 172 - .../PercentageScoreHeuristic.java | 76 - .../PercentileRanksAggregation.java | 306 -- .../_types/aggregations/Percentiles.java | 204 - .../PercentilesAggregateBase.java | 116 - .../aggregations/PercentilesAggregation.java | 307 -- .../PercentilesBucketAggregate.java | 116 - .../PercentilesBucketAggregation.java | 179 - .../aggregations/PercentilesBuilders.java | 53 - .../aggregations/PipelineAggregationBase.java | 154 - .../_types/aggregations/RangeAggregate.java | 136 - .../_types/aggregations/RangeAggregation.java | 387 -- .../_types/aggregations/RangeBucket.java | 265 - .../aggregations/RareTermsAggregation.java | 445 -- .../_types/aggregations/RateAggregate.java | 178 - .../_types/aggregations/RateAggregation.java | 190 - .../_types/aggregations/RateMode.java | 71 - .../aggregations/ReverseNestedAggregate.java | 116 - .../ReverseNestedAggregation.java | 175 - .../_types/aggregations/SamplerAggregate.java | 115 - .../aggregations/SamplerAggregation.java | 174 - .../SamplerAggregationExecutionHint.java | 78 - .../aggregations/ScriptedHeuristic.java | 161 - .../aggregations/ScriptedMetricAggregate.java | 150 - .../ScriptedMetricAggregation.java | 376 -- .../SerialDifferencingAggregation.java | 161 - .../SignificantLongTermsAggregate.java | 122 - .../SignificantLongTermsBucket.java | 173 - .../SignificantStringTermsAggregate.java | 123 - .../SignificantStringTermsBucket.java | 142 - .../SignificantTermsAggregateBase.java | 160 - .../SignificantTermsAggregation.java | 754 --- .../SignificantTermsBucketBase.java | 133 - .../SignificantTextAggregation.java | 841 --- .../SimpleMovingAverageAggregation.java | 162 - .../aggregations/SimpleValueAggregate.java | 115 - .../SingleBucketAggregateBase.java | 166 - .../SingleMetricAggregateBase.java | 150 - .../aggregations/StandardDeviationBounds.java | 295 - .../StandardDeviationBoundsAsString.java | 278 - .../_types/aggregations/StatsAggregate.java | 388 -- .../_types/aggregations/StatsAggregation.java | 115 - .../aggregations/StatsBucketAggregate.java | 115 - .../aggregations/StatsBucketAggregation.java | 116 - .../StringRareTermsAggregate.java | 120 - .../aggregations/StringRareTermsBucket.java | 141 - .../aggregations/StringStatsAggregate.java | 396 -- .../aggregations/StringStatsAggregation.java | 159 - .../aggregations/StringTermsAggregate.java | 130 - .../aggregations/StringTermsBucket.java | 180 - .../_types/aggregations/SumAggregate.java | 117 - .../_types/aggregations/SumAggregation.java | 115 - .../aggregations/SumBucketAggregation.java | 115 - .../_types/aggregations/TDigest.java | 166 - .../TDigestPercentileRanksAggregate.java | 117 - .../TDigestPercentilesAggregate.java | 116 - .../_types/aggregations/TTestAggregate.java | 184 - .../_types/aggregations/TTestAggregation.java | 254 - .../_types/aggregations/TTestType.java | 78 - .../aggregations/TermsAggregateBase.java | 144 - .../_types/aggregations/TermsAggregation.java | 840 --- .../TermsAggregationCollectMode.java | 75 - .../TermsAggregationExecutionHint.java | 71 - .../_types/aggregations/TermsBucketBase.java | 115 - .../_types/aggregations/TermsExclude.java | 209 - .../aggregations/TermsExcludeBuilders.java | 53 - .../_types/aggregations/TermsInclude.java | 225 - .../aggregations/TermsIncludeBuilders.java | 61 - .../_types/aggregations/TermsPartition.java | 185 - .../_types/aggregations/TestPopulation.java | 239 - .../aggregations/TimeSeriesAggregate.java | 116 - .../aggregations/TimeSeriesAggregation.java | 208 - .../_types/aggregations/TimeSeriesBucket.java | 173 - .../_types/aggregations/TopHitsAggregate.java | 157 - .../aggregations/TopHitsAggregation.java | 735 --- .../_types/aggregations/TopMetrics.java | 300 - .../aggregations/TopMetricsAggregate.java | 178 - .../aggregations/TopMetricsAggregation.java | 283 - .../_types/aggregations/TopMetricsValue.java | 158 - .../UnmappedRareTermsAggregate.java | 120 - .../UnmappedSamplerAggregate.java | 116 - .../UnmappedSignificantTermsAggregate.java | 122 - .../aggregations/UnmappedTermsAggregate.java | 133 - .../aggregations/ValueCountAggregate.java | 126 - .../aggregations/ValueCountAggregation.java | 128 - .../_types/aggregations/ValueType.java | 83 - .../VariableWidthHistogramAggregate.java | 121 - .../VariableWidthHistogramAggregation.java | 318 -- .../VariableWidthHistogramBucket.java | 279 - .../WeightedAverageAggregation.java | 285 - .../aggregations/WeightedAverageValue.java | 236 - .../aggregations/WeightedAvgAggregate.java | 117 - .../_types/analysis/Analyzer.java | 1739 ------ .../_types/analysis/AnalyzerBuilders.java | 939 ---- .../_types/analysis/AnalyzerVariant.java | 50 - .../_types/analysis/ArabicAnalyzer.java | 262 - .../_types/analysis/ArmenianAnalyzer.java | 262 - .../analysis/AsciiFoldingTokenFilter.java | 157 - .../_types/analysis/BasqueAnalyzer.java | 262 - .../_types/analysis/BengaliAnalyzer.java | 262 - .../_types/analysis/BrazilianAnalyzer.java | 217 - .../_types/analysis/BulgarianAnalyzer.java | 262 - .../_types/analysis/CatalanAnalyzer.java | 262 - .../_types/analysis/CharFilter.java | 190 - .../_types/analysis/CharFilterBase.java | 130 - .../_types/analysis/CharFilterBuilders.java | 59 - .../_types/analysis/CharFilterDefinition.java | 384 -- .../CharFilterDefinitionBuilders.java | 142 - .../analysis/CharFilterDefinitionVariant.java | 50 - .../_types/analysis/CharGroupTokenizer.java | 203 - .../_types/analysis/ChineseAnalyzer.java | 217 - .../_types/analysis/CjkAnalyzer.java | 216 - .../_types/analysis/ClassicTokenizer.java | 156 - .../analysis/CommonGramsTokenFilter.java | 263 - .../analysis/CompoundWordTokenFilterBase.java | 309 -- .../_types/analysis/ConditionTokenFilter.java | 203 - .../_types/analysis/CustomAnalyzer.java | 314 -- .../_types/analysis/CustomNormalizer.java | 232 - .../_types/analysis/CzechAnalyzer.java | 262 - .../_types/analysis/DanishAnalyzer.java | 217 - .../analysis/DelimitedPayloadEncoding.java | 69 - .../analysis/DelimitedPayloadTokenFilter.java | 185 - .../DictionaryDecompounderTokenFilter.java | 128 - .../_types/analysis/DutchAnalyzer.java | 262 - .../_types/analysis/EdgeNGramSide.java | 67 - .../_types/analysis/EdgeNGramTokenFilter.java | 243 - .../_types/analysis/EdgeNGramTokenizer.java | 250 - .../_types/analysis/ElisionTokenFilter.java | 233 - .../_types/analysis/EnglishAnalyzer.java | 262 - .../_types/analysis/EstonianAnalyzer.java | 217 - .../_types/analysis/FingerprintAnalyzer.java | 322 -- .../analysis/FingerprintTokenFilter.java | 187 - .../_types/analysis/FinnishAnalyzer.java | 262 - .../_types/analysis/FrenchAnalyzer.java | 262 - .../_types/analysis/GalicianAnalyzer.java | 262 - .../_types/analysis/GermanAnalyzer.java | 262 - .../_types/analysis/GreekAnalyzer.java | 217 - .../_types/analysis/HindiAnalyzer.java | 262 - .../_types/analysis/HtmlStripCharFilter.java | 174 - .../_types/analysis/HungarianAnalyzer.java | 262 - .../_types/analysis/HunspellTokenFilter.java | 240 - .../HyphenationDecompounderTokenFilter.java | 129 - .../_types/analysis/IcuAnalyzer.java | 186 - .../analysis/IcuCollationAlternate.java | 67 - .../analysis/IcuCollationCaseFirst.java | 67 - .../analysis/IcuCollationDecomposition.java | 67 - .../_types/analysis/IcuCollationStrength.java | 73 - .../analysis/IcuCollationTokenFilter.java | 473 -- .../analysis/IcuFoldingTokenFilter.java | 151 - .../analysis/IcuNormalizationCharFilter.java | 183 - .../_types/analysis/IcuNormalizationMode.java | 67 - .../analysis/IcuNormalizationTokenFilter.java | 151 - .../_types/analysis/IcuNormalizationType.java | 69 - .../_types/analysis/IcuTokenizer.java | 148 - .../analysis/IcuTransformDirection.java | 67 - .../analysis/IcuTransformTokenFilter.java | 180 - .../_types/analysis/IndonesianAnalyzer.java | 264 - .../_types/analysis/IrishAnalyzer.java | 262 - .../_types/analysis/ItalianAnalyzer.java | 262 - .../_types/analysis/KStemTokenFilter.java | 124 - .../_types/analysis/KeepTypesMode.java | 67 - .../_types/analysis/KeepTypesTokenFilter.java | 201 - .../_types/analysis/KeepWordsTokenFilter.java | 233 - .../_types/analysis/KeywordAnalyzer.java | 170 - .../analysis/KeywordMarkerTokenFilter.java | 263 - .../_types/analysis/KeywordTokenizer.java | 150 - .../_types/analysis/KuromojiAnalyzer.java | 194 - .../KuromojiIterationMarkCharFilter.java | 176 - .../KuromojiPartOfSpeechTokenFilter.java | 175 - .../KuromojiReadingFormTokenFilter.java | 152 - .../analysis/KuromojiStemmerTokenFilter.java | 151 - .../analysis/KuromojiTokenizationMode.java | 69 - .../_types/analysis/KuromojiTokenizer.java | 344 -- .../_types/analysis/Language.java | 129 - .../_types/analysis/LanguageAnalyzer.java | 313 -- .../_types/analysis/LatvianAnalyzer.java | 262 - .../_types/analysis/LengthTokenFilter.java | 185 - .../_types/analysis/LetterTokenizer.java | 124 - .../analysis/LimitTokenCountTokenFilter.java | 187 - .../_types/analysis/LithuanianAnalyzer.java | 264 - .../_types/analysis/LowercaseNormalizer.java | 138 - .../_types/analysis/LowercaseTokenFilter.java | 156 - .../_types/analysis/LowercaseTokenizer.java | 124 - .../_types/analysis/MappingCharFilter.java | 203 - .../analysis/MultiplexerTokenFilter.java | 204 - .../_types/analysis/NGramTokenFilter.java | 215 - .../_types/analysis/NGramTokenizer.java | 250 - .../_types/analysis/NoriAnalyzer.java | 273 - .../_types/analysis/NoriDecompoundMode.java | 69 - .../analysis/NoriPartOfSpeechTokenFilter.java | 175 - .../_types/analysis/NoriTokenizer.java | 259 - .../_types/analysis/Normalizer.java | 219 - .../_types/analysis/NormalizerBuilders.java | 83 - .../_types/analysis/NormalizerVariant.java | 50 - .../_types/analysis/NorwegianAnalyzer.java | 262 - .../analysis/PathHierarchyTokenizer.java | 275 - .../_types/analysis/PatternAnalyzer.java | 300 - .../analysis/PatternCaptureTokenFilter.java | 204 - .../analysis/PatternReplaceCharFilter.java | 211 - .../analysis/PatternReplaceTokenFilter.java | 241 - .../_types/analysis/PatternTokenizer.java | 215 - .../_types/analysis/PersianAnalyzer.java | 217 - .../_types/analysis/PhoneticEncoder.java | 87 - .../_types/analysis/PhoneticLanguage.java | 87 - .../_types/analysis/PhoneticNameType.java | 69 - .../_types/analysis/PhoneticRuleType.java | 67 - .../_types/analysis/PhoneticTokenFilter.java | 311 -- .../analysis/PorterStemTokenFilter.java | 124 - .../_types/analysis/PortugueseAnalyzer.java | 264 - .../_types/analysis/PredicateTokenFilter.java | 158 - .../analysis/RemoveDuplicatesTokenFilter.java | 125 - .../_types/analysis/ReverseTokenFilter.java | 124 - .../_types/analysis/RomanianAnalyzer.java | 262 - .../_types/analysis/RussianAnalyzer.java | 262 - .../_types/analysis/SerbianAnalyzer.java | 262 - .../_types/analysis/ShingleTokenFilter.java | 303 - .../_types/analysis/SimpleAnalyzer.java | 170 - .../analysis/SimplePatternSplitTokenizer.java | 157 - .../analysis/SimplePatternTokenizer.java | 157 - .../_types/analysis/SnowballAnalyzer.java | 240 - .../_types/analysis/SnowballLanguage.java | 107 - .../_types/analysis/SnowballTokenFilter.java | 154 - .../_types/analysis/SoraniAnalyzer.java | 262 - .../_types/analysis/SpanishAnalyzer.java | 262 - .../_types/analysis/StandardAnalyzer.java | 218 - .../_types/analysis/StandardTokenizer.java | 156 - .../analysis/StemmerOverrideTokenFilter.java | 203 - .../_types/analysis/StemmerTokenFilter.java | 156 - .../_types/analysis/StopAnalyzer.java | 245 - .../_types/analysis/StopTokenFilter.java | 262 - .../_types/analysis/SwedishAnalyzer.java | 262 - .../_types/analysis/SynonymFormat.java | 67 - .../analysis/SynonymGraphTokenFilter.java | 378 -- .../_types/analysis/SynonymTokenFilter.java | 377 -- .../_types/analysis/ThaiAnalyzer.java | 216 - .../_types/analysis/ThaiTokenizer.java | 122 - .../_types/analysis/TokenChar.java | 74 - .../_types/analysis/TokenFilter.java | 190 - .../_types/analysis/TokenFilterBase.java | 130 - .../_types/analysis/TokenFilterBuilders.java | 59 - .../analysis/TokenFilterDefinition.java | 1698 ------ .../TokenFilterDefinitionBuilders.java | 938 ---- .../TokenFilterDefinitionVariant.java | 50 - .../_types/analysis/Tokenizer.java | 190 - .../_types/analysis/TokenizerBase.java | 130 - .../_types/analysis/TokenizerBuilders.java | 59 - .../_types/analysis/TokenizerDefinition.java | 786 --- .../analysis/TokenizerDefinitionBuilders.java | 381 -- .../analysis/TokenizerDefinitionVariant.java | 50 - .../_types/analysis/TrimTokenFilter.java | 124 - .../_types/analysis/TruncateTokenFilter.java | 156 - .../_types/analysis/TurkishAnalyzer.java | 262 - .../_types/analysis/UaxEmailUrlTokenizer.java | 156 - .../_types/analysis/UniqueTokenFilter.java | 156 - .../_types/analysis/UppercaseTokenFilter.java | 124 - .../_types/analysis/WhitespaceAnalyzer.java | 172 - .../_types/analysis/WhitespaceTokenizer.java | 156 - .../WordDelimiterGraphTokenFilter.java | 598 -- .../analysis/WordDelimiterTokenFilter.java | 540 -- .../AggregateMetricDoubleProperty.java | 226 - .../_types/mapping/AllField.java | 374 -- .../_types/mapping/BinaryProperty.java | 124 - .../_types/mapping/BooleanProperty.java | 252 - .../_types/mapping/ByteNumberProperty.java | 156 - .../_types/mapping/CompletionProperty.java | 330 -- .../_types/mapping/CompositeSubField.java | 153 - .../mapping/ConstantKeywordProperty.java | 157 - .../_types/mapping/CorePropertyBase.java | 191 - .../_types/mapping/DataStreamTimestamp.java | 155 - .../_types/mapping/DateNanosProperty.java | 304 - .../_types/mapping/DateProperty.java | 369 -- .../_types/mapping/DateRangeProperty.java | 156 - .../mapping/DenseVectorIndexOptions.java | 247 - .../_types/mapping/DenseVectorProperty.java | 282 - .../_types/mapping/DocValuesPropertyBase.java | 114 - .../_types/mapping/DoubleNumberProperty.java | 156 - .../_types/mapping/DoubleRangeProperty.java | 124 - .../_types/mapping/DynamicMapping.java | 84 - .../_types/mapping/DynamicProperty.java | 819 --- .../_types/mapping/DynamicTemplate.java | 666 --- .../mapping/DynamicTemplateBuilders.java | 83 - .../mapping/DynamicTemplateVariant.java | 48 - .../_types/mapping/FieldAliasProperty.java | 156 - .../_types/mapping/FieldNamesField.java | 153 - .../_types/mapping/FieldType.java | 154 - .../_types/mapping/FlattenedProperty.java | 391 -- .../_types/mapping/FloatNumberProperty.java | 156 - .../_types/mapping/FloatRangeProperty.java | 124 - .../_types/mapping/GeoOrientation.java | 73 - .../_types/mapping/GeoPointProperty.java | 316 -- .../_types/mapping/GeoShapeProperty.java | 275 - .../_types/mapping/GeoStrategy.java | 66 - .../mapping/HalfFloatNumberProperty.java | 157 - .../_types/mapping/HistogramProperty.java | 156 - .../_types/mapping/IcuCollationProperty.java | 601 -- .../_types/mapping/IndexField.java | 152 - .../_types/mapping/IndexOptions.java | 70 - .../_types/mapping/IntegerNumberProperty.java | 156 - .../_types/mapping/IntegerRangeProperty.java | 124 - .../_types/mapping/IpProperty.java | 344 -- .../_types/mapping/IpRangeProperty.java | 124 - .../_types/mapping/JoinProperty.java | 210 - .../_types/mapping/KeywordProperty.java | 461 -- .../_types/mapping/LongNumberProperty.java | 156 - .../_types/mapping/LongRangeProperty.java | 124 - .../_types/mapping/MatchOnlyTextProperty.java | 331 -- .../_types/mapping/MatchType.java | 66 - .../_types/mapping/Murmur3HashProperty.java | 124 - .../_types/mapping/NestedProperty.java | 214 - .../_types/mapping/NumberPropertyBase.java | 337 -- .../_types/mapping/ObjectProperty.java | 185 - .../_types/mapping/OnScriptError.java | 66 - .../_types/mapping/PercolatorProperty.java | 124 - .../_types/mapping/PointProperty.java | 214 - .../_types/mapping/Property.java | 1733 ------ .../_types/mapping/PropertyBase.java | 322 -- .../_types/mapping/PropertyBuilders.java | 933 ---- .../_types/mapping/PropertyVariant.java | 50 - .../_types/mapping/RangePropertyBase.java | 173 - .../_types/mapping/RankFeatureProperty.java | 156 - .../_types/mapping/RankFeaturesProperty.java | 156 - .../_types/mapping/RoutingField.java | 152 - .../_types/mapping/RuntimeField.java | 466 -- .../mapping/RuntimeFieldFetchFields.java | 189 - .../_types/mapping/RuntimeFieldType.java | 81 - .../mapping/ScaledFloatNumberProperty.java | 186 - .../mapping/SearchAsYouTypeProperty.java | 360 -- .../_types/mapping/SemanticTextProperty.java | 213 - .../_types/mapping/ShapeProperty.java | 247 - .../_types/mapping/ShortNumberProperty.java | 156 - .../_types/mapping/SizeField.java | 152 - .../_types/mapping/SourceField.java | 337 -- .../_types/mapping/SourceFieldMode.java | 73 - .../_types/mapping/SparseVectorProperty.java | 124 - .../_types/mapping/SuggestContext.java | 237 - .../_types/mapping/TermVectorOption.java | 77 - .../_types/mapping/TextIndexPrefixes.java | 177 - .../_types/mapping/TextProperty.java | 549 -- .../_types/mapping/TimeSeriesMetricType.java | 73 - .../_types/mapping/TokenCountProperty.java | 275 - .../_types/mapping/TypeMapping.java | 783 --- .../mapping/UnsignedLongNumberProperty.java | 157 - .../_types/mapping/VersionProperty.java | 124 - .../_types/mapping/WildcardProperty.java | 156 - .../_types/query_dsl/BoolQuery.java | 443 -- .../_types/query_dsl/BoostingQuery.java | 227 - .../_types/query_dsl/ChildScoreMode.java | 73 - .../query_dsl/CombinedFieldsOperator.java | 67 - .../_types/query_dsl/CombinedFieldsQuery.java | 350 -- .../query_dsl/CombinedFieldsZeroTerms.java | 73 - .../_types/query_dsl/CommonTermsQuery.java | 318 -- .../_types/query_dsl/ConstantScoreQuery.java | 170 - .../_types/query_dsl/DateDecayFunction.java | 120 - .../query_dsl/DateDistanceFeatureQuery.java | 123 - .../_types/query_dsl/DateRangeQuery.java | 221 - .../_types/query_dsl/DecayFunction.java | 287 - .../_types/query_dsl/DecayFunctionBase.java | 228 - .../query_dsl/DecayFunctionBuilders.java | 121 - .../query_dsl/DecayFunctionVariant.java | 48 - .../_types/query_dsl/DecayPlacement.java | 320 -- .../_types/query_dsl/DisMaxQuery.java | 227 - .../query_dsl/DistanceFeatureQuery.java | 258 - .../query_dsl/DistanceFeatureQueryBase.java | 236 - .../DistanceFeatureQueryBuilders.java | 104 - .../DistanceFeatureQueryVariant.java | 48 - .../_types/query_dsl/ExistsQuery.java | 160 - .../_types/query_dsl/FieldAndFormat.java | 228 - .../_types/query_dsl/FieldLookup.java | 257 - .../query_dsl/FieldValueFactorModifier.java | 118 - .../FieldValueFactorScoreFunction.java | 271 - .../_types/query_dsl/FunctionBoostMode.java | 93 - .../_types/query_dsl/FunctionScore.java | 466 -- .../query_dsl/FunctionScoreBuilders.java | 158 - .../_types/query_dsl/FunctionScoreMode.java | 93 - .../_types/query_dsl/FunctionScoreQuery.java | 366 -- .../query_dsl/FunctionScoreVariant.java | 48 - .../_types/query_dsl/FuzzyQuery.java | 396 -- .../_types/query_dsl/GeoBoundingBoxQuery.java | 289 - .../_types/query_dsl/GeoDecayFunction.java | 120 - .../query_dsl/GeoDistanceFeatureQuery.java | 123 - .../_types/query_dsl/GeoDistanceQuery.java | 318 -- .../_types/query_dsl/GeoExecution.java | 67 - .../_types/query_dsl/GeoPolygonPoints.java | 184 - .../_types/query_dsl/GeoPolygonQuery.java | 238 - .../_types/query_dsl/GeoShapeFieldQuery.java | 239 - .../_types/query_dsl/GeoShapeQuery.java | 216 - .../_types/query_dsl/GeoValidationMethod.java | 76 - .../_types/query_dsl/HasChildQuery.java | 384 -- .../_types/query_dsl/HasParentQuery.java | 313 -- .../_types/query_dsl/IdsQuery.java | 184 - .../_types/query_dsl/Intervals.java | 352 -- .../_types/query_dsl/IntervalsAllOf.java | 325 -- .../_types/query_dsl/IntervalsAnyOf.java | 249 - .../_types/query_dsl/IntervalsBuilders.java | 155 - .../_types/query_dsl/IntervalsFilter.java | 436 -- .../query_dsl/IntervalsFilterBuilders.java | 210 - .../query_dsl/IntervalsFilterVariant.java | 48 - .../_types/query_dsl/IntervalsFuzzy.java | 348 -- .../_types/query_dsl/IntervalsMatch.java | 357 -- .../_types/query_dsl/IntervalsPrefix.java | 247 - .../_types/query_dsl/IntervalsQuery.java | 379 -- .../query_dsl/IntervalsQueryBuilders.java | 155 - .../query_dsl/IntervalsQueryVariant.java | 44 - .../_types/query_dsl/IntervalsVariant.java | 48 - .../_types/query_dsl/IntervalsWildcard.java | 247 - .../elasticsearch/_types/query_dsl/Like.java | 193 - .../_types/query_dsl/LikeBuilders.java | 58 - .../_types/query_dsl/LikeDocument.java | 417 -- .../_types/query_dsl/MatchAllQuery.java | 123 - .../query_dsl/MatchBoolPrefixQuery.java | 463 -- .../_types/query_dsl/MatchNoneQuery.java | 113 - .../query_dsl/MatchPhrasePrefixQuery.java | 318 -- .../_types/query_dsl/MatchPhraseQuery.java | 280 - .../_types/query_dsl/MatchQuery.java | 653 --- .../_types/query_dsl/MoreLikeThisQuery.java | 837 --- .../_types/query_dsl/MultiMatchQuery.java | 721 --- .../_types/query_dsl/MultiValueMode.java | 83 - .../_types/query_dsl/NestedQuery.java | 301 - .../_types/query_dsl/NumberRangeQuery.java | 153 - .../query_dsl/NumericDecayFunction.java | 119 - .../_types/query_dsl/Operator.java | 71 - .../_types/query_dsl/ParentIdQuery.java | 225 - .../_types/query_dsl/PercolateQuery.java | 440 -- .../_types/query_dsl/PinnedDoc.java | 185 - .../_types/query_dsl/PinnedQuery.java | 310 -- .../_types/query_dsl/PinnedQueryBuilders.java | 52 - .../_types/query_dsl/PinnedQueryVariant.java | 44 - .../_types/query_dsl/PrefixQuery.java | 263 - .../elasticsearch/_types/query_dsl/Query.java | 2063 ------- .../_types/query_dsl/QueryBase.java | 169 - .../_types/query_dsl/QueryBuilders.java | 1081 ---- .../_types/query_dsl/QueryStringQuery.java | 991 ---- .../_types/query_dsl/QueryVariant.java | 48 - .../_types/query_dsl/RandomScoreFunction.java | 198 - .../_types/query_dsl/RangeQuery.java | 294 - .../_types/query_dsl/RangeQueryBase.java | 324 -- .../_types/query_dsl/RangeQueryBuilders.java | 119 - .../_types/query_dsl/RangeQueryVariant.java | 48 - .../_types/query_dsl/RangeRelation.java | 79 - .../_types/query_dsl/RankFeatureFunction.java | 66 - .../query_dsl/RankFeatureFunctionLinear.java | 76 - .../RankFeatureFunctionLogarithm.java | 159 - .../RankFeatureFunctionSaturation.java | 165 - .../query_dsl/RankFeatureFunctionSigmoid.java | 187 - .../_types/query_dsl/RankFeatureQuery.java | 338 -- .../_types/query_dsl/RegexpQuery.java | 317 -- .../_types/query_dsl/RuleQuery.java | 223 - .../_types/query_dsl/ScriptQuery.java | 162 - .../_types/query_dsl/ScriptScoreFunction.java | 177 - .../_types/query_dsl/ScriptScoreQuery.java | 239 - .../_types/query_dsl/SemanticQuery.java | 179 - .../_types/query_dsl/ShapeFieldQuery.java | 240 - .../_types/query_dsl/ShapeQuery.java | 213 - .../query_dsl/SimpleQueryStringFlag.java | 134 - .../query_dsl/SimpleQueryStringQuery.java | 618 --- .../_types/query_dsl/SpanContainingQuery.java | 212 - .../query_dsl/SpanFieldMaskingQuery.java | 188 - .../_types/query_dsl/SpanFirstQuery.java | 196 - .../_types/query_dsl/SpanGapQuery.java | 117 - .../_types/query_dsl/SpanMultiTermQuery.java | 175 - .../_types/query_dsl/SpanNearQuery.java | 260 - .../_types/query_dsl/SpanNotQuery.java | 313 -- .../_types/query_dsl/SpanOrQuery.java | 191 - .../_types/query_dsl/SpanQuery.java | 524 -- .../_types/query_dsl/SpanQueryBuilders.java | 229 - .../_types/query_dsl/SpanQueryVariant.java | 48 - .../_types/query_dsl/SpanTermQuery.java | 182 - .../_types/query_dsl/SpanWithinQuery.java | 210 - .../_types/query_dsl/SparseVectorQuery.java | 467 -- .../query_dsl/SparseVectorQueryBuilders.java | 53 - .../query_dsl/SparseVectorQueryVariant.java | 44 - .../_types/query_dsl/TermQuery.java | 276 - .../_types/query_dsl/TermRangeQuery.java | 152 - .../_types/query_dsl/TermsLookup.java | 231 - .../_types/query_dsl/TermsQuery.java | 186 - .../_types/query_dsl/TermsQueryField.java | 196 - .../query_dsl/TermsQueryFieldBuilders.java | 60 - .../_types/query_dsl/TermsSetQuery.java | 281 - .../_types/query_dsl/TextExpansionQuery.java | 250 - .../_types/query_dsl/TextQueryType.java | 99 - .../_types/query_dsl/TokenPruningConfig.java | 240 - .../_types/query_dsl/TypeQuery.java | 146 - .../query_dsl/UntypedDecayFunction.java | 118 - .../UntypedDistanceFeatureQuery.java | 122 - .../_types/query_dsl/UntypedRangeQuery.java | 222 - .../_types/query_dsl/WeightedTokensQuery.java | 247 - .../_types/query_dsl/WildcardQuery.java | 302 - .../_types/query_dsl/WrapperQuery.java | 153 - .../_types/query_dsl/ZeroTermsQuery.java | 73 - .../async_search/AsyncSearch.java | 673 --- .../AsyncSearchDocumentResponseBase.java | 134 - .../async_search/AsyncSearchResponseBase.java | 376 -- .../AsyncSearchStatusRequest.java | 185 - .../AsyncSearchStatusResponse.java | 108 - .../DeleteAsyncSearchRequest.java | 186 - .../DeleteAsyncSearchResponse.java | 108 - .../ElasticsearchAsyncSearchAsyncClient.java | 340 -- .../ElasticsearchAsyncSearchClient.java | 347 -- .../async_search/GetAsyncSearchRequest.java | 299 - .../async_search/GetAsyncSearchResponse.java | 124 - .../async_search/SubmitRequest.java | 2624 --------- .../async_search/SubmitResponse.java | 124 - .../status/StatusResponseBase.java | 209 - .../elasticsearch/cat/AliasesRequest.java | 267 - .../elasticsearch/cat/AliasesResponse.java | 178 - .../cat/CatAnomalyDetectorColumn.java | 447 -- .../elasticsearch/cat/CatDatafeedColumn.java | 139 - .../elasticsearch/cat/CatDfaColumn.java | 153 - .../elasticsearch/cat/CatRequestBase.java | 66 - .../cat/CatTrainedModelsColumn.java | 142 - .../elasticsearch/cat/CatTransformColumn.java | 279 - .../cat/ComponentTemplatesRequest.java | 202 - .../cat/ComponentTemplatesResponse.java | 181 - .../elasticsearch/cat/CountRequest.java | 220 - .../elasticsearch/cat/CountResponse.java | 178 - .../cat/ElasticsearchCatAsyncClient.java | 698 --- .../cat/ElasticsearchCatClient.java | 706 --- .../elasticsearch/cat/HelpRequest.java | 101 - .../elasticsearch/cat/HelpResponse.java | 178 - .../elasticsearch/cat/IndicesRequest.java | 437 -- .../elasticsearch/cat/IndicesResponse.java | 178 - .../cat/MlDataFrameAnalyticsRequest.java | 398 -- .../cat/MlDataFrameAnalyticsResponse.java | 182 - .../elasticsearch/cat/MlDatafeedsRequest.java | 378 -- .../cat/MlDatafeedsResponse.java | 180 - .../elasticsearch/cat/MlJobsRequest.java | 409 -- .../elasticsearch/cat/MlJobsResponse.java | 178 - .../cat/MlTrainedModelsRequest.java | 423 -- .../cat/MlTrainedModelsResponse.java | 180 - .../elasticsearch/cat/TransformsRequest.java | 425 -- .../elasticsearch/cat/TransformsResponse.java | 180 - .../cat/aliases/AliasesRecord.java | 327 -- .../ComponentTemplate.java | 298 - .../elasticsearch/cat/count/CountRecord.java | 229 - .../elasticsearch/cat/help/HelpRecord.java | 153 - .../cat/indices/IndicesRecord.java | 4874 ----------------- .../DataFrameAnalyticsRecord.java | 666 --- .../cat/ml_datafeeds/DatafeedsRecord.java | 539 -- .../elasticsearch/cat/ml_jobs/JobsRecord.java | 2271 -------- .../TrainedModelsRecord.java | 732 --- .../cat/transforms/TransformsRecord.java | 1262 ----- .../cluster/ClusterInfoRequest.java | 202 - .../cluster/ClusterInfoResponse.java | 323 -- .../cluster/ComponentTemplate.java | 186 - .../cluster/ComponentTemplateNode.java | 242 - .../cluster/ComponentTemplateSummary.java | 396 -- .../DeleteComponentTemplateRequest.java | 289 - .../DeleteComponentTemplateResponse.java | 110 - .../ElasticsearchClusterAsyncClient.java | 296 - .../cluster/ElasticsearchClusterClient.java | 301 - .../ExistsComponentTemplateRequest.java | 281 - .../cluster/GetComponentTemplateRequest.java | 331 -- .../cluster/GetComponentTemplateResponse.java | 189 - .../cluster/PutComponentTemplateRequest.java | 505 -- .../cluster/PutComponentTemplateResponse.java | 109 - .../connector/CheckInRequest.java | 181 - .../connector/CheckInResponse.java | 153 - .../elasticsearch/connector/Connector.java | 1089 ---- .../connector/ConnectorConfigProperties.java | 666 --- .../connector/ConnectorFeatures.java | 274 - .../connector/ConnectorFieldType.java | 71 - .../connector/ConnectorScheduling.java | 185 - .../connector/ConnectorStatus.java | 73 - .../connector/ConnectorSyncJob.java | 634 --- .../connector/CustomScheduling.java | 266 - ...ustomSchedulingConfigurationOverrides.java | 333 -- .../connector/DeleteConnectorRequest.java | 214 - .../connector/DeleteConnectorResponse.java | 108 - .../elasticsearch/connector/Dependency.java | 217 - .../elasticsearch/connector/DisplayType.java | 72 - .../ElasticsearchConnectorAsyncClient.java | 915 ---- .../ElasticsearchConnectorClient.java | 942 ---- .../connector/FeatureEnabled.java | 152 - .../connector/FilteringAdvancedSnippet.java | 237 - .../connector/FilteringConfig.java | 221 - .../connector/FilteringPolicy.java | 67 - .../connector/FilteringRule.java | 329 -- .../connector/FilteringRuleRule.java | 77 - .../connector/FilteringRules.java | 245 - .../connector/FilteringRulesValidation.java | 209 - .../connector/FilteringValidation.java | 221 - .../connector/FilteringValidationState.java | 69 - .../connector/GetConnectorRequest.java | 181 - .../connector/GetConnectorResponse.java | 106 - .../connector/GreaterThanValidation.java | 166 - .../connector/IncludedInValidation.java | 197 - .../connector/IngestPipelineParams.java | 230 - .../connector/LessThanValidation.java | 166 - .../elasticsearch/connector/ListRequest.java | 362 -- .../elasticsearch/connector/ListResponse.java | 207 - .../connector/ListTypeValidation.java | 167 - .../elasticsearch/connector/PostRequest.java | 333 -- .../elasticsearch/connector/PostResponse.java | 177 - .../elasticsearch/connector/PutRequest.java | 396 -- .../elasticsearch/connector/PutResponse.java | 177 - .../connector/RegexValidation.java | 165 - .../connector/SchedulingConfiguration.java | 241 - .../elasticsearch/connector/SelectOption.java | 217 - .../connector/SyncJobCancelRequest.java | 184 - .../connector/SyncJobCancelResponse.java | 156 - .../connector/SyncJobConnectorReference.java | 388 -- .../connector/SyncJobDeleteRequest.java | 183 - .../connector/SyncJobDeleteResponse.java | 108 - .../connector/SyncJobGetRequest.java | 182 - .../connector/SyncJobGetResponse.java | 106 - .../connector/SyncJobListRequest.java | 301 - .../connector/SyncJobListResponse.java | 210 - .../connector/SyncJobPostRequest.java | 245 - .../connector/SyncJobPostResponse.java | 156 - .../connector/SyncJobTriggerMethod.java | 67 - .../elasticsearch/connector/SyncJobType.java | 68 - .../connector/SyncRulesFeature.java | 201 - .../elasticsearch/connector/SyncStatus.java | 76 - .../UpdateActiveFilteringRequest.java | 184 - .../UpdateActiveFilteringResponse.java | 157 - .../connector/UpdateApiKeyIdRequest.java | 270 - .../connector/UpdateApiKeyIdResponse.java | 157 - .../connector/UpdateConfigurationRequest.java | 315 -- .../UpdateConfigurationResponse.java | 157 - .../connector/UpdateErrorRequest.java | 259 - .../connector/UpdateErrorResponse.java | 155 - .../connector/UpdateFilteringRequest.java | 357 -- .../connector/UpdateFilteringResponse.java | 157 - .../UpdateFilteringValidationRequest.java | 246 - .../UpdateFilteringValidationResponse.java | 158 - .../connector/UpdateIndexNameRequest.java | 261 - .../connector/UpdateIndexNameResponse.java | 157 - .../connector/UpdateNameRequest.java | 269 - .../connector/UpdateNameResponse.java | 155 - .../connector/UpdateNativeRequest.java | 235 - .../connector/UpdateNativeResponse.java | 156 - .../connector/UpdatePipelineRequest.java | 242 - .../connector/UpdatePipelineResponse.java | 157 - .../connector/UpdateSchedulingRequest.java | 244 - .../connector/UpdateSchedulingResponse.java | 157 - .../connector/UpdateServiceTypeRequest.java | 236 - .../connector/UpdateServiceTypeResponse.java | 157 - .../connector/UpdateStatusRequest.java | 234 - .../connector/UpdateStatusResponse.java | 156 - .../elasticsearch/connector/Validation.java | 308 -- .../connector/ValidationBuilders.java | 139 - .../connector/ValidationVariant.java | 50 - .../elasticsearch/core/BulkRequest.java | 614 --- .../elasticsearch/core/BulkResponse.java | 262 - .../core/ClearScrollRequest.java | 213 - .../core/ClearScrollResponse.java | 179 - .../core/ClosePointInTimeRequest.java | 190 - .../core/ClosePointInTimeResponse.java | 181 - .../elasticsearch/core/CountRequest.java | 764 --- .../elasticsearch/core/CountResponse.java | 185 - .../elasticsearch/core/CreateRequest.java | 561 -- .../elasticsearch/core/CreateResponse.java | 107 - .../core/DeleteByQueryRequest.java | 1349 ----- .../core/DeleteByQueryResponse.java | 652 --- .../elasticsearch/core/DeleteRequest.java | 490 -- .../elasticsearch/core/DeleteResponse.java | 107 - .../core/DeleteScriptRequest.java | 267 - .../core/DeleteScriptResponse.java | 107 - .../elasticsearch/core/ExistsRequest.java | 583 -- .../core/ExistsSourceRequest.java | 537 -- .../elasticsearch/core/ExplainRequest.java | 717 --- .../elasticsearch/core/ExplainResponse.java | 314 -- .../elasticsearch/core/FieldCapsRequest.java | 676 --- .../elasticsearch/core/FieldCapsResponse.java | 230 - .../elasticsearch/core/GetRequest.java | 587 -- .../elasticsearch/core/GetResponse.java | 122 - .../elasticsearch/core/GetScriptRequest.java | 222 - .../elasticsearch/core/GetScriptResponse.java | 216 - .../elasticsearch/core/GetSourceRequest.java | 577 -- .../elasticsearch/core/GetSourceResponse.java | 179 - .../elasticsearch/core/IndexRequest.java | 715 --- .../elasticsearch/core/IndexResponse.java | 107 - .../elasticsearch/core/InfoRequest.java | 97 - .../elasticsearch/core/InfoResponse.java | 258 - .../elasticsearch/core/MgetRequest.java | 670 --- .../elasticsearch/core/MgetResponse.java | 221 - .../elasticsearch/core/MsearchRequest.java | 624 --- .../elasticsearch/core/MsearchResponse.java | 123 - .../core/MsearchTemplateRequest.java | 386 -- .../core/MsearchTemplateResponse.java | 124 - .../core/MtermvectorsRequest.java | 698 --- .../core/MtermvectorsResponse.java | 185 - .../core/OpenPointInTimeRequest.java | 473 -- .../core/OpenPointInTimeResponse.java | 195 - .../elasticsearch/core/PingRequest.java | 100 - .../elasticsearch/core/PutScriptRequest.java | 386 -- .../elasticsearch/core/PutScriptResponse.java | 107 - .../elasticsearch/core/RankEvalRequest.java | 502 -- .../elasticsearch/core/RankEvalResponse.java | 273 - .../elasticsearch/core/ReindexRequest.java | 679 --- .../elasticsearch/core/ReindexResponse.java | 634 --- .../core/RenderSearchTemplateRequest.java | 351 -- .../core/RenderSearchTemplateResponse.java | 181 - .../core/ScriptsPainlessExecuteRequest.java | 291 - .../core/ScriptsPainlessExecuteResponse.java | 189 - .../elasticsearch/core/ScrollRequest.java | 237 - .../elasticsearch/core/ScrollResponse.java | 123 - .../elasticsearch/core/SearchMvtRequest.java | 1038 ---- .../elasticsearch/core/SearchRequest.java | 2768 ---------- .../elasticsearch/core/SearchResponse.java | 123 - .../core/SearchTemplateRequest.java | 777 --- .../core/SearchTemplateResponse.java | 642 --- .../elasticsearch/core/TermsEnumRequest.java | 472 -- .../elasticsearch/core/TermsEnumResponse.java | 230 - .../core/TermvectorsRequest.java | 783 --- .../core/TermvectorsResponse.java | 314 -- .../core/UpdateByQueryRequest.java | 1468 ----- .../core/UpdateByQueryResponse.java | 651 --- .../elasticsearch/core/UpdateRequest.java | 884 --- .../elasticsearch/core/UpdateResponse.java | 125 - .../core/bulk/BulkOperation.java | 283 - .../core/bulk/BulkOperationBase.java | 316 -- .../core/bulk/BulkOperationBuilders.java | 119 - .../core/bulk/BulkOperationVariant.java | 48 - .../core/bulk/BulkResponseItem.java | 553 -- .../core/bulk/CreateOperation.java | 150 - .../core/bulk/DeleteOperation.java | 114 - .../core/bulk/IndexOperation.java | 150 - .../core/bulk/OperationType.java | 70 - .../elasticsearch/core/bulk/UpdateAction.java | 448 -- .../core/bulk/UpdateOperation.java | 291 - .../core/bulk/WriteOperation.java | 225 - .../core/explain/Explanation.java | 231 - .../core/explain/ExplanationDetail.java | 233 - .../core/field_caps/FieldCapability.java | 650 --- .../elasticsearch/core/get/GetResult.java | 483 -- .../core/mget/MultiGetError.java | 209 - .../core/mget/MultiGetOperation.java | 380 -- .../core/mget/MultiGetResponseItem.java | 197 - .../mget/MultiGetResponseItemBuilders.java | 64 - .../core/msearch/MultiSearchItem.java | 163 - .../core/msearch/MultiSearchResponseItem.java | 198 - .../MultiSearchResponseItemBuilders.java | 64 - .../core/msearch/MultiSearchResult.java | 202 - .../core/msearch/MultisearchBody.java | 1658 ------ .../core/msearch/MultisearchHeader.java | 486 -- .../core/msearch/RequestItem.java | 178 - .../core/msearch_template/RequestItem.java | 180 - .../core/msearch_template/TemplateConfig.java | 328 -- .../MultiTermVectorsOperation.java | 607 -- .../mtermvectors/MultiTermVectorsResult.java | 369 -- .../core/rank_eval/DocumentRating.java | 217 - .../core/rank_eval/RankEvalHit.java | 203 - .../core/rank_eval/RankEvalHitItem.java | 196 - .../core/rank_eval/RankEvalMetric.java | 314 -- .../core/rank_eval/RankEvalMetricBase.java | 136 - .../core/rank_eval/RankEvalMetricDetail.java | 368 -- ...ankEvalMetricDiscountedCumulativeGain.java | 157 - .../RankEvalMetricExpectedReciprocalRank.java | 153 - .../RankEvalMetricMeanReciprocalRank.java | 113 - .../rank_eval/RankEvalMetricPrecision.java | 159 - .../RankEvalMetricRatingTreshold.java | 121 - .../core/rank_eval/RankEvalMetricRecall.java | 111 - .../core/rank_eval/RankEvalQuery.java | 194 - .../core/rank_eval/RankEvalRequestItem.java | 350 -- .../core/rank_eval/UnratedDocument.java | 178 - .../core/reindex/Destination.java | 300 - .../core/reindex/RemoteSource.java | 364 -- .../elasticsearch/core/reindex/Source.java | 518 -- .../PainlessContextSetup.java | 239 - .../core/search/AggregationBreakdown.java | 432 -- .../core/search/AggregationProfile.java | 328 -- .../core/search/AggregationProfileDebug.java | 1005 ---- ...AggregationProfileDelegateDebugFilter.java | 253 - .../core/search/BoundaryScanner.java | 89 - .../elasticsearch/core/search/Collector.java | 258 - .../core/search/CompletionContext.java | 369 -- .../core/search/CompletionSuggest.java | 216 - .../core/search/CompletionSuggestOption.java | 467 -- .../core/search/CompletionSuggester.java | 311 -- .../elasticsearch/core/search/Context.java | 197 - .../core/search/ContextBuilders.java | 60 - .../core/search/DirectGenerator.java | 529 -- .../core/search/FetchProfile.java | 326 -- .../core/search/FetchProfileBreakdown.java | 364 -- .../core/search/FetchProfileDebug.java | 207 - .../core/search/FieldCollapse.java | 294 - .../core/search/FieldSuggester.java | 456 -- .../core/search/FieldSuggesterBuilders.java | 102 - .../core/search/FieldSuggesterVariant.java | 48 - .../elasticsearch/core/search/Highlight.java | 198 - .../core/search/HighlightBase.java | 928 ---- .../core/search/HighlightField.java | 194 - .../core/search/HighlighterEncoder.java | 67 - .../core/search/HighlighterFragmenter.java | 67 - .../core/search/HighlighterOrder.java | 65 - .../core/search/HighlighterTagsSchema.java | 65 - .../core/search/HighlighterType.java | 78 - .../elasticsearch/core/search/Hit.java | 973 ---- .../core/search/HitsMetadata.java | 294 - .../elasticsearch/core/search/InnerHits.java | 755 --- .../core/search/InnerHitsResult.java | 161 - .../core/search/LaplaceSmoothingModel.java | 167 - .../core/search/LearningToRank.java | 222 - .../LinearInterpolationSmoothingModel.java | 213 - .../core/search/NestedIdentity.java | 216 - .../core/search/PhraseSuggest.java | 176 - .../core/search/PhraseSuggestCollate.java | 259 - .../search/PhraseSuggestCollateQuery.java | 199 - .../core/search/PhraseSuggestHighlight.java | 193 - .../core/search/PhraseSuggestOption.java | 241 - .../core/search/PhraseSuggester.java | 646 --- .../core/search/PointInTimeReference.java | 194 - .../elasticsearch/core/search/Profile.java | 183 - .../core/search/QueryBreakdown.java | 566 -- .../core/search/QueryProfile.java | 289 - .../core/search/RegexOptions.java | 197 - .../elasticsearch/core/search/Rescore.java | 329 -- .../core/search/RescoreBuilders.java | 81 - .../core/search/RescoreQuery.java | 281 - .../core/search/RescoreVariant.java | 48 - .../core/search/ResponseBody.java | 590 -- .../elasticsearch/core/search/ScoreMode.java | 89 - .../core/search/SearchProfile.java | 259 - .../core/search/ShardProfile.java | 297 - .../core/search/SmoothingModel.java | 257 - .../core/search/SmoothingModelBuilders.java | 104 - .../core/search/SmoothingModelVariant.java | 48 - .../core/search/SourceConfig.java | 192 - .../core/search/SourceConfigBuilders.java | 59 - .../core/search/SourceConfigParam.java | 213 - .../search/SourceConfigParamBuilders.java | 53 - .../core/search/SourceFilter.java | 224 - .../core/search/StringDistance.java | 89 - .../search/StupidBackoffSmoothingModel.java | 170 - .../core/search/SuggestBase.java | 174 - .../core/search/SuggestFuzziness.java | 303 - .../core/search/SuggestSort.java | 74 - .../elasticsearch/core/search/Suggester.java | 222 - .../core/search/SuggesterBase.java | 201 - .../elasticsearch/core/search/Suggestion.java | 252 - .../core/search/SuggestionBuilders.java | 71 - .../core/search/SuggestionVariant.java | 48 - .../core/search/TermSuggest.java | 176 - .../core/search/TermSuggestOption.java | 264 - .../core/search/TermSuggester.java | 548 -- .../elasticsearch/core/search/TotalHits.java | 207 - .../core/search/TotalHitsRelation.java | 73 - .../elasticsearch/core/search/TrackHits.java | 207 - .../core/search/TrackHitsBuilders.java | 51 - .../core/search_mvt/GridAggregationType.java | 67 - .../core/search_mvt/GridType.java | 68 - .../core/termvectors/FieldStatistics.java | 202 - .../core/termvectors/Filter.java | 364 -- .../elasticsearch/core/termvectors/Term.java | 296 - .../core/termvectors/TermVector.java | 221 - .../elasticsearch/core/termvectors/Token.java | 242 - .../core/update/UpdateWriteResponseBase.java | 140 - .../elasticsearch/doc-files/api-spec.html | 1789 ------ .../enrich/DeletePolicyRequest.java | 183 - .../enrich/DeletePolicyResponse.java | 107 - .../ElasticsearchEnrichAsyncClient.java | 230 - .../enrich/ElasticsearchEnrichClient.java | 233 - .../elasticsearch/enrich/EnrichPolicy.java | 338 -- .../enrich/EnrichPolicyType.java | 68 - .../enrich/EnrichStatsRequest.java | 99 - .../enrich/EnrichStatsResponse.java | 331 -- .../elasticsearch/enrich/EnrichSummary.java | 174 - .../enrich/ExecutePolicyRequest.java | 216 - .../enrich/ExecutePolicyResponse.java | 198 - .../enrich/GetPolicyRequest.java | 212 - .../enrich/GetPolicyResponse.java | 182 - .../enrich/PutPolicyRequest.java | 343 -- .../enrich/PutPolicyResponse.java | 107 - .../execute_policy/EnrichPolicyPhase.java | 71 - .../ExecuteEnrichPolicyStatus.java | 156 - .../enrich/stats/CacheStats.java | 323 -- .../enrich/stats/CoordinatorStats.java | 255 - .../enrich/stats/ExecutingPolicy.java | 185 - .../eql/ElasticsearchEqlAsyncClient.java | 280 - .../eql/ElasticsearchEqlClient.java | 287 - .../elasticsearch/eql/EqlDeleteRequest.java | 189 - .../elasticsearch/eql/EqlDeleteResponse.java | 107 - .../elasticsearch/eql/EqlGetRequest.java | 273 - .../elasticsearch/eql/EqlGetResponse.java | 121 - .../clients/elasticsearch/eql/EqlHits.java | 341 -- .../elasticsearch/eql/EqlSearchRequest.java | 875 --- .../elasticsearch/eql/EqlSearchResponse.java | 121 - .../eql/EqlSearchResponseBase.java | 326 -- .../eql/GetEqlStatusRequest.java | 184 - .../eql/GetEqlStatusResponse.java | 332 -- .../clients/elasticsearch/eql/HitsEvent.java | 342 -- .../elasticsearch/eql/HitsSequence.java | 283 - .../eql/search/ResultPosition.java | 72 - .../esql/ElasticsearchEsqlAsyncClient.java | 142 - .../esql/ElasticsearchEsqlClient.java | 144 - .../elasticsearch/esql/QueryRequest.java | 660 --- .../elasticsearch/esql/TableValues.java | 343 -- .../esql/TableValuesBuilders.java | 57 - .../esql/TableValuesVariant.java | 48 - .../elasticsearch/esql/query/EsqlFormat.java | 78 - .../elasticsearch/graph/Connection.java | 225 - .../graph/ElasticsearchGraphAsyncClient.java | 103 - .../graph/ElasticsearchGraphClient.java | 103 - .../elasticsearch/graph/ExploreControls.java | 306 -- .../elasticsearch/graph/ExploreRequest.java | 500 -- .../elasticsearch/graph/ExploreResponse.java | 337 -- .../clients/elasticsearch/graph/Hop.java | 276 - .../elasticsearch/graph/SampleDiversity.java | 178 - .../clients/elasticsearch/graph/Vertex.java | 227 - .../elasticsearch/graph/VertexDefinition.java | 382 -- .../elasticsearch/graph/VertexInclude.java | 178 - .../indices/AddBlockRequest.java | 407 -- .../indices/AddBlockResponse.java | 233 - .../clients/elasticsearch/indices/Alias.java | 344 -- .../indices/AliasDefinition.java | 344 -- .../elasticsearch/indices/AnalyzeRequest.java | 646 --- .../indices/AnalyzeResponse.java | 221 - .../elasticsearch/indices/CacheQueries.java | 152 - .../indices/CreateDataStreamRequest.java | 282 - .../indices/CreateDataStreamResponse.java | 109 - .../indices/CreateIndexRequest.java | 503 -- .../indices/CreateIndexResponse.java | 205 - .../elasticsearch/indices/DataStream.java | 775 --- .../indices/DataStreamIndex.java | 287 - .../indices/DataStreamLifecycle.java | 207 - .../DataStreamLifecycleDownsampling.java | 199 - ...DataStreamLifecycleRolloverConditions.java | 434 -- .../DataStreamLifecycleWithRollover.java | 291 - .../indices/DataStreamTimestampField.java | 165 - .../indices/DataStreamVisibility.java | 161 - .../indices/DataStreamsStatsRequest.java | 249 - .../indices/DataStreamsStatsResponse.java | 360 -- .../indices/DeleteAliasRequest.java | 349 -- .../indices/DeleteAliasResponse.java | 107 - .../indices/DeleteDataLifecycleRequest.java | 329 -- .../indices/DeleteDataLifecycleResponse.java | 109 - .../indices/DeleteDataStreamRequest.java | 292 - .../indices/DeleteDataStreamResponse.java | 109 - .../indices/DeleteIndexRequest.java | 421 -- .../indices/DeleteIndexResponse.java | 107 - .../indices/DeleteIndexTemplateRequest.java | 289 - .../indices/DeleteIndexTemplateResponse.java | 109 - .../indices/DownsampleConfig.java | 166 - .../indices/DownsamplingRound.java | 207 - .../ElasticsearchIndicesAsyncClient.java | 1502 ----- .../indices/ElasticsearchIndicesClient.java | 1542 ------ .../indices/ExistsAliasRequest.java | 426 -- .../indices/ExistsIndexTemplateRequest.java | 229 - .../elasticsearch/indices/ExistsRequest.java | 420 -- .../indices/ExplainDataLifecycleRequest.java | 275 - .../indices/ExplainDataLifecycleResponse.java | 191 - .../elasticsearch/indices/FailureStore.java | 230 - .../indices/FielddataFrequencyFilter.java | 205 - .../indices/GetAliasRequest.java | 446 -- .../indices/GetAliasResponse.java | 188 - .../indices/GetDataLifecycleRequest.java | 333 -- .../indices/GetDataLifecycleResponse.java | 189 - .../indices/GetDataStreamRequest.java | 366 -- .../indices/GetDataStreamResponse.java | 185 - .../indices/GetIndexRequest.java | 496 -- .../indices/GetIndexResponse.java | 187 - .../indices/GetIndexTemplateRequest.java | 331 -- .../indices/GetIndexTemplateResponse.java | 188 - .../indices/GetIndicesSettingsRequest.java | 541 -- .../indices/GetIndicesSettingsResponse.java | 189 - .../indices/GetMappingRequest.java | 418 -- .../indices/GetMappingResponse.java | 191 - .../indices/IndexCheckOnStartup.java | 69 - .../elasticsearch/indices/IndexRouting.java | 202 - .../indices/IndexRoutingAllocation.java | 271 - .../indices/IndexRoutingAllocationDisk.java | 162 - .../IndexRoutingAllocationInclude.java | 191 - ...IndexRoutingAllocationInitialRecovery.java | 164 - .../IndexRoutingAllocationOptions.java | 71 - .../indices/IndexRoutingRebalance.java | 155 - .../indices/IndexRoutingRebalanceOptions.java | 71 - .../indices/IndexSegmentSort.java | 304 - .../indices/IndexSettingBlocks.java | 277 - .../elasticsearch/indices/IndexSettings.java | 2068 ------- .../indices/IndexSettingsAnalysis.java | 409 -- .../indices/IndexSettingsLifecycle.java | 367 -- .../indices/IndexSettingsLifecycleStep.java | 181 - .../indices/IndexSettingsTimeSeries.java | 189 - .../elasticsearch/indices/IndexState.java | 374 -- .../elasticsearch/indices/IndexTemplate.java | 494 -- .../IndexTemplateDataStreamConfiguration.java | 201 - .../indices/IndexTemplateSummary.java | 333 -- .../indices/IndexVersioning.java | 187 - .../indices/IndexingPressure.java | 160 - .../indices/IndexingPressureMemory.java | 172 - .../indices/IndexingSlowlogSettings.java | 259 - .../indices/IndexingSlowlogTresholds.java | 180 - .../elasticsearch/indices/ManagedBy.java | 68 - .../indices/MappingLimitSettings.java | 416 -- .../indices/MappingLimitSettingsDepth.java | 172 - .../MappingLimitSettingsDimensionFields.java | 174 - .../MappingLimitSettingsFieldNameLength.java | 178 - .../MappingLimitSettingsNestedFields.java | 173 - .../MappingLimitSettingsNestedObjects.java | 171 - .../MappingLimitSettingsTotalFields.java | 222 - .../clients/elasticsearch/indices/Merge.java | 164 - .../elasticsearch/indices/MergeScheduler.java | 187 - .../indices/MigrateToDataStreamRequest.java | 276 - .../indices/MigrateToDataStreamResponse.java | 109 - .../indices/ModifyDataStreamRequest.java | 225 - .../indices/ModifyDataStreamResponse.java | 109 - .../indices/NumericFielddata.java | 152 - .../indices/NumericFielddataFormat.java | 67 - .../indices/PutAliasRequest.java | 559 -- .../indices/PutAliasResponse.java | 107 - .../indices/PutDataLifecycleRequest.java | 474 -- .../indices/PutDataLifecycleResponse.java | 109 - .../indices/PutIndexTemplateRequest.java | 791 --- .../indices/PutIndexTemplateResponse.java | 109 - .../indices/PutIndicesSettingsRequest.java | 538 -- .../indices/PutIndicesSettingsResponse.java | 108 - .../indices/PutMappingRequest.java | 1030 ---- .../indices/PutMappingResponse.java | 107 - .../indices/PutTemplateRequest.java | 591 -- .../indices/PutTemplateResponse.java | 107 - .../elasticsearch/indices/Queries.java | 164 - .../elasticsearch/indices/RefreshRequest.java | 341 -- .../indices/RefreshResponse.java | 107 - .../indices/ResolveIndexRequest.java | 340 -- .../indices/ResolveIndexResponse.java | 293 - .../elasticsearch/indices/RetentionLease.java | 160 - .../indices/RolloverRequest.java | 643 --- .../indices/RolloverResponse.java | 321 -- .../elasticsearch/indices/SearchIdle.java | 165 - .../indices/SegmentSortMissing.java | 67 - .../indices/SegmentSortMode.java | 72 - .../indices/SegmentSortOrder.java | 72 - .../indices/SettingsAnalyze.java | 158 - .../indices/SettingsHighlight.java | 159 - .../indices/SettingsQueryString.java | 155 - .../elasticsearch/indices/SettingsSearch.java | 200 - .../indices/SettingsSimilarity.java | 410 -- .../indices/SettingsSimilarityBm25.java | 232 - .../indices/SettingsSimilarityBoolean.java | 139 - .../indices/SettingsSimilarityBuilders.java | 199 - .../indices/SettingsSimilarityDfi.java | 168 - .../indices/SettingsSimilarityDfr.java | 215 - .../indices/SettingsSimilarityIb.java | 215 - .../indices/SettingsSimilarityLmd.java | 172 - .../indices/SettingsSimilarityLmj.java | 172 - .../indices/SettingsSimilarityScripted.java | 212 - .../indices/SettingsSimilarityVariant.java | 50 - .../indices/SimulateIndexTemplateRequest.java | 258 - .../SimulateIndexTemplateResponse.java | 219 - .../indices/SimulateTemplateRequest.java | 816 --- .../indices/SimulateTemplateResponse.java | 219 - .../indices/SlowlogSettings.java | 254 - .../indices/SlowlogTresholdLevels.java | 276 - .../indices/SlowlogTresholds.java | 200 - .../elasticsearch/indices/SoftDeletes.java | 216 - .../elasticsearch/indices/Storage.java | 206 - .../elasticsearch/indices/StorageType.java | 96 - .../elasticsearch/indices/Translog.java | 290 - .../indices/TranslogDurability.java | 82 - .../indices/TranslogRetention.java | 236 - .../indices/UpdateAliasesRequest.java | 311 -- .../indices/UpdateAliasesResponse.java | 107 - .../indices/ValidateQueryRequest.java | 702 --- .../indices/ValidateQueryResponse.java | 280 - .../add_block/IndicesBlockOptions.java | 71 - .../indices/add_block/IndicesBlockStatus.java | 181 - .../indices/analyze/AnalyzeDetail.java | 335 -- .../indices/analyze/AnalyzeToken.java | 279 - .../indices/analyze/AnalyzerDetail.java | 208 - .../indices/analyze/CharFilterDetail.java | 199 - .../indices/analyze/ExplainAnalyzeToken.java | 402 -- .../indices/analyze/TokenDetail.java | 207 - .../DataStreamsStatsItem.java | 295 - .../DataStreamLifecycleExplain.java | 418 -- .../elasticsearch/indices/get/Feature.java | 67 - .../indices/get_alias/IndexAliases.java | 186 - .../DataStreamWithLifecycle.java | 195 - .../get_index_template/IndexTemplateItem.java | 186 - .../get_mapping/IndexMappingRecord.java | 199 - .../indices/modify_data_stream/Action.java | 227 - .../modify_data_stream/ActionBuilders.java | 85 - .../modify_data_stream/ActionVariant.java | 48 - .../IndexAndDataStreamAction.java | 197 - .../IndexTemplateMapping.java | 335 -- .../ReloadDetails.java | 245 - .../reload_search_analyzers/ReloadResult.java | 215 - .../resolve_index/ResolveIndexAliasItem.java | 202 - .../ResolveIndexDataStreamsItem.java | 227 - .../resolve_index/ResolveIndexItem.java | 274 - .../indices/rollover/RolloverConditions.java | 583 -- .../simulate_template/Overlapping.java | 200 - .../indices/simulate_template/Template.java | 249 - .../indices/update_aliases/Action.java | 254 - .../update_aliases/ActionBuilders.java | 97 - .../indices/update_aliases/ActionVariant.java | 48 - .../indices/update_aliases/AddAction.java | 560 -- .../indices/update_aliases/RemoveAction.java | 342 -- .../update_aliases/RemoveIndexAction.java | 258 - .../IndicesValidationExplanation.java | 240 - .../inference/CompletionResult.java | 155 - .../DeleteInferenceEndpointResult.java | 134 - .../inference/DeleteInferenceRequest.java | 292 - .../inference/DeleteInferenceResponse.java | 107 - .../ElasticsearchInferenceAsyncClient.java | 214 - .../ElasticsearchInferenceClient.java | 214 - .../inference/GetInferenceRequest.java | 238 - .../inference/GetInferenceResponse.java | 186 - .../inference/InferenceEndpoint.java | 226 - .../inference/InferenceEndpointInfo.java | 182 - .../inference/InferenceRequest.java | 413 -- .../inference/InferenceResponse.java | 155 - .../inference/InferenceResult.java | 348 -- .../inference/InferenceResultBuilders.java | 53 - .../inference/InferenceResultVariant.java | 48 - .../elasticsearch/inference/PutRequest.java | 280 - .../elasticsearch/inference/PutResponse.java | 106 - .../inference/RankedDocument.java | 213 - .../inference/SparseEmbeddingResult.java | 180 - .../elasticsearch/inference/TaskType.java | 69 - .../inference/TextEmbeddingByteResult.java | 180 - .../inference/TextEmbeddingResult.java | 179 - .../elasticsearch/ingest/AppendProcessor.java | 240 - .../ingest/AttachmentProcessor.java | 425 -- .../elasticsearch/ingest/BytesProcessor.java | 226 - .../elasticsearch/ingest/CircleProcessor.java | 288 - .../ingest/ConvertProcessor.java | 253 - .../elasticsearch/ingest/ConvertType.java | 76 - .../elasticsearch/ingest/CsvProcessor.java | 375 -- .../ingest/DateIndexNameProcessor.java | 388 -- .../elasticsearch/ingest/DateProcessor.java | 306 -- .../ingest/DeletePipelineRequest.java | 271 - .../ingest/DeletePipelineResponse.java | 108 - .../ingest/DissectProcessor.java | 251 - .../ingest/DotExpanderProcessor.java | 235 - .../elasticsearch/ingest/DropProcessor.java | 112 - .../ElasticsearchIngestAsyncClient.java | 235 - .../ingest/ElasticsearchIngestClient.java | 239 - .../elasticsearch/ingest/EnrichProcessor.java | 366 -- .../elasticsearch/ingest/FailProcessor.java | 152 - .../ingest/ForeachProcessor.java | 225 - .../ingest/GeoGridProcessor.java | 421 -- .../ingest/GeoGridTargetFormat.java | 67 - .../elasticsearch/ingest/GeoGridTileType.java | 68 - .../elasticsearch/ingest/GeoIpProcessor.java | 393 -- .../ingest/GetPipelineRequest.java | 273 - .../ingest/GetPipelineResponse.java | 189 - .../elasticsearch/ingest/GrokProcessor.java | 339 -- .../elasticsearch/ingest/GsubProcessor.java | 280 - .../ingest/HtmlStripProcessor.java | 227 - .../elasticsearch/ingest/InferenceConfig.java | 223 - .../ingest/InferenceConfigBuilders.java | 85 - .../ingest/InferenceConfigClassification.java | 312 -- .../ingest/InferenceConfigRegression.java | 211 - .../ingest/InferenceConfigVariant.java | 48 - .../ingest/InferenceProcessor.java | 290 - .../elasticsearch/ingest/JoinProcessor.java | 214 - .../elasticsearch/ingest/JsonProcessor.java | 300 - .../ingest/JsonProcessorConflictStrategy.java | 74 - .../ingest/KeyValueProcessor.java | 525 -- .../ingest/LowercaseProcessor.java | 227 - .../elasticsearch/ingest/Pipeline.java | 418 -- .../ingest/PipelineProcessor.java | 187 - .../elasticsearch/ingest/Processor.java | 1409 ----- .../elasticsearch/ingest/ProcessorBase.java | 299 - .../ingest/ProcessorBuilders.java | 750 --- .../ingest/ProcessorGrokRequest.java | 101 - .../ingest/ProcessorGrokResponse.java | 178 - .../ingest/ProcessorVariant.java | 48 - .../ingest/PutPipelineRequest.java | 638 --- .../ingest/PutPipelineResponse.java | 107 - .../elasticsearch/ingest/RedactProcessor.java | 390 -- .../elasticsearch/ingest/RemoveProcessor.java | 266 - .../elasticsearch/ingest/RenameProcessor.java | 216 - .../ingest/RerouteProcessor.java | 326 -- .../elasticsearch/ingest/ScriptProcessor.java | 281 - .../elasticsearch/ingest/SetProcessor.java | 340 -- .../ingest/SetSecurityUserProcessor.java | 207 - .../elasticsearch/ingest/ShapeType.java | 66 - .../elasticsearch/ingest/SimulateRequest.java | 369 -- .../ingest/SimulateResponse.java | 183 - .../elasticsearch/ingest/SortProcessor.java | 221 - .../elasticsearch/ingest/SplitProcessor.java | 287 - .../elasticsearch/ingest/TrimProcessor.java | 222 - .../ingest/UppercaseProcessor.java | 227 - .../ingest/UriPartsProcessor.java | 294 - .../ingest/UrlDecodeProcessor.java | 227 - .../ingest/UserAgentProcessor.java | 347 -- .../ingest/UserAgentProperty.java | 72 - .../ingest/simulate/Document.java | 226 - .../ingest/simulate/DocumentSimulation.java | 412 -- .../elasticsearch/ingest/simulate/Ingest.java | 183 - .../ingest/simulate/PipelineSimulation.java | 357 -- .../simulate/SimulateDocumentResult.java | 262 - .../ElasticsearchLicenseAsyncClient.java | 128 - .../license/ElasticsearchLicenseClient.java | 126 - .../license/GetLicenseRequest.java | 216 - .../license/GetLicenseResponse.java | 162 - .../elasticsearch/license/LicenseStatus.java | 70 - .../elasticsearch/license/LicenseType.java | 80 - .../license/get/LicenseInformation.java | 444 -- .../logstash/DeletePipelineRequest.java | 185 - .../ElasticsearchLogstashAsyncClient.java | 183 - .../logstash/ElasticsearchLogstashClient.java | 183 - .../logstash/GetPipelineRequest.java | 209 - .../logstash/GetPipelineResponse.java | 189 - .../elasticsearch/logstash/Pipeline.java | 325 -- .../logstash/PipelineMetadata.java | 178 - .../logstash/PipelineSettings.java | 343 -- .../logstash/PutPipelineRequest.java | 239 - .../elasticsearch/ml/AnalysisConfig.java | 764 --- .../elasticsearch/ml/AnalysisConfigRead.java | 697 --- .../elasticsearch/ml/AnalysisLimits.java | 239 - .../elasticsearch/ml/AnalysisMemoryLimit.java | 165 - .../elasticsearch/ml/ApiKeyAuthorization.java | 187 - .../clients/elasticsearch/ml/AppliesTo.java | 70 - .../elasticsearch/ml/CalendarEvent.java | 279 - .../ml/CategorizationAnalyzer.java | 191 - .../ml/CategorizationAnalyzerBuilders.java | 59 - .../ml/CategorizationAnalyzerDefinition.java | 373 -- .../ml/CategorizationStatus.java | 66 - .../elasticsearch/ml/ChunkingConfig.java | 212 - .../elasticsearch/ml/ChunkingMode.java | 68 - .../ml/ClassificationInferenceOptions.java | 340 -- .../elasticsearch/ml/CloseJobRequest.java | 343 -- .../elasticsearch/ml/CloseJobResponse.java | 152 - .../elasticsearch/ml/ConditionOperator.java | 70 - .../clients/elasticsearch/ml/DataCounts.java | 626 --- .../elasticsearch/ml/DataDescription.java | 275 - .../clients/elasticsearch/ml/Datafeed.java | 757 --- .../ml/DatafeedAuthorization.java | 266 - .../elasticsearch/ml/DatafeedConfig.java | 876 --- .../ml/DatafeedRunningState.java | 239 - .../elasticsearch/ml/DatafeedState.java | 70 - .../elasticsearch/ml/DatafeedStats.java | 316 -- .../elasticsearch/ml/DatafeedTimingStats.java | 310 -- .../elasticsearch/ml/DataframeAnalysis.java | 257 - .../ml/DataframeAnalysisAnalyzedFields.java | 247 - .../ml/DataframeAnalysisBase.java | 908 --- .../ml/DataframeAnalysisBuilders.java | 104 - .../ml/DataframeAnalysisClassification.java | 202 - .../ml/DataframeAnalysisFeatureProcessor.java | 340 -- ...frameAnalysisFeatureProcessorBuilders.java | 152 - ...ysisFeatureProcessorFrequencyEncoding.java | 256 - ...AnalysisFeatureProcessorMultiEncoding.java | 201 - ...AnalysisFeatureProcessorNGramEncoding.java | 363 -- ...nalysisFeatureProcessorOneHotEncoding.java | 202 - ...sisFeatureProcessorTargetMeanEncoding.java | 285 - ...aframeAnalysisFeatureProcessorVariant.java | 48 - .../ml/DataframeAnalysisOutlierDetection.java | 370 -- .../ml/DataframeAnalysisRegression.java | 199 - .../ml/DataframeAnalysisVariant.java | 48 - .../elasticsearch/ml/DataframeAnalytics.java | 413 -- .../ml/DataframeAnalyticsAuthorization.java | 269 - .../ml/DataframeAnalyticsDestination.java | 199 - .../ml/DataframeAnalyticsSource.java | 367 -- .../ml/DataframeAnalyticsStats.java | 263 - .../ml/DataframeAnalyticsStatsBuilders.java | 107 - .../ml/DataframeAnalyticsStatsDataCounts.java | 227 - ...ataframeAnalyticsStatsHyperparameters.java | 319 -- .../DataframeAnalyticsStatsMemoryUsage.java | 261 - ...taframeAnalyticsStatsOutlierDetection.java | 254 - .../ml/DataframeAnalyticsStatsProgress.java | 193 - .../ml/DataframeAnalyticsStatsVariant.java | 48 - .../ml/DataframeAnalyticsSummary.java | 516 -- .../elasticsearch/ml/DataframeEvaluation.java | 259 - .../ml/DataframeEvaluationBuilders.java | 105 - .../ml/DataframeEvaluationClassification.java | 290 - ...aframeEvaluationClassificationMetrics.java | 227 - ...EvaluationClassificationMetricsAucRoc.java | 210 - .../ml/DataframeEvaluationMetrics.java | 257 - .../DataframeEvaluationOutlierDetection.java | 253 - ...rameEvaluationOutlierDetectionMetrics.java | 175 - .../ml/DataframeEvaluationRegression.java | 251 - .../DataframeEvaluationRegressionMetrics.java | 335 -- ...frameEvaluationRegressionMetricsHuber.java | 172 - ...aframeEvaluationRegressionMetricsMsle.java | 170 - .../ml/DataframeEvaluationVariant.java | 48 - .../elasticsearch/ml/DataframeState.java | 72 - .../ml/DelayedDataCheckConfig.java | 221 - .../ml/DeleteCalendarEventRequest.java | 217 - .../ml/DeleteCalendarEventResponse.java | 109 - .../ml/DeleteCalendarJobRequest.java | 233 - .../ml/DeleteCalendarJobResponse.java | 244 - .../ml/DeleteCalendarRequest.java | 183 - .../ml/DeleteCalendarResponse.java | 108 - .../ml/DeleteDataFrameAnalyticsRequest.java | 258 - .../ml/DeleteDataFrameAnalyticsResponse.java | 110 - .../ml/DeleteDatafeedRequest.java | 221 - .../ml/DeleteDatafeedResponse.java | 108 - .../elasticsearch/ml/DeleteFilterRequest.java | 184 - .../ml/DeleteFilterResponse.java | 107 - .../elasticsearch/ml/DeleteJobRequest.java | 284 - .../elasticsearch/ml/DeleteJobResponse.java | 107 - .../ml/DeleteTrainedModelAliasRequest.java | 219 - .../ml/DeleteTrainedModelAliasResponse.java | 110 - .../ml/DeleteTrainedModelRequest.java | 216 - .../ml/DeleteTrainedModelResponse.java | 109 - .../ml/DeploymentAllocationState.java | 78 - .../ml/DeploymentAssignmentState.java | 71 - .../elasticsearch/ml/DeploymentState.java | 79 - .../elasticsearch/ml/DetectionRule.java | 331 -- .../clients/elasticsearch/ml/Detector.java | 530 -- .../elasticsearch/ml/DetectorRead.java | 529 -- .../ml/ElasticsearchMlAsyncClient.java | 2356 -------- .../ml/ElasticsearchMlClient.java | 2417 -------- .../ml/EstimateModelMemoryRequest.java | 350 -- .../ml/EstimateModelMemoryResponse.java | 158 - .../ml/EvaluateDataFrameRequest.java | 276 - .../ml/EvaluateDataFrameResponse.java | 245 - .../elasticsearch/ml/ExcludeFrequent.java | 70 - .../ml/FillMaskInferenceOptions.java | 298 - .../ml/FillMaskInferenceUpdateOptions.java | 254 - .../clients/elasticsearch/ml/Filter.java | 241 - .../clients/elasticsearch/ml/FilterRef.java | 192 - .../clients/elasticsearch/ml/FilterType.java | 66 - .../elasticsearch/ml/FlushJobRequest.java | 380 -- .../elasticsearch/ml/FlushJobResponse.java | 190 - .../ml/GetCalendarEventsRequest.java | 345 -- .../ml/GetCalendarEventsResponse.java | 210 - .../elasticsearch/ml/GetCalendarsRequest.java | 336 -- .../ml/GetCalendarsResponse.java | 209 - .../ml/GetDataFrameAnalyticsRequest.java | 353 -- .../ml/GetDataFrameAnalyticsResponse.java | 226 - .../ml/GetDataFrameAnalyticsStatsRequest.java | 350 -- .../GetDataFrameAnalyticsStatsResponse.java | 228 - .../ml/GetDatafeedStatsRequest.java | 280 - .../ml/GetDatafeedStatsResponse.java | 210 - .../elasticsearch/ml/GetDatafeedsRequest.java | 310 -- .../ml/GetDatafeedsResponse.java | 209 - .../elasticsearch/ml/GetFiltersRequest.java | 271 - .../elasticsearch/ml/GetFiltersResponse.java | 209 - .../elasticsearch/ml/GetJobStatsRequest.java | 253 - .../elasticsearch/ml/GetJobStatsResponse.java | 209 - .../elasticsearch/ml/GetJobsRequest.java | 305 -- .../elasticsearch/ml/GetJobsResponse.java | 207 - .../ml/GetOverallBucketsRequest.java | 488 -- .../ml/GetOverallBucketsResponse.java | 219 - .../ml/GetTrainedModelsRequest.java | 471 -- .../ml/GetTrainedModelsResponse.java | 225 - .../ml/GetTrainedModelsStatsRequest.java | 326 -- .../ml/GetTrainedModelsStatsResponse.java | 236 - .../elasticsearch/ml/Hyperparameter.java | 295 - .../elasticsearch/ml/Hyperparameters.java | 701 --- .../clients/elasticsearch/ml/Include.java | 91 - .../ml/InferTrainedModelRequest.java | 379 -- .../ml/InferTrainedModelResponse.java | 187 - .../ml/InferenceConfigCreate.java | 480 -- .../ml/InferenceConfigCreateBuilders.java | 240 - .../ml/InferenceConfigCreateVariant.java | 48 - .../ml/InferenceConfigUpdate.java | 482 -- .../ml/InferenceConfigUpdateBuilders.java | 243 - .../ml/InferenceConfigUpdateVariant.java | 48 - .../ml/InferenceResponseResult.java | 583 -- .../elastic/clients/elasticsearch/ml/Job.java | 1030 ---- .../clients/elasticsearch/ml/JobBlocked.java | 182 - .../elasticsearch/ml/JobBlockedReason.java | 68 - .../clients/elasticsearch/ml/JobConfig.java | 844 --- .../ml/JobForecastStatistics.java | 336 -- .../clients/elasticsearch/ml/JobState.java | 93 - .../elasticsearch/ml/JobStatistics.java | 224 - .../clients/elasticsearch/ml/JobStats.java | 463 -- .../elasticsearch/ml/JobTimingStats.java | 355 -- .../elasticsearch/ml/MemoryStatus.java | 68 - .../elasticsearch/ml/ModelPlotConfig.java | 239 - .../elasticsearch/ml/ModelSizeStats.java | 667 --- .../elasticsearch/ml/NerInferenceOptions.java | 306 -- .../ml/NerInferenceUpdateOptions.java | 219 - .../ml/NlpBertTokenizationConfig.java | 311 -- .../ml/NlpRobertaTokenizationConfig.java | 311 -- .../ml/NlpTokenizationUpdateOptions.java | 198 - .../elasticsearch/ml/OpenJobRequest.java | 258 - .../elasticsearch/ml/OpenJobResponse.java | 186 - .../ml/OutlierDetectionParameters.java | 361 -- .../elasticsearch/ml/OverallBucket.java | 370 -- .../elasticsearch/ml/OverallBucketJob.java | 178 - .../clients/elasticsearch/ml/Page.java | 195 - .../ml/PassThroughInferenceOptions.java | 255 - .../ml/PassThroughInferenceUpdateOptions.java | 220 - .../ml/PerPartitionCategorization.java | 215 - .../ml/PostCalendarEventsRequest.java | 282 - .../ml/PostCalendarEventsResponse.java | 186 - .../ml/PreviewDataFrameAnalyticsRequest.java | 281 - .../ml/PreviewDataFrameAnalyticsResponse.java | 203 - .../ml/PreviewDatafeedRequest.java | 415 -- .../ml/PreviewDatafeedResponse.java | 199 - .../ml/PutCalendarJobRequest.java | 233 - .../ml/PutCalendarJobResponse.java | 244 - .../elasticsearch/ml/PutCalendarRequest.java | 295 - .../elasticsearch/ml/PutCalendarResponse.java | 243 - .../ml/PutDataFrameAnalyticsRequest.java | 714 --- .../ml/PutDataFrameAnalyticsResponse.java | 478 -- .../elasticsearch/ml/PutDatafeedRequest.java | 1135 ---- .../elasticsearch/ml/PutDatafeedResponse.java | 690 --- .../elasticsearch/ml/PutFilterRequest.java | 303 - .../elasticsearch/ml/PutFilterResponse.java | 222 - .../elasticsearch/ml/PutJobRequest.java | 908 --- .../elasticsearch/ml/PutJobResponse.java | 722 --- .../ml/PutTrainedModelAliasRequest.java | 262 - .../ml/PutTrainedModelAliasResponse.java | 109 - .../PutTrainedModelDefinitionPartRequest.java | 345 -- ...PutTrainedModelDefinitionPartResponse.java | 111 - .../ml/PutTrainedModelRequest.java | 736 --- .../ml/PutTrainedModelResponse.java | 107 - .../ml/PutTrainedModelVocabularyRequest.java | 370 -- .../ml/PutTrainedModelVocabularyResponse.java | 110 - .../ml/QuestionAnsweringInferenceOptions.java | 287 - ...estionAnsweringInferenceUpdateOptions.java | 317 -- .../ml/RegressionInferenceOptions.java | 234 - .../elasticsearch/ml/ResetJobRequest.java | 247 - .../elasticsearch/ml/ResetJobResponse.java | 107 - .../elasticsearch/ml/RoutingState.java | 88 - .../clients/elasticsearch/ml/RuleAction.java | 78 - .../elasticsearch/ml/RuleCondition.java | 221 - .../ml/RunningStateSearchInterval.java | 274 - .../ml/StartDataFrameAnalyticsRequest.java | 243 - .../ml/StartDataFrameAnalyticsResponse.java | 196 - .../ml/StartDatafeedRequest.java | 342 -- .../ml/StartDatafeedResponse.java | 218 - .../StartTrainedModelDeploymentRequest.java | 440 -- .../StartTrainedModelDeploymentResponse.java | 166 - .../ml/StopDataFrameAnalyticsRequest.java | 316 -- .../ml/StopDataFrameAnalyticsResponse.java | 157 - .../elasticsearch/ml/StopDatafeedRequest.java | 330 -- .../ml/StopDatafeedResponse.java | 154 - .../ml/StopTrainedModelDeploymentRequest.java | 261 - .../StopTrainedModelDeploymentResponse.java | 158 - .../TextClassificationInferenceOptions.java | 311 -- ...tClassificationInferenceUpdateOptions.java | 311 -- .../ml/TextEmbeddingInferenceOptions.java | 253 - .../TextEmbeddingInferenceUpdateOptions.java | 215 - .../ml/TextExpansionInferenceOptions.java | 219 - .../TextExpansionInferenceUpdateOptions.java | 215 - .../clients/elasticsearch/ml/TimingStats.java | 191 - .../elasticsearch/ml/TokenizationConfig.java | 259 - .../ml/TokenizationConfigBuilders.java | 104 - .../ml/TokenizationConfigVariant.java | 48 - .../ml/TokenizationTruncate.java | 68 - .../elasticsearch/ml/TopClassEntry.java | 202 - .../ml/TotalFeatureImportance.java | 296 - .../ml/TotalFeatureImportanceClass.java | 230 - .../ml/TotalFeatureImportanceStatistics.java | 226 - .../ml/TrainedModelAssignment.java | 315 -- .../TrainedModelAssignmentRoutingTable.java | 249 - .../TrainedModelAssignmentTaskParameters.java | 359 -- .../elasticsearch/ml/TrainedModelConfig.java | 841 --- .../ml/TrainedModelConfigInput.java | 185 - .../ml/TrainedModelConfigMetadata.java | 383 -- ...rainedModelDeploymentAllocationStatus.java | 219 - .../ml/TrainedModelDeploymentNodesStats.java | 470 -- .../ml/TrainedModelDeploymentStats.java | 629 --- .../ml/TrainedModelEntities.java | 253 - .../TrainedModelInferenceClassImportance.java | 184 - ...rainedModelInferenceFeatureImportance.java | 247 - .../ml/TrainedModelInferenceStats.java | 286 - .../ml/TrainedModelLocation.java | 162 - .../ml/TrainedModelLocationIndex.java | 157 - .../ml/TrainedModelPrefixStrings.java | 199 - .../ml/TrainedModelSizeStats.java | 189 - .../elasticsearch/ml/TrainedModelStats.java | 372 -- .../elasticsearch/ml/TrainedModelType.java | 78 - .../elasticsearch/ml/TrainingPriority.java | 66 - .../ml/TransformAuthorization.java | 268 - .../ml/UpdateDataFrameAnalyticsRequest.java | 370 -- .../ml/UpdateDataFrameAnalyticsResponse.java | 479 -- .../ml/UpdateDatafeedRequest.java | 1124 ---- .../ml/UpdateDatafeedResponse.java | 691 --- .../elasticsearch/ml/UpdateFilterRequest.java | 349 -- .../ml/UpdateFilterResponse.java | 224 - .../elasticsearch/ml/UpdateJobRequest.java | 891 --- .../elasticsearch/ml/UpdateJobResponse.java | 768 --- .../UpdateTrainedModelDeploymentRequest.java | 263 - .../UpdateTrainedModelDeploymentResponse.java | 166 - .../elasticsearch/ml/ValidationLoss.java | 211 - .../clients/elasticsearch/ml/Vocabulary.java | 153 - ...eroShotClassificationInferenceOptions.java | 397 -- ...tClassificationInferenceUpdateOptions.java | 308 -- .../ConfusionMatrixItem.java | 263 - .../ConfusionMatrixPrediction.java | 182 - .../ConfusionMatrixThreshold.java | 244 - .../DataframeClassificationSummary.java | 357 -- ...ataframeClassificationSummaryAccuracy.java | 214 - ...ationSummaryMulticlassConfusionMatrix.java | 216 - ...taframeClassificationSummaryPrecision.java | 214 - .../DataframeClassificationSummaryRecall.java | 214 - .../DataframeEvaluationClass.java | 142 - .../DataframeEvaluationSummaryAucRoc.java | 176 - ...frameEvaluationSummaryAucRocCurveItem.java | 206 - .../DataframeEvaluationValue.java | 164 - .../DataframeOutlierDetectionSummary.java | 369 -- .../DataframeRegressionSummary.java | 313 -- .../ml/get_calendars/Calendar.java | 241 - .../DataframePreviewConfig.java | 296 - .../ml/put_trained_model/AggregateOutput.java | 273 - .../ml/put_trained_model/Definition.java | 229 - .../ml/put_trained_model/Ensemble.java | 340 -- .../FrequencyEncodingPreprocessor.java | 237 - .../ml/put_trained_model/Input.java | 175 - .../OneHotEncodingPreprocessor.java | 212 - .../ml/put_trained_model/Preprocessor.java | 259 - .../PreprocessorBuilders.java | 104 - .../PreprocessorVariant.java | 48 - .../TargetMeanEncodingPreprocessor.java | 261 - .../ml/put_trained_model/TrainedModel.java | 273 - .../put_trained_model/TrainedModelTree.java | 304 - .../TrainedModelTreeNode.java | 392 -- .../ml/put_trained_model/Weights.java | 152 - .../clients/elasticsearch/nodes/Client.java | 497 -- .../clients/elasticsearch/nodes/Context.java | 246 - .../clients/elasticsearch/nodes/Http.java | 271 - .../clients/elasticsearch/nodes/Ingest.java | 235 - .../elasticsearch/nodes/IngestTotal.java | 326 -- .../elasticsearch/nodes/KeyedProcessor.java | 194 - .../elasticsearch/nodes/Processor.java | 261 - .../elasticsearch/nodes/Scripting.java | 339 -- .../elasticsearch/nodes/ThreadCount.java | 327 -- .../query_rules/DeleteRuleRequest.java | 217 - .../query_rules/DeleteRuleResponse.java | 108 - .../query_rules/DeleteRulesetRequest.java | 182 - .../query_rules/DeleteRulesetResponse.java | 108 - .../ElasticsearchQueryRulesAsyncClient.java | 314 -- .../ElasticsearchQueryRulesClient.java | 316 -- .../query_rules/GetRuleRequest.java | 215 - .../query_rules/GetRuleResponse.java | 104 - .../query_rules/GetRulesetRequest.java | 181 - .../query_rules/GetRulesetResponse.java | 107 - .../query_rules/ListRulesetsRequest.java | 195 - .../query_rules/ListRulesetsResponse.java | 211 - .../query_rules/PutRuleRequest.java | 381 -- .../query_rules/PutRuleResponse.java | 153 - .../query_rules/PutRulesetRequest.java | 265 - .../query_rules/PutRulesetResponse.java | 156 - .../elasticsearch/query_rules/QueryRule.java | 300 - .../query_rules/QueryRuleActions.java | 230 - .../query_rules/QueryRuleCriteria.java | 229 - .../query_rules/QueryRuleCriteriaType.java | 87 - .../query_rules/QueryRuleType.java | 67 - .../query_rules/QueryRuleset.java | 191 - .../list_rulesets/QueryRulesetListItem.java | 244 - .../AnalyticsCollection.java | 168 - .../DeleteBehavioralAnalyticsRequest.java | 184 - .../DeleteBehavioralAnalyticsResponse.java | 110 - .../DeleteSearchApplicationRequest.java | 184 - .../DeleteSearchApplicationResponse.java | 110 - ...ticsearchSearchApplicationAsyncClient.java | 404 -- .../ElasticsearchSearchApplicationClient.java | 414 -- .../search_application/EventDataStream.java | 154 - .../GetBehavioralAnalyticsRequest.java | 210 - .../GetBehavioralAnalyticsResponse.java | 192 - .../GetSearchApplicationRequest.java | 182 - .../GetSearchApplicationResponse.java | 107 - .../search_application/ListRequest.java | 223 - .../search_application/ListResponse.java | 211 - .../PutBehavioralAnalyticsRequest.java | 183 - .../PutBehavioralAnalyticsResponse.java | 110 - .../search_application/PutRequest.java | 269 - .../search_application/PutResponse.java | 153 - .../search_application/SearchApplication.java | 326 -- .../SearchApplicationSearchRequest.java | 279 - .../SearchApplicationSearchResponse.java | 125 - .../SearchApplicationTemplate.java | 170 - .../list/SearchApplicationListItem.java | 275 - .../AnalyticsAcknowledgeResponseBase.java | 114 - .../elasticsearch/security/ApiKey.java | 732 --- .../security/ApplicationPrivileges.java | 265 - .../security/AuthenticateRequest.java | 105 - .../security/AuthenticateResponse.java | 489 -- .../security/ClusterPrivilege.java | 117 - .../security/CreateApiKeyRequest.java | 432 -- .../security/CreateApiKeyResponse.java | 282 - .../ElasticsearchSecurityAsyncClient.java | 457 -- .../security/ElasticsearchSecurityClient.java | 462 -- .../elasticsearch/security/FieldSecurity.java | 219 - .../security/GetApiKeyRequest.java | 416 -- .../security/GetApiKeyResponse.java | 182 - .../security/HasPrivilegesRequest.java | 389 -- .../security/HasPrivilegesResponse.java | 343 -- .../security/IndexPrivilege.java | 94 - .../security/IndicesPrivileges.java | 334 -- .../security/InvalidateApiKeyRequest.java | 406 -- .../security/InvalidateApiKeyResponse.java | 306 -- .../security/QueryApiKeysRequest.java | 676 --- .../security/QueryApiKeysResponse.java | 311 -- .../elasticsearch/security/RealmInfo.java | 177 - .../security/RoleDescriptor.java | 504 -- .../security/RoleTemplateInlineQuery.java | 191 - .../RoleTemplateInlineQueryBuilders.java | 60 - .../security/RoleTemplateScript.java | 351 -- .../security/UpdateApiKeyRequest.java | 421 -- .../security/UpdateApiKeyResponse.java | 161 - .../security/authenticate/ServiceToken.java | 183 - .../ApplicationPrivilegesCheck.java | 272 - .../has_privileges/IndexPrivilegesCheck.java | 283 - .../query_api_keys/ApiKeyAggregate.java | 632 --- .../ApiKeyAggregateBuilders.java | 302 - .../ApiKeyAggregateVariant.java | 48 - .../query_api_keys/ApiKeyAggregation.java | 680 --- .../ApiKeyAggregationBuilders.java | 222 - .../ApiKeyAggregationVariant.java | 48 - .../ApiKeyFiltersAggregation.java | 291 - .../security/query_api_keys/ApiKeyQuery.java | 575 -- .../query_api_keys/ApiKeyQueryBuilders.java | 254 - .../query_api_keys/ApiKeyQueryVariant.java | 48 - .../elasticsearch/sql/ClearCursorRequest.java | 188 - .../sql/ClearCursorResponse.java | 154 - .../clients/elasticsearch/sql/Column.java | 176 - .../elasticsearch/sql/DeleteAsyncRequest.java | 184 - .../sql/DeleteAsyncResponse.java | 107 - .../sql/ElasticsearchSqlAsyncClient.java | 284 - .../sql/ElasticsearchSqlClient.java | 289 - .../elasticsearch/sql/GetAsyncRequest.java | 330 -- .../elasticsearch/sql/GetAsyncResponse.java | 395 -- .../sql/GetAsyncStatusRequest.java | 184 - .../sql/GetAsyncStatusResponse.java | 328 -- .../elasticsearch/sql/QueryRequest.java | 846 --- .../elasticsearch/sql/QueryResponse.java | 408 -- .../elasticsearch/sql/TranslateRequest.java | 299 - .../elasticsearch/sql/TranslateResponse.java | 400 -- .../synonyms/DeleteSynonymRequest.java | 181 - .../synonyms/DeleteSynonymResponse.java | 108 - .../synonyms/DeleteSynonymRuleRequest.java | 213 - .../synonyms/DeleteSynonymRuleResponse.java | 108 - .../ElasticsearchSynonymsAsyncClient.java | 314 -- .../synonyms/ElasticsearchSynonymsClient.java | 322 -- .../synonyms/GetSynonymRequest.java | 242 - .../synonyms/GetSynonymResponse.java | 210 - .../synonyms/GetSynonymRuleRequest.java | 213 - .../synonyms/GetSynonymRuleResponse.java | 108 - .../synonyms/GetSynonymsSetsRequest.java | 195 - .../synonyms/GetSynonymsSetsResponse.java | 212 - .../synonyms/PutSynonymRequest.java | 271 - .../synonyms/PutSynonymResponse.java | 187 - .../synonyms/PutSynonymRuleRequest.java | 265 - .../synonyms/PutSynonymRuleResponse.java | 108 - .../elasticsearch/synonyms/SynonymRule.java | 194 - .../synonyms/SynonymRuleRead.java | 199 - .../synonyms/SynonymsUpdateResult.java | 171 - .../get_synonyms_sets/SynonymsSetItem.java | 187 - .../tasks/ElasticsearchTasksAsyncClient.java | 103 - .../tasks/ElasticsearchTasksClient.java | 103 - .../elasticsearch/tasks/GetTasksRequest.java | 254 - .../elasticsearch/tasks/GetTasksResponse.java | 252 - .../clients/elasticsearch/tasks/TaskInfo.java | 504 -- .../transform/DeleteTransformRequest.java | 290 - .../transform/DeleteTransformResponse.java | 109 - .../elasticsearch/transform/Destination.java | 201 - .../ElasticsearchTransformAsyncClient.java | 615 --- .../ElasticsearchTransformClient.java | 630 --- .../transform/GetTransformRequest.java | 365 -- .../transform/GetTransformResponse.java | 211 - .../transform/GetTransformStatsRequest.java | 363 -- .../transform/GetTransformStatsResponse.java | 212 - .../elasticsearch/transform/Latest.java | 214 - .../elasticsearch/transform/Pivot.java | 281 - .../elasticsearch/transform/PivotGroupBy.java | 291 - .../transform/PivotGroupByBuilders.java | 126 - .../transform/PivotGroupByVariant.java | 48 - .../transform/PreviewTransformRequest.java | 672 --- .../transform/PreviewTransformResponse.java | 242 - .../transform/PutTransformRequest.java | 758 --- .../transform/PutTransformResponse.java | 108 - .../transform/ResetTransformRequest.java | 224 - .../transform/ResetTransformResponse.java | 109 - .../transform/RetentionPolicy.java | 194 - .../transform/RetentionPolicyBuilders.java | 65 - .../transform/RetentionPolicyVariant.java | 48 - .../ScheduleNowTransformRequest.java | 229 - .../ScheduleNowTransformResponse.java | 109 - .../elasticsearch/transform/Settings.java | 362 -- .../elasticsearch/transform/Source.java | 324 -- .../transform/StartTransformRequest.java | 282 - .../transform/StartTransformResponse.java | 109 - .../transform/StopTransformRequest.java | 385 -- .../transform/StopTransformResponse.java | 108 - .../clients/elasticsearch/transform/Sync.java | 191 - .../elasticsearch/transform/SyncBuilders.java | 63 - .../elasticsearch/transform/SyncVariant.java | 48 - .../transform/TimeRetentionPolicy.java | 212 - .../elasticsearch/transform/TimeSync.java | 214 - .../transform/UpdateTransformRequest.java | 647 --- .../transform/UpdateTransformResponse.java | 592 -- .../get_transform/TransformSummary.java | 670 --- .../get_transform_stats/CheckpointStats.java | 307 -- .../get_transform_stats/Checkpointing.java | 314 -- .../TransformIndexerStats.java | 557 -- .../TransformProgress.java | 267 - .../get_transform_stats/TransformStats.java | 305 -- .../TransformStatsHealth.java | 156 - .../watcher/ActionStatusOptions.java | 71 - .../src/main/java/co/elastic/clients/json | 1 - .../main/java/co/elastic/clients/transport | 1 - .../src/main/java/co/elastic/clients/util | 1 - .../co/elastic/clients/version.properties | 21 - .../ElasticsearchServerTest.java | 523 -- .../src/test/java/co/elastic/clients/testkit | 1 - .../clients/transport/VersionInfoTest.java | 38 - .../clients/transport/VersionInfo.java | 1 - .../ml/ModelSnapshotUpgrade.java | 13 +- .../clients/elasticsearch/nodes/Http.java | 3 +- .../GetBuiltinPrivilegesResponse.java | 3 +- .../elasticsearch/xpack/info/Features.java | 53 +- .../transport/ElasticsearchTransportBase.java | 73 +- .../clients/transport/VersionInfoTest.java | 4 - 1974 files changed, 83 insertions(+), 517177 deletions(-) delete mode 100644 java-client-serverless/README.md delete mode 100644 java-client-serverless/build.gradle.kts delete mode 100644 java-client-serverless/docs/getting-started.mdx delete mode 100644 java-client-serverless/docs/images/copy-endpoint.gif delete mode 100644 java-client-serverless/docs/images/setup-api-key.gif delete mode 100644 java-client-serverless/docs/index.mdx delete mode 100644 java-client-serverless/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java delete mode 120000 java-client-serverless/src/main/java/co/elastic/clients/ApiClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java delete mode 120000 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_helpers delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/BulkIndexByScrollFailure.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Bytes.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterDetails.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterInfoTarget.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterSearchStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Conflicts.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/CoordsGeoBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFIIndependenceMeasure.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRAfterEffect.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRBasicModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DistanceUnit.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchVersionInfo.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/EmptyObject.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorCause.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ExpandWildcard.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSortNumericType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldValue.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBoundsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashLocation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecision.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecisionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLine.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoShapeRelation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/HealthStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBDistribution.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBLambda.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/InlineGet.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/LatLonGeoLocation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Normalization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/OpType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Refresh.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RequestBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Result.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retries.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScoreSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Script.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScriptField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScriptLanguage.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScriptSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScriptSortType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SearchType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ShardFailure.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ShardStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ShardsOperationResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SlicedScroll.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Slices.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SlicesBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SlicesCalculation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SortMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptionsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SortOptionsVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SortOrder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/StoredScript.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/SuggestMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/TextEmbedding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Time.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/TimeBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/TimeUnit.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/TopLeftBottomRightGeoBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/TopRightBottomLeftGeoBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/VersionType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/WaitForActiveShardOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/WaitForActiveShards.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/WaitForActiveShardsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/WktGeoBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/WriteResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregateVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationRange.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AggregationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ArrayPercentilesItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AutoDateHistogramAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AutoDateHistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AverageBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AvgAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BoxPlotAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BoxplotAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketCorrelationAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketCorrelationFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketCorrelationFunctionCountCorrelation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketCorrelationFunctionCountCorrelationIndicator.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketKsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketMetricValueAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketPathAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketScriptAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketSelectorAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketSortAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Buckets.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketsPath.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/BucketsPathBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CalendarInterval.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CardinalityAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CardinalityAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CardinalityExecutionMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CategorizeTextAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CategorizeTextAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CategorizeTextAnalyzerBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ChiSquareHeuristic.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ChildrenAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ChildrenAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregationSource.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeDateHistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeGeoTileGridAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeHistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeTermsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CumulativeCardinalityAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CumulativeCardinalityAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CumulativeSumAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CustomCategorizeTextAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateHistogramAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateHistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateHistogramBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateRangeAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateRangeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DateRangeExpression.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DerivativeAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DerivativeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DiversifiedSamplerAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DoubleTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/DoubleTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/EwmaModelSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/EwmaMovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ExtendedBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ExtendedStatsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ExtendedStatsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ExtendedStatsBucketAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ExtendedStatsBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FieldDateMath.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FieldDateMathBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FilterAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FiltersAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FiltersAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FiltersBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FormatMetricAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FormattableMetricAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GapPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoBoundsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoBoundsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoCentroidAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoCentroidAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoDistanceAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoDistanceAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoHashGridAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoHashGridAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoHashGridBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoHexGridAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoHexGridBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoLineAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoLineAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoLinePoint.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoLineSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoTileGridAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoTileGridAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeoTileGridBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GeohexGridAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GlobalAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GlobalAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/GoogleNormalizedDistanceHeuristic.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HdrMethod.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HdrPercentileRanksAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HdrPercentilesAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HistogramAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HistogramBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HoltLinearModelSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HoltMovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HoltWintersModelSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HoltWintersMovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/HoltWintersType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceClassImportance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceConfigBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceConfigVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceFeatureImportance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceTopClassEntry.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpPrefixAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpPrefixAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpPrefixBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpRangeAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpRangeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpRangeAggregationRange.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/IpRangeBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/LinearMovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/LongRareTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/LongRareTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/LongTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/LongTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MatrixAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MatrixStatsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MatrixStatsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MatrixStatsFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MaxAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MaxAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MaxBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MedianAbsoluteDeviationAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MedianAbsoluteDeviationAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MetricAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MinAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MinAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MinBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MinimumInterval.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MissingAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MissingAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MissingOrder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingAverageAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingAverageAggregationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingAverageAggregationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingFunctionAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MovingPercentilesAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiBucketAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiBucketBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermLookup.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MutualInformationHeuristic.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/NestedAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/NestedAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/NormalizeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/NormalizeMethod.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ParentAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ParentAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentageScoreHeuristic.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentileRanksAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Percentiles.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentilesAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentilesAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentilesBucketAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentilesBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PercentilesBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/PipelineAggregationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RangeAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RangeAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RangeBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RareTermsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RateAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RateAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/RateMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ReverseNestedAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ReverseNestedAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SamplerAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SamplerAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SamplerAggregationExecutionHint.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ScriptedHeuristic.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ScriptedMetricAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ScriptedMetricAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SerialDifferencingAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantLongTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantLongTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantStringTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantStringTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsBucketBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTextAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SimpleMovingAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SimpleValueAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SingleBucketAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SingleMetricAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StandardDeviationBounds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StandardDeviationBoundsAsString.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StatsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StatsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StatsBucketAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StatsBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringRareTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringRareTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringStatsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringStatsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SumAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SumAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SumBucketAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TDigest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TDigestPercentileRanksAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TDigestPercentilesAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TTestAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TTestAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TTestType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsAggregateBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsAggregationCollectMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsAggregationExecutionHint.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsBucketBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsExclude.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsExcludeBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsInclude.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsIncludeBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TermsPartition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TestPopulation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopHitsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopHitsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetrics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetricsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetricsAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetricsValue.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/UnmappedRareTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/UnmappedSamplerAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/UnmappedSignificantTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/UnmappedTermsAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ValueCountAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ValueCountAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/ValueType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/VariableWidthHistogramAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/VariableWidthHistogramAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/VariableWidthHistogramBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/WeightedAverageAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/WeightedAverageValue.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/WeightedAvgAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Analyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/AnalyzerBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/AnalyzerVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ArabicAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ArmenianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/AsciiFoldingTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/BasqueAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/BengaliAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/BrazilianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/BulgarianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CatalanAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilterBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilterBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilterDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilterDefinitionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharFilterDefinitionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CharGroupTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ChineseAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CjkAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ClassicTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CommonGramsTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CompoundWordTokenFilterBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ConditionTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CustomAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CustomNormalizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/CzechAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/DanishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/DelimitedPayloadEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/DelimitedPayloadTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/DictionaryDecompounderTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/DutchAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramSide.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EdgeNGramTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ElisionTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EnglishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/EstonianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/FingerprintAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/FingerprintTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/FinnishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/FrenchAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/GalicianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/GermanAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/GreekAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/HindiAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/HtmlStripCharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/HungarianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/HunspellTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/HyphenationDecompounderTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuCollationAlternate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuCollationCaseFirst.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuCollationDecomposition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuCollationStrength.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuCollationTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuFoldingTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuNormalizationCharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuNormalizationMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuNormalizationTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuNormalizationType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuTransformDirection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IcuTransformTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IndonesianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/IrishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ItalianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KStemTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeepTypesMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeepTypesTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeepWordsTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordMarkerTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KeywordTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiIterationMarkCharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiPartOfSpeechTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiReadingFormTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiStemmerTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiTokenizationMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/KuromojiTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Language.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LanguageAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LatvianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LengthTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LetterTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LimitTokenCountTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LithuanianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LowercaseNormalizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LowercaseTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/LowercaseTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/MappingCharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/MultiplexerTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NGramTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NoriAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NoriDecompoundMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NoriPartOfSpeechTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NoriTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Normalizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NormalizerBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NormalizerVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/NorwegianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PathHierarchyTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PatternAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PatternCaptureTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PatternReplaceCharFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PatternReplaceTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PatternTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PersianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PhoneticEncoder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PhoneticLanguage.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PhoneticNameType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PhoneticRuleType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PhoneticTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PorterStemTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PortugueseAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/PredicateTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/RemoveDuplicatesTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ReverseTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/RomanianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/RussianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SerbianAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ShingleTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimpleAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternSplitTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SimplePatternTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SnowballAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SnowballLanguage.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SnowballTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SoraniAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SpanishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StandardAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StandardTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StemmerOverrideTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StemmerTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StopAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StopTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SwedishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SynonymFormat.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SynonymGraphTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/SynonymTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/ThaiTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenChar.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilterBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilterBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilterDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilterDefinitionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenFilterDefinitionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Tokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinitionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TokenizerDefinitionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TrimTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TruncateTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/TurkishAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/UaxEmailUrlTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/UniqueTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/UppercaseTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/WhitespaceAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/WhitespaceTokenizer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/WordDelimiterGraphTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/WordDelimiterTokenFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/AggregateMetricDoubleProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/AllField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BinaryProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BooleanProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ByteNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CompletionProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CompositeSubField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ConstantKeywordProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/CorePropertyBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DataStreamTimestamp.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DateNanosProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DateProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DateRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorIndexOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DenseVectorProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DocValuesPropertyBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DoubleNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DoubleRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DynamicMapping.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DynamicProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DynamicTemplate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DynamicTemplateBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/DynamicTemplateVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FieldAliasProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FieldNamesField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FieldType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FlattenedProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FloatNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/FloatRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoOrientation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoPointProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoShapeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/GeoStrategy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/HalfFloatNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/HistogramProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IcuCollationProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IndexField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IndexOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IntegerNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IntegerRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IpProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/IpRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/JoinProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/KeywordProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/LongNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/LongRangeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/MatchOnlyTextProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/MatchType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/Murmur3HashProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/NestedProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/NumberPropertyBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ObjectProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/OnScriptError.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/PercolatorProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/PointProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/Property.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/PropertyBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/PropertyBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/PropertyVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RangePropertyBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RankFeatureProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RankFeaturesProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RoutingField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeFieldFetchFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/RuntimeFieldType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ScaledFloatNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SearchAsYouTypeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SemanticTextProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShapeProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/ShortNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SizeField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SourceField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SourceFieldMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SparseVectorProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/SuggestContext.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TermVectorOption.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextIndexPrefixes.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TextProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TimeSeriesMetricType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TokenCountProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/TypeMapping.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/UnsignedLongNumberProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/VersionProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/WildcardProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoolQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoostingQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ChildScoreMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/CombinedFieldsOperator.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/CombinedFieldsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/CombinedFieldsZeroTerms.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/CommonTermsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ConstantScoreQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DateDecayFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DateDistanceFeatureQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DateRangeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DecayFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DecayFunctionBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DecayFunctionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DecayFunctionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DecayPlacement.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DisMaxQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DistanceFeatureQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DistanceFeatureQueryBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DistanceFeatureQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DistanceFeatureQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ExistsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FieldAndFormat.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FieldLookup.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FieldValueFactorModifier.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FieldValueFactorScoreFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionBoostMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScore.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScoreBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScoreMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScoreQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScoreVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FuzzyQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoBoundingBoxQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoDecayFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoDistanceFeatureQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoDistanceQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoExecution.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoPolygonPoints.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoPolygonQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoShapeFieldQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoShapeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/GeoValidationMethod.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasChildQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasParentQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IdsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Intervals.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAllOf.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAnyOf.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsFilterBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsFilterVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsFuzzy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsMatch.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsPrefix.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsWildcard.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Like.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/LikeBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/LikeDocument.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchAllQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchBoolPrefixQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchNoneQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchPhrasePrefixQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchPhraseQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MatchQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MoreLikeThisQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MultiMatchQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/MultiValueMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NestedQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NumberRangeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NumericDecayFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Operator.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ParentIdQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PercolateQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedDoc.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PrefixQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/Query.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/QueryBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/QueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/QueryStringQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/QueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RandomScoreFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RangeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RangeQueryBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RangeQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RangeQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RangeRelation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureFunctionLinear.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureFunctionLogarithm.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureFunctionSaturation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureFunctionSigmoid.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RankFeatureQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RegexpQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RuleQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SemanticQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ShapeFieldQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ShapeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SimpleQueryStringFlag.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SimpleQueryStringQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanContainingQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFieldMaskingQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFirstQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanGapQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanMultiTermQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNearQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNotQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanOrQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanTermQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanWithinQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SparseVectorQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SparseVectorQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SparseVectorQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermRangeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermsLookup.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermsQueryField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermsQueryFieldBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TermsSetQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TextExpansionQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TextQueryType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TokenPruningConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/TypeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/UntypedDecayFunction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/UntypedDistanceFeatureQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/UntypedRangeQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/WeightedTokensQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/WildcardQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/WrapperQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ZeroTermsQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearch.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchDocumentResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/AsyncSearchStatusResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/async_search/status/StatusResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/AliasesRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/AliasesResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatAnomalyDetectorColumn.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatDatafeedColumn.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatDfaColumn.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatRequestBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatTrainedModelsColumn.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CatTransformColumn.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ComponentTemplatesResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CountRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/CountResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ElasticsearchCatClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/HelpRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/HelpResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/IndicesRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/IndicesResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlDatafeedsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlDatafeedsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlJobsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlJobsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlTrainedModelsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/MlTrainedModelsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/TransformsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/aliases/AliasesRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/component_templates/ComponentTemplate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/count/CountRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/help/HelpRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/indices/IndicesRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ml_data_frame_analytics/DataFrameAnalyticsRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ml_datafeeds/DatafeedsRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ml_jobs/JobsRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/ml_trained_models/TrainedModelsRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cat/transforms/TransformsRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterInfoRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ClusterInfoResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ComponentTemplate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ComponentTemplateNode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ComponentTemplateSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteComponentTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/DeleteComponentTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ElasticsearchClusterClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/ExistsComponentTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/GetComponentTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/GetComponentTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/PutComponentTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/cluster/PutComponentTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/CheckInResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/Connector.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorConfigProperties.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorFeatures.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorFieldType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorScheduling.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ConnectorSyncJob.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/CustomScheduling.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/CustomSchedulingConfigurationOverrides.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/DeleteConnectorResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/Dependency.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/DisplayType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ElasticsearchConnectorClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FeatureEnabled.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringAdvancedSnippet.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringRule.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringRuleRule.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringRules.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringRulesValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/FilteringValidationState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/GetConnectorResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/GreaterThanValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/IncludedInValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/IngestPipelineParams.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/LessThanValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ListRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ListResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ListTypeValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/PostRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/PostResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/PutRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/PutResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/RegexValidation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SchedulingConfiguration.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SelectOption.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobCancelResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobConnectorReference.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobDeleteResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobGetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobListResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobPostResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobTriggerMethod.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncJobType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncRulesFeature.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/SyncStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateActiveFilteringResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateApiKeyIdRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateApiKeyIdResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateConfigurationResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateErrorResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateFilteringValidationResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateIndexNameResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNameResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateNativeResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdatePipelineResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateSchedulingResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateServiceTypeResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/UpdateStatusResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/Validation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ValidationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/connector/ValidationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/BulkResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ClearScrollResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ClosePointInTimeResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/CountResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/CreateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/CreateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteScriptRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/DeleteScriptResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ExistsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ExistsSourceRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ExplainRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ExplainResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetScriptResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetSourceRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/GetSourceResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/IndexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/IndexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/InfoRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/InfoResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MgetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MgetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MsearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MsearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MsearchTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/MtermvectorsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/PingRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/PutScriptRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/PutScriptResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/RankEvalResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ReindexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ReindexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/RenderSearchTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ScriptsPainlessExecuteRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ScriptsPainlessExecuteResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ScrollRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/ScrollResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/SearchTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/UpdateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/UpdateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/BulkOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/BulkOperationBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/BulkOperationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/BulkOperationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/BulkResponseItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/CreateOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/DeleteOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/IndexOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/OperationType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/UpdateAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/UpdateOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/bulk/WriteOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/explain/Explanation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/explain/ExplanationDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/field_caps/FieldCapability.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/get/GetResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mget/MultiGetError.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mget/MultiGetOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mget/MultiGetResponseItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mget/MultiGetResponseItemBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultiSearchItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultiSearchResponseItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultiSearchResponseItemBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultiSearchResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchBody.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchHeader.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch/RequestItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch_template/RequestItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/msearch_template/TemplateConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mtermvectors/MultiTermVectorsOperation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/mtermvectors/MultiTermVectorsResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/DocumentRating.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalHit.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalHitItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetric.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricDiscountedCumulativeGain.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricExpectedReciprocalRank.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricMeanReciprocalRank.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricPrecision.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRatingTreshold.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalMetricRecall.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalRequestItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/UnratedDocument.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Destination.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/reindex/RemoteSource.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Source.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/scripts_painless_execute/PainlessContextSetup.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationBreakdown.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDebug.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/AggregationProfileDelegateDebugFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/BoundaryScanner.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Collector.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/CompletionContext.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/CompletionSuggest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/CompletionSuggestOption.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/CompletionSuggester.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Context.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/ContextBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/DirectGenerator.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FetchProfile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FetchProfileBreakdown.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FetchProfileDebug.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FieldCollapse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FieldSuggester.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FieldSuggesterBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/FieldSuggesterVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Highlight.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlighterEncoder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlighterFragmenter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlighterOrder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlighterTagsSchema.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlighterType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/HitsMetadata.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/InnerHits.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/InnerHitsResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/LaplaceSmoothingModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/LearningToRank.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/LinearInterpolationSmoothingModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/NestedIdentity.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggestCollate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggestCollateQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggestHighlight.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggestOption.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggester.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/PointInTimeReference.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Profile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryBreakdown.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/QueryProfile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/RegexOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Rescore.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/ResponseBody.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/ScoreMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SearchProfile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/ShardProfile.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SmoothingModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SmoothingModelBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SmoothingModelVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SourceConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SourceConfigBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SourceConfigParam.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SourceConfigParamBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SourceFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/StringDistance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/StupidBackoffSmoothingModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggestBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggestFuzziness.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggestSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggester.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggesterBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggestion.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggestionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/SuggestionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TermSuggest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TermSuggestOption.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TermSuggester.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TotalHits.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TotalHitsRelation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TrackHits.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search/TrackHitsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search_mvt/GridAggregationType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/search_mvt/GridType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/termvectors/FieldStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/termvectors/Filter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/termvectors/Term.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/termvectors/TermVector.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/termvectors/Token.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/core/update/UpdateWriteResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicyType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CoordinatorStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/ExecutingPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlHits.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsEvent.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsSequence.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/search/ResultPosition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValues.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/query/EsqlFormat.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Connection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreControls.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/SampleDiversity.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Vertex.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexInclude.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CacheQueries.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStream.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamIndex.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleDownsampling.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleRolloverConditions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamTimestampField.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsamplingRound.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FailureStore.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FielddataFrequencyFilter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexCheckOnStartup.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRouting.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationDisk.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInclude.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInitialRecovery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalanceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSegmentSort.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingBlocks.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsAnalysis.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycle.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycleStep.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsTimeSeries.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateDataStreamConfiguration.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexVersioning.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressure.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressureMemory.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogTresholds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ManagedBy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDepth.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDimensionFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsFieldNameLength.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedObjects.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Merge.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MergeScheduler.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddata.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddataFormat.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Queries.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RetentionLease.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SearchIdle.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMissing.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortOrder.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsAnalyze.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsHighlight.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsQueryString.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSearch.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarity.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBm25.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBoolean.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfi.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfr.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityIb.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmd.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmj.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityScripted.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholdLevels.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholds.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SoftDeletes.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Storage.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/StorageType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Translog.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogDurability.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogRetention.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeToken.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzerDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/CharFilterDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/ExplainAnalyzeToken.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/TokenDetail.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/data_streams_stats/DataStreamsStatsItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/explain_data_lifecycle/DataStreamLifecycleExplain.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get/Feature.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_alias/IndexAliases.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_index_template/IndexTemplateItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_mapping/IndexMappingRecord.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/Action.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/IndexAndDataStreamAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/put_index_template/IndexTemplateMapping.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadDetails.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexAliasItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexDataStreamsItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/rollover/RolloverConditions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Overlapping.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Template.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/Action.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/ActionBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/ActionVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/AddAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/RemoveAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/RemoveIndexAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/validate_query/IndicesValidationExplanation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/CompletionResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/DeleteInferenceEndpointResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/DeleteInferenceRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/DeleteInferenceResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/ElasticsearchInferenceClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/GetInferenceRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/GetInferenceResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpoint.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceEndpointInfo.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResultBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResultVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/PutRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/PutResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/RankedDocument.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/SparseEmbeddingResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/TaskType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/TextEmbeddingByteResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/inference/TextEmbeddingResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/AppendProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/AttachmentProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/BytesProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/CircleProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ConvertType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/CsvProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DateIndexNameProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DateProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DeletePipelineResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DissectProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DotExpanderProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/DropProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ElasticsearchIngestClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/EnrichProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/FailProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ForeachProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTargetFormat.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoGridTileType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GeoIpProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GetPipelineResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GrokProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/GsubProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/HtmlStripProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceConfigBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceConfigClassification.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceConfigRegression.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceConfigVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/JoinProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/JsonProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/JsonProcessorConflictStrategy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/KeyValueProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/LowercaseProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PipelineProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/Processor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorGrokResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RedactProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RemoveProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RenameProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/RerouteProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ScriptProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SetProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SetSecurityUserProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/ShapeType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SimulateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SortProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/SplitProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/TrimProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UppercaseProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UriPartsProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UrlDecodeProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/UserAgentProperty.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Document.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/DocumentSimulation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/Ingest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/PipelineSimulation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ingest/simulate/SimulateDocumentResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/ElasticsearchLicenseClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/GetLicenseResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/LicenseStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/LicenseType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/license/get/LicenseInformation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/DeletePipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/ElasticsearchLogstashClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/GetPipelineResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/Pipeline.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/PipelineMetadata.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/PipelineSettings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/logstash/PutPipelineRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/AnalysisConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/AnalysisConfigRead.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/AnalysisLimits.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/AnalysisMemoryLimit.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ApiKeyAuthorization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/AppliesTo.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CalendarEvent.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CategorizationAnalyzer.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CategorizationAnalyzerBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CategorizationAnalyzerDefinition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CategorizationStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ChunkingConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ChunkingMode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ClassificationInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CloseJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/CloseJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ConditionOperator.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataCounts.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataDescription.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Datafeed.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedAuthorization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedRunningState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedTimingStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysis.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisAnalyzedFields.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisClassification.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorFrequencyEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorMultiEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorNGramEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorOneHotEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorTargetMeanEncoding.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisFeatureProcessorVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisOutlierDetection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisRegression.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalytics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsAuthorization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsDestination.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSource.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsDataCounts.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsHyperparameters.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsMemoryUsage.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsOutlierDetection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsProgress.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsStatsVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationClassification.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationClassificationMetrics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationClassificationMetricsAucRoc.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationMetrics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationOutlierDetection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationOutlierDetectionMetrics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationRegression.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationRegressionMetrics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationRegressionMetricsHuber.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationRegressionMetricsMsle.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeEvaluationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DelayedDataCheckConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarEventRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarEventResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteCalendarResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteFilterRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteFilterResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteTrainedModelAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteTrainedModelAliasResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteTrainedModelRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeleteTrainedModelResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentAllocationState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentAssignmentState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DeploymentState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DetectionRule.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Detector.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/DetectorRead.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/EstimateModelMemoryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/EstimateModelMemoryResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ExcludeFrequent.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Filter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FilterRef.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FilterType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FlushJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/FlushJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetCalendarEventsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetCalendarEventsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetCalendarsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetCalendarsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDataFrameAnalyticsStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDataFrameAnalyticsStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDatafeedStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDatafeedStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDatafeedsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetDatafeedsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetFiltersRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetFiltersResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetJobStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetJobStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetJobsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetJobsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetOverallBucketsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetOverallBucketsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/GetTrainedModelsStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Hyperparameter.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Hyperparameters.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Include.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigUpdate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigUpdateBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigUpdateVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceResponseResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Job.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobBlocked.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobBlockedReason.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobForecastStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/JobTimingStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/MemoryStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ModelPlotConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ModelSizeStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/NlpBertTokenizationConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/NlpRobertaTokenizationConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/NlpTokenizationUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/OpenJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/OpenJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/OutlierDetectionParameters.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucket.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/OverallBucketJob.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Page.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PerPartitionCategorization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PostCalendarEventsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PostCalendarEventsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PreviewDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PreviewDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PreviewDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PreviewDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutCalendarJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutCalendarJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutCalendarRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutCalendarResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutFilterRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutFilterResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelAliasRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelAliasResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelDefinitionPartRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelDefinitionPartResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelVocabularyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelVocabularyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/RegressionInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ResetJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ResetJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/RoutingState.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/RuleAction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/RuleCondition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/RunningStateSearchInterval.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartTrainedModelDeploymentRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StartTrainedModelDeploymentResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopTrainedModelDeploymentRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/StopTrainedModelDeploymentResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TimingStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfigVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationTruncate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TopClassEntry.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TotalFeatureImportance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TotalFeatureImportanceClass.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TotalFeatureImportanceStatistics.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignment.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentRoutingTable.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelAssignmentTaskParameters.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfigInput.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfigMetadata.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentAllocationStatus.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentNodesStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelDeploymentStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelEntities.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelInferenceClassImportance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelInferenceFeatureImportance.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelInferenceStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelLocation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelLocationIndex.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelPrefixStrings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelSizeStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TrainingPriority.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/TransformAuthorization.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateFilterRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateFilterResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateJobResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateTrainedModelDeploymentRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateTrainedModelDeploymentResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ValidationLoss.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/Vocabulary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceUpdateOptions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/ConfusionMatrixItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/ConfusionMatrixPrediction.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/ConfusionMatrixThreshold.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeClassificationSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeClassificationSummaryAccuracy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeClassificationSummaryMulticlassConfusionMatrix.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeClassificationSummaryPrecision.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeClassificationSummaryRecall.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeEvaluationClass.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeEvaluationSummaryAucRoc.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeEvaluationSummaryAucRocCurveItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeEvaluationValue.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeOutlierDetectionSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/evaluate_data_frame/DataframeRegressionSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/get_calendars/Calendar.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/preview_data_frame_analytics/DataframePreviewConfig.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/AggregateOutput.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/Definition.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/Ensemble.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/FrequencyEncodingPreprocessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/Input.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/OneHotEncodingPreprocessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/Preprocessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/PreprocessorBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/PreprocessorVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/TargetMeanEncodingPreprocessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/TrainedModel.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/TrainedModelTree.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/TrainedModelTreeNode.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ml/put_trained_model/Weights.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Client.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Context.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Http.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Ingest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/IngestTotal.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/KeyedProcessor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Processor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/Scripting.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/nodes/ThreadCount.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/DeleteRulesetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/ElasticsearchQueryRulesClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/GetRulesetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/ListRulesetsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/PutRulesetResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRule.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRuleActions.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRuleCriteria.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRuleCriteriaType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRuleType.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/QueryRuleset.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/query_rules/list_rulesets/QueryRulesetListItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/AnalyticsCollection.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteBehavioralAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/DeleteSearchApplicationResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/EventDataStream.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/GetBehavioralAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/GetSearchApplicationResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/ListRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/ListResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/PutBehavioralAnalyticsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/PutRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/PutResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplication.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationSearchResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/SearchApplicationTemplate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/list/SearchApplicationListItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/search_application/put_behavioral_analytics/AnalyticsAcknowledgeResponseBase.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/ApiKey.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/ApplicationPrivileges.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/AuthenticateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/ClusterPrivilege.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/CreateApiKeyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/ElasticsearchSecurityClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/FieldSecurity.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/GetApiKeyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/IndexPrivilege.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/InvalidateApiKeyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/RealmInfo.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateInlineQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateInlineQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/RoleTemplateScript.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/UpdateApiKeyRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/UpdateApiKeyResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/authenticate/ServiceToken.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/has_privileges/ApplicationPrivilegesCheck.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/has_privileges/IndexPrivilegesCheck.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregate.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregateBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregateVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregationBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyAggregationVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyFiltersAggregation.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyQuery.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyQueryBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/security/query_api_keys/ApiKeyQueryVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/ClearCursorResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/Column.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/DeleteAsyncResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/ElasticsearchSqlClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/GetAsyncStatusResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/QueryResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/DeleteSynonymRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/ElasticsearchSynonymsClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/GetSynonymsSetsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/PutSynonymRuleResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/SynonymRule.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/SynonymRuleRead.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/SynonymsUpdateResult.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/synonyms/get_synonyms_sets/SynonymsSetItem.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/tasks/ElasticsearchTasksClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/tasks/GetTasksRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/tasks/GetTasksResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/tasks/TaskInfo.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/DeleteTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/DeleteTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Destination.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformAsyncClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformClient.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/GetTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/GetTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/GetTransformStatsRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/GetTransformStatsResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Latest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Pivot.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PivotGroupBy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PivotGroupByBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PivotGroupByVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ResetTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ResetTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/RetentionPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/RetentionPolicyBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/RetentionPolicyVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ScheduleNowTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/ScheduleNowTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Settings.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Source.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/StartTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/StartTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/StopTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/StopTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/Sync.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/SyncBuilders.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/SyncVariant.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/TimeRetentionPolicy.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/TimeSync.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformRequest.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformResponse.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform/TransformSummary.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/CheckpointStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/Checkpointing.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/TransformIndexerStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/TransformProgress.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/TransformStats.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform_stats/TransformStatsHealth.java delete mode 100644 java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/watcher/ActionStatusOptions.java delete mode 120000 java-client-serverless/src/main/java/co/elastic/clients/json delete mode 120000 java-client-serverless/src/main/java/co/elastic/clients/transport delete mode 120000 java-client-serverless/src/main/java/co/elastic/clients/util delete mode 100644 java-client-serverless/src/main/resources/co/elastic/clients/version.properties delete mode 100644 java-client-serverless/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchServerTest.java delete mode 120000 java-client-serverless/src/test/java/co/elastic/clients/testkit delete mode 100644 java-client-serverless/src/test/java/co/elastic/clients/transport/VersionInfoTest.java diff --git a/java-client-serverless/README.md b/java-client-serverless/README.md deleted file mode 100644 index a0f239151..000000000 --- a/java-client-serverless/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Java API client for the Elasticsearch Serverless Service. - -A flavor of the Java API client for the upcoming [Elasticsearch Serverless Service](https://www.elastic.co/search-labs/stateless-your-new-state-of-find-with-elasticsearch). - - -The major difference is that Elasticsearch Serverless will abstract all infrastructure concerns from users, and as such has a reduced API surface. This new flavor of the Elasticsearch Java API client uses the same base framework and same package names as the "regular" client, but with a reduced number of APIs. - -It is meant for users who want to ensure their code will work on the current Elasticsearch and the upcoming Serverless flavor. - -## Usage - -In the initial preview phase, this new flavor of the Java API client is published on the [GitHub project's Maven repository](https://github.com/elastic/elasticsearch-java/packages/1934787). - -To install it, you need to add this repository to your project. This requires to authenticate to GitHub with an application token. Example with Gradle: - -``` -repositories { - maven { - name = "GitHubElasticsearchJava" - url = uri("https://maven.pkg.github.com/elastic/elasticsearch-java") - // See https://docs.gradle.org/current/samples/sample_publishing_credentials.html - credentials(PasswordCredentials::class) - } -} - -dependencies { - implementation("co.elastic.clients", "elasticsearch-java-serverless", "1.0.0-20231031-SNAPSHOT") -} -``` - -## Implementation details - -This project is parallel to [java-client](../java-client). The Java packages that are common to both projects are shared using symbolic links from this project to [java-client](../java-client). This ensures minimal disruption in the code layout and build system while avoiding code duplication. - -In the future, the Java API client will be split into different modules, and there will be parent modules for the two flavors with dependencies on child modules. - - - - diff --git a/java-client-serverless/build.gradle.kts b/java-client-serverless/build.gradle.kts deleted file mode 100644 index 9b6c1f5e1..000000000 --- a/java-client-serverless/build.gradle.kts +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import com.github.jk1.license.ProjectData -import com.github.jk1.license.render.LicenseDataCollector -import com.github.jk1.license.render.ReportRenderer -import java.io.File -import java.io.FileWriter - -plugins { - java - `java-library` - checkstyle - `maven-publish` - signing - id("com.github.jk1.dependency-license-report") version "2.2" - id("de.thetaphi.forbiddenapis") version "3.4" -} - -checkstyle { - toolVersion = "10.16.0" -} - -version = (File(project.rootDir, "config/version-serverless.txt").readText().trim() + "-SNAPSHOT") - -signing { - sign(publishing.publications) -} - -java { - targetCompatibility = JavaVersion.VERSION_1_8 - sourceCompatibility = JavaVersion.VERSION_1_8 - - withJavadocJar() - withSourcesJar() -} - -sourceSets { - main { - java.srcDir("src/main-flavored/java") - } -} - -forbiddenApis { - signaturesFiles = files(File(rootProject.projectDir, "config/forbidden-apis.txt")) - suppressAnnotations = setOf("co.elastic.clients.util.AllowForbiddenApis") -} - -tasks.forbiddenApisMain { - bundledSignatures = setOf("jdk-system-out") -} - -tasks.getByName("processResources") { - eachFile { - if (name != "apis.json") { - // Only process main source-set resources (test files are large) - expand( - "version" to version, - "git_revision" to (if (rootProject.extra.has("gitHashFull")) rootProject.extra["gitHashFull"] else "unknown") - ) - } - } -} - -tasks.withType { - useJUnitPlatform() -} - -tasks.withType { - doFirst { - if (rootProject.extra.has("gitHashFull")) { - val jar = this as Jar - jar.manifest.attributes["X-Git-Revision"] = rootProject.extra["gitHashFull"] - jar.manifest.attributes["X-Git-Commit-Time"] = rootProject.extra["gitCommitTime"] - } else { - throw GradleException("No git information available") - } - } - - manifest { - attributes["Implementation-Title"] = "Elasticsearch Java client (Serverless edition)" - attributes["Implementation-Vendor"] = "Elastic" - attributes["Implementation-URL"] = "https://github.com/elastic/elasticsearch-java/" - attributes["Build-Date"] = rootProject.extra["buildTime"] - } - - metaInf { - from("../LICENSE.txt") - from("../NOTICE.txt") - } -} - -tasks.withType { - val opt = options as StandardJavadocDocletOptions - // Gradle calls javadoc with a list of file and not a path. This prevents doc-files from being copied. - opt.addStringOption("sourcepath", project.projectDir.path + "/src/main/java") - opt.docFilesSubDirs(true) - opt.addBooleanOption("Xdoclint:-missing", true) - - doLast { - // Javadoc adds its decoration to html doc files, including quite some JS. This slows down the api spec - // redirector that doesn't need it. So overwrite the target file with the original one. - val specFile = "co/elastic/clients/elasticsearch/doc-files/api-spec.html" - val source = File(project.projectDir, "src/main/java/" + specFile) - val target = File(project.projectDir, "build/docs/javadoc/" + specFile) - source.copyTo(target, overwrite = true) - } -} - - -publishing { - repositories { - maven { - // See https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry - // and https://docs.gradle.org/current/samples/sample_publishing_credentials.html - name = "ESJavaGithubPackages" - url = uri("https://maven.pkg.github.com/elastic/elasticsearch-java") - credentials(PasswordCredentials::class) - } - - maven { - name = "Build" - url = uri("${rootProject.buildDir}/repository") - } - - maven { - name = "MavenCentralSnapshot" - setUrl("https://s01.oss.sonatype.org/content/repositories/snapshots/") - credentials { - username = providers.gradleProperty("ossrhUsername").getOrNull() - password = providers.gradleProperty("ossrhPassword").getOrNull() - } - } - } - - publications { - register("maven") { - from(components["java"]) - pom { - name.set("Elasticsearch Java API Client (Serverless edition)") - artifactId = "elasticsearch-java-serverless" - description.set("Java API Client for Elasticsearch Serverless") - url.set("https://github.com/elastic/elasticsearch-java/") - licenses { - license { - name.set("The Apache Software License, Version 2.0") - url.set("https://www.apache.org/licenses/LICENSE-2.0.txt") - } - } - developers { - developer { - name.set("Elastic") - url.set("https://www.elastic.co") - inceptionYear.set("2020") - } - } - scm { - connection.set("scm:git:https://github.com/elastic/elasticsearch-java.git") - developerConnection.set("scm:git:ssh://git@github.com:elastic/elasticsearch-java.git") - url.set("https://github.com/elastic/elasticsearch-java/") - } - -// Fixed version in Serverless. -// withXml { -// // Set the version of dependencies of the org.elasticsearch.client group to the one that we are building. -// // Since the unified release process releases everything at once, this ensures all published artifacts depend -// // on the exact same version. This assumes of course that the binary API and the behavior of these dependencies -// // are the same as the one used in the dependency section below. -// val xPathFactory = javax.xml.xpath.XPathFactory.newInstance() -// val depSelector = xPathFactory.newXPath() -// .compile("/project/dependencies/dependency[groupId/text() = 'org.elasticsearch.client']") -// val versionSelector = xPathFactory.newXPath().compile("version") -// -// var foundVersion = false; -// -// val deps = depSelector.evaluate(asElement().ownerDocument, javax.xml.xpath.XPathConstants.NODESET) -// as org.w3c.dom.NodeList -// -// for (i in 0 until deps.length) { -// val dep = deps.item(i) -// val version = versionSelector.evaluate(dep, javax.xml.xpath.XPathConstants.NODE) as org.w3c.dom.Element -// foundVersion = true; -// version.textContent = project.version.toString() -// } -// -// if (!foundVersion) { -// throw GradleException("Could not find a 'org.elasticsearch.client' to update dependency version in the POM.") -// } -// } - } - } - } -} - -dependencies { - val elasticsearchVersion = "8.10.0" - val jacksonVersion = "2.17.0" - val openTelemetryVersion = "1.29.0" - - // Apache 2.0 - // https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-low.html - api("org.elasticsearch.client", "elasticsearch-rest-client", elasticsearchVersion) - - // Apache 2.0 - // https://search.maven.org/artifact/com.google.code.findbugs/jsr305 - api("com.google.code.findbugs:jsr305:3.0.2") - - // EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - // https://github.com/eclipse-ee4j/jsonp - api("jakarta.json:jakarta.json-api:2.0.1") - - // Needed even if using Jackson to have an implementation of the Jsonp object model - // EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - // https://github.com/eclipse-ee4j/parsson - api("org.eclipse.parsson:parsson:1.0.5") - - // OpenTelemetry API for native instrumentation of the client. - // Apache 2.0 - // https://github.com/open-telemetry/opentelemetry-java - implementation("io.opentelemetry", "opentelemetry-api", openTelemetryVersion) - // Use it once it's stable (see Instrumentation.java). Limited to tests for now. - testImplementation("io.opentelemetry", "opentelemetry-semconv", "$openTelemetryVersion-alpha") - - // EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - // https://github.com/eclipse-ee4j/jsonb-api - compileOnly("jakarta.json.bind", "jakarta.json.bind-api", "2.0.0") - testImplementation("jakarta.json.bind", "jakarta.json.bind-api", "2.0.0") - - // Apache 2.0 - // https://github.com/FasterXML/jackson - compileOnly("com.fasterxml.jackson.core", "jackson-core", jacksonVersion) - compileOnly("com.fasterxml.jackson.core", "jackson-databind", jacksonVersion) - testImplementation("com.fasterxml.jackson.core", "jackson-core", jacksonVersion) - testImplementation("com.fasterxml.jackson.core", "jackson-databind", jacksonVersion) - - // EPL-2.0 OR BSD-3-Clause - // https://eclipse-ee4j.github.io/yasson/ - testImplementation("org.eclipse", "yasson", "2.0.4") { - // Exclude Glassfish as we use Parsson (basically Glassfish renamed in the Jakarta namespace). - exclude(group = "org.glassfish", module = "jakarta.json") - } - - // Apache-2.0 - testImplementation("commons-io:commons-io:2.17.0") - - // EPL-2.0 - // https://junit.org/junit5/ - testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.2") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.2") - - // MIT - // https://github.com/classgraph/classgraph - testImplementation("io.github.classgraph:classgraph:4.8.147") - - // MIT - // https://www.testcontainers.org/ - testImplementation("org.testcontainers", "testcontainers", "1.17.3") - testImplementation("org.testcontainers", "elasticsearch", "1.17.3") - // updating transitive dependency from testcontainers - testImplementation("org.apache.commons","commons-compress","1.26.1") - - testImplementation("io.opentelemetry", "opentelemetry-sdk", openTelemetryVersion) -} - - -licenseReport { - renderers = arrayOf(SpdxReporter(File(rootProject.buildDir, "release/dependencies.csv"))) - excludeGroups = arrayOf("org.elasticsearch.client") -} - -class SpdxReporter(val dest: File) : ReportRenderer { - // License names to their SPDX identifier - val spdxIds = mapOf( - "The Apache License, Version 2.0" to "Apache-2.0", - "Apache License, Version 2.0" to "Apache-2.0", - "The Apache Software License, Version 2.0" to "Apache-2.0", - "BSD Zero Clause License" to "0BSD", - "Eclipse Public License 2.0" to "EPL-2.0", - "Eclipse Public License v. 2.0" to "EPL-2.0", - "Eclipse Public License - v 2.0" to "EPL-2.0", - "GNU General Public License, version 2 with the GNU Classpath Exception" to "GPL-2.0 WITH Classpath-exception-2.0", - "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" to "CDDL-1.0" - ) - - private fun quote(str: String): String { - return if (str.contains(',') || str.contains("\"")) { - "\"" + str.replace("\"", "\"\"") + "\"" - } else { - str - } - } - - override fun render(data: ProjectData?) { - dest.parentFile.mkdirs() - FileWriter(dest).use { out -> - out.append("name,url,version,revision,license\n") - data?.allDependencies?.forEach { dep -> - - val depVersion = dep.version - val depName = dep.group + ":" + dep.name - - val info = LicenseDataCollector.multiModuleLicenseInfo(dep) - val depUrl = info.moduleUrls.first() - - val licenseIds = info.licenses.mapNotNull { license -> - license.name?.let { - checkNotNull(spdxIds[it]) { "No SPDX identifier for $license" } - } - }.toSet() - - // Combine multiple licenses. - // See https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/#composite-license-expressions - val licenseId = licenseIds.joinToString(" OR ") - - out.append("${quote(depName)},${quote(depUrl)},${quote(depVersion)},,${quote(licenseId)}\n") - } - } - } -} diff --git a/java-client-serverless/docs/getting-started.mdx b/java-client-serverless/docs/getting-started.mdx deleted file mode 100644 index 89c731088..000000000 --- a/java-client-serverless/docs/getting-started.mdx +++ /dev/null @@ -1,166 +0,0 @@ ---- -id: gettingStartedServerlessJava -slug: /serverless-java/docs/getting-started -title: Getting started with the Serverless Java client -description: This page contains quickstart information about the Serverless Java client. -date: 2023-06-27 -tags: ['serverless','Java client','docs', 'getting started', 'Java'] ---- - -This page guides you through the installation process of the Serverless Java -client, shows you how to instantiate the client, and how to perform basic -Elasticsearch operations with it. - -## Requirements - -* Java 8 or later. -* A JSON object mapping library to allow seamless integration of -your application classes with the Elasticsearch API. The examples below -show usage with Jackson. - -## Installation - -You can add the Elasticsearch Serverless Java client to your Java project using either Gradle or Maven. - -### Using Gradle - -```groovy -dependencies { - implementation 'co.elastic.clients:elasticsearch-java-serverless:1.0.0-20231031' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0' -} -``` - -### Using Maven - -In the `pom.xml` of your project, add the following dependencies: - -```xml - - - - - co.elastic.clients - elasticsearch-java-serverless - 1.0.0-20231031 - - - - com.fasterxml.jackson.core - jackson-databind - 2.17.0 - - - - -``` - -## Instantiate a client - -You can connect to the Elasticsearch Service using an API key and the Elasticsearch endpoint: - -```java -// URL and API key -String serverUrl = "https://...elastic.cloud"; -String apiKey = "VnVhQ2ZHY0JDZGJrU..."; - -// Create the low-level client -RestClient restClient = RestClient - .builder(HttpHost.create(serverUrl)) - .setDefaultHeaders(new Header[]{ - new BasicHeader("Authorization", "ApiKey " + apiKey) - }) - .build(); - -// Create the transport with a Jackson mapper -ElasticsearchTransport transport = new RestClientTransport( - restClient, new JacksonJsonpMapper()); - -// And create the API client -ElasticsearchClient esClient = new ElasticsearchClient(transport); -``` - -You can find the Elasticsearch endpoint on the Cloud deployment management page. - - - -You can create a new API Key under **Stack Management** > **Security**: - - - - -## Using the API - -After you instantiated a client with your API key and Elasticsearch endpoint, -you can start ingesting documents into the Elasticsearch Service. - - -### Creating an index and ingesting documents - -You can call the `bulk` API with a body parameter, an array of hashes that -define the action, and a document. - -The following is an example of indexing a document, here a `Product` application object -in the `products` index: - -```java -Product product = new Product("bk-1", "City bike", 123.0); - -IndexResponse response = esClient.index(i -> i - .index("products") - .id(product.getSku()) - .document(product) -); - -logger.info("Indexed with version " + response.version()); -``` - -### Searching - -Now that some data is available, you can search your documents using the -**Search API**: - -```java -String searchText = "bike"; - -SearchResponse response = esClient.search(s -> s - .index("products") - .query(q -> q - .match(t -> t - .field("name") - .query(searchText) - ) - ), - Product.class -); -``` - -A few things to note in the above example: -* the search query is built using a hierarchy of lambda expressions that closely follows the - Elasticsearch JSON API. Lambda expressions allows you to be guided by your IDE's autocompletion, without - having to import (or even know!) the actual classes representing a query. -* The last parameter `Product.class` instructs the client to return results as `Product` application objects - instead of raw JSON. - -### Updating - -You can update your documents using the Update API: - -```java -Product product = new Product("bk-1", "City bike", 123.0); - -esClient.update(u -> u - .index("products") - .id("bk-1") - .upsert(product), - Product.class -); -``` - -### Delete - -You can also delete documents: - -```java -esClient.delete(d -> d.index("products").id("bk-1")); -``` diff --git a/java-client-serverless/docs/images/copy-endpoint.gif b/java-client-serverless/docs/images/copy-endpoint.gif deleted file mode 100644 index af2883dfdd1704f891b0b88b1c29f86b8608cdcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335063 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%0DqxQq#BP1^s#;AtTpIA}wB3 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�C`AJ(B6 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 diff --git a/java-client-serverless/docs/index.mdx b/java-client-serverless/docs/index.mdx deleted file mode 100644 index e69de29bb..000000000 diff --git a/java-client-serverless/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java b/java-client-serverless/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java deleted file mode 100644 index affd910c4..000000000 --- a/java-client-serverless/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.transport; - -// Package private -class VersionInfo { - static final String FLAVOR = "serverless"; - static final String VERSION = "1.0.0+20231031"; -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/ApiClient.java b/java-client-serverless/src/main/java/co/elastic/clients/ApiClient.java deleted file mode 120000 index 0e884fbdb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/ApiClient.java +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../java-client/src/main/java/co/elastic/clients/ApiClient.java \ No newline at end of file diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java deleted file mode 100644 index d17c58377..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ /dev/null @@ -1,1976 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch.async_search.ElasticsearchAsyncSearchAsyncClient; -import co.elastic.clients.elasticsearch.cat.ElasticsearchCatAsyncClient; -import co.elastic.clients.elasticsearch.cluster.ElasticsearchClusterAsyncClient; -import co.elastic.clients.elasticsearch.connector.ElasticsearchConnectorAsyncClient; -import co.elastic.clients.elasticsearch.core.BulkRequest; -import co.elastic.clients.elasticsearch.core.BulkResponse; -import co.elastic.clients.elasticsearch.core.ClearScrollRequest; -import co.elastic.clients.elasticsearch.core.ClearScrollResponse; -import co.elastic.clients.elasticsearch.core.ClosePointInTimeRequest; -import co.elastic.clients.elasticsearch.core.ClosePointInTimeResponse; -import co.elastic.clients.elasticsearch.core.CountRequest; -import co.elastic.clients.elasticsearch.core.CountResponse; -import co.elastic.clients.elasticsearch.core.CreateRequest; -import co.elastic.clients.elasticsearch.core.CreateResponse; -import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest; -import co.elastic.clients.elasticsearch.core.DeleteByQueryResponse; -import co.elastic.clients.elasticsearch.core.DeleteRequest; -import co.elastic.clients.elasticsearch.core.DeleteResponse; -import co.elastic.clients.elasticsearch.core.DeleteScriptRequest; -import co.elastic.clients.elasticsearch.core.DeleteScriptResponse; -import co.elastic.clients.elasticsearch.core.ExistsRequest; -import co.elastic.clients.elasticsearch.core.ExistsSourceRequest; -import co.elastic.clients.elasticsearch.core.ExplainRequest; -import co.elastic.clients.elasticsearch.core.ExplainResponse; -import co.elastic.clients.elasticsearch.core.FieldCapsRequest; -import co.elastic.clients.elasticsearch.core.FieldCapsResponse; -import co.elastic.clients.elasticsearch.core.GetRequest; -import co.elastic.clients.elasticsearch.core.GetResponse; -import co.elastic.clients.elasticsearch.core.GetScriptRequest; -import co.elastic.clients.elasticsearch.core.GetScriptResponse; -import co.elastic.clients.elasticsearch.core.GetSourceRequest; -import co.elastic.clients.elasticsearch.core.GetSourceResponse; -import co.elastic.clients.elasticsearch.core.IndexRequest; -import co.elastic.clients.elasticsearch.core.IndexResponse; -import co.elastic.clients.elasticsearch.core.InfoRequest; -import co.elastic.clients.elasticsearch.core.InfoResponse; -import co.elastic.clients.elasticsearch.core.MgetRequest; -import co.elastic.clients.elasticsearch.core.MgetResponse; -import co.elastic.clients.elasticsearch.core.MsearchRequest; -import co.elastic.clients.elasticsearch.core.MsearchResponse; -import co.elastic.clients.elasticsearch.core.MsearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.MsearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.MtermvectorsRequest; -import co.elastic.clients.elasticsearch.core.MtermvectorsResponse; -import co.elastic.clients.elasticsearch.core.OpenPointInTimeRequest; -import co.elastic.clients.elasticsearch.core.OpenPointInTimeResponse; -import co.elastic.clients.elasticsearch.core.PingRequest; -import co.elastic.clients.elasticsearch.core.PutScriptRequest; -import co.elastic.clients.elasticsearch.core.PutScriptResponse; -import co.elastic.clients.elasticsearch.core.RankEvalRequest; -import co.elastic.clients.elasticsearch.core.RankEvalResponse; -import co.elastic.clients.elasticsearch.core.ReindexRequest; -import co.elastic.clients.elasticsearch.core.ReindexResponse; -import co.elastic.clients.elasticsearch.core.RenderSearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.RenderSearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.ScriptsPainlessExecuteRequest; -import co.elastic.clients.elasticsearch.core.ScriptsPainlessExecuteResponse; -import co.elastic.clients.elasticsearch.core.ScrollRequest; -import co.elastic.clients.elasticsearch.core.ScrollResponse; -import co.elastic.clients.elasticsearch.core.SearchMvtRequest; -import co.elastic.clients.elasticsearch.core.SearchRequest; -import co.elastic.clients.elasticsearch.core.SearchResponse; -import co.elastic.clients.elasticsearch.core.SearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.SearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.TermsEnumRequest; -import co.elastic.clients.elasticsearch.core.TermsEnumResponse; -import co.elastic.clients.elasticsearch.core.TermvectorsRequest; -import co.elastic.clients.elasticsearch.core.TermvectorsResponse; -import co.elastic.clients.elasticsearch.core.UpdateByQueryRequest; -import co.elastic.clients.elasticsearch.core.UpdateByQueryResponse; -import co.elastic.clients.elasticsearch.core.UpdateRequest; -import co.elastic.clients.elasticsearch.core.UpdateResponse; -import co.elastic.clients.elasticsearch.enrich.ElasticsearchEnrichAsyncClient; -import co.elastic.clients.elasticsearch.eql.ElasticsearchEqlAsyncClient; -import co.elastic.clients.elasticsearch.esql.ElasticsearchEsqlAsyncClient; -import co.elastic.clients.elasticsearch.graph.ElasticsearchGraphAsyncClient; -import co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesAsyncClient; -import co.elastic.clients.elasticsearch.inference.ElasticsearchInferenceAsyncClient; -import co.elastic.clients.elasticsearch.ingest.ElasticsearchIngestAsyncClient; -import co.elastic.clients.elasticsearch.license.ElasticsearchLicenseAsyncClient; -import co.elastic.clients.elasticsearch.logstash.ElasticsearchLogstashAsyncClient; -import co.elastic.clients.elasticsearch.ml.ElasticsearchMlAsyncClient; -import co.elastic.clients.elasticsearch.query_rules.ElasticsearchQueryRulesAsyncClient; -import co.elastic.clients.elasticsearch.search_application.ElasticsearchSearchApplicationAsyncClient; -import co.elastic.clients.elasticsearch.security.ElasticsearchSecurityAsyncClient; -import co.elastic.clients.elasticsearch.sql.ElasticsearchSqlAsyncClient; -import co.elastic.clients.elasticsearch.synonyms.ElasticsearchSynonymsAsyncClient; -import co.elastic.clients.elasticsearch.tasks.ElasticsearchTasksAsyncClient; -import co.elastic.clients.elasticsearch.transform.ElasticsearchTransformAsyncClient; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BinaryResponse; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.transport.endpoints.EndpointWithResponseMapperAttr; -import co.elastic.clients.util.ObjectBuilder; -import java.lang.reflect.Type; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the namespace. - */ -public class ElasticsearchAsyncClient extends ApiClient { - - public ElasticsearchAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchAsyncClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchAsyncClient(this.transport, transportOptions); - } - - // ----- Child clients - - public ElasticsearchAsyncSearchAsyncClient asyncSearch() { - return new ElasticsearchAsyncSearchAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchCatAsyncClient cat() { - return new ElasticsearchCatAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchClusterAsyncClient cluster() { - return new ElasticsearchClusterAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchConnectorAsyncClient connector() { - return new ElasticsearchConnectorAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchEnrichAsyncClient enrich() { - return new ElasticsearchEnrichAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchEqlAsyncClient eql() { - return new ElasticsearchEqlAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchEsqlAsyncClient esql() { - return new ElasticsearchEsqlAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchGraphAsyncClient graph() { - return new ElasticsearchGraphAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchIndicesAsyncClient indices() { - return new ElasticsearchIndicesAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchInferenceAsyncClient inference() { - return new ElasticsearchInferenceAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchIngestAsyncClient ingest() { - return new ElasticsearchIngestAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchLicenseAsyncClient license() { - return new ElasticsearchLicenseAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchLogstashAsyncClient logstash() { - return new ElasticsearchLogstashAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchMlAsyncClient ml() { - return new ElasticsearchMlAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchQueryRulesAsyncClient queryRules() { - return new ElasticsearchQueryRulesAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchSearchApplicationAsyncClient searchApplication() { - return new ElasticsearchSearchApplicationAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchSecurityAsyncClient security() { - return new ElasticsearchSecurityAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchSqlAsyncClient sql() { - return new ElasticsearchSqlAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchSynonymsAsyncClient synonyms() { - return new ElasticsearchSynonymsAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchTasksAsyncClient tasks() { - return new ElasticsearchTasksAsyncClient(this.transport, this.transportOptions); - } - - public ElasticsearchTransformAsyncClient transform() { - return new ElasticsearchTransformAsyncClient(this.transport, this.transportOptions); - } - - // ----- Endpoint: bulk - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture bulk(BulkRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) BulkRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @param fn - * a function that initializes a builder to create the - * {@link BulkRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture bulk(Function> fn) { - return bulk(fn.apply(new BulkRequest.Builder()).build()); - } - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture bulk() { - return this.transport.performRequestAsync(new BulkRequest.Builder().build(), BulkRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: clear_scroll - - /** - * Clears the search context and results for a scrolling search. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture clearScroll(ClearScrollRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ClearScrollRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Clears the search context and results for a scrolling search. - * - * @param fn - * a function that initializes a builder to create the - * {@link ClearScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture clearScroll( - Function> fn) { - return clearScroll(fn.apply(new ClearScrollRequest.Builder()).build()); - } - - /** - * Clears the search context and results for a scrolling search. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture clearScroll() { - return this.transport.performRequestAsync(new ClearScrollRequest.Builder().build(), - ClearScrollRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: close_point_in_time - - /** - * Closes a point-in-time. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture closePointInTime(ClosePointInTimeRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ClosePointInTimeRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Closes a point-in-time. - * - * @param fn - * a function that initializes a builder to create the - * {@link ClosePointInTimeRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture closePointInTime( - Function> fn) { - return closePointInTime(fn.apply(new ClosePointInTimeRequest.Builder()).build()); - } - - // ----- Endpoint: count - - /** - * Returns number of documents matching a query. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture count(CountRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CountRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns number of documents matching a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link CountRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture count( - Function> fn) { - return count(fn.apply(new CountRequest.Builder()).build()); - } - - /** - * Returns number of documents matching a query. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture count() { - return this.transport.performRequestAsync(new CountRequest.Builder().build(), CountRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: create - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture create(CreateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint, CreateResponse, ErrorResponse> endpoint = (JsonEndpoint, CreateResponse, ErrorResponse>) CreateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture create( - Function, ObjectBuilder>> fn) { - return create(fn.apply(new CreateRequest.Builder()).build()); - } - - // ----- Endpoint: delete - - /** - * Delete a document. Removes a JSON document from the specified index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture delete(DeleteRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete a document. Removes a JSON document from the specified index. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture delete( - Function> fn) { - return delete(fn.apply(new DeleteRequest.Builder()).build()); - } - - // ----- Endpoint: delete_by_query - - /** - * Delete documents. Deletes documents that match the specified query. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteByQuery(DeleteByQueryRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteByQueryRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete documents. Deletes documents that match the specified query. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteByQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteByQuery( - Function> fn) { - return deleteByQuery(fn.apply(new DeleteByQueryRequest.Builder()).build()); - } - - // ----- Endpoint: delete_script - - /** - * Delete a script or search template. Deletes a stored script or search - * template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteScript(DeleteScriptRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteScriptRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete a script or search template. Deletes a stored script or search - * template. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteScript( - Function> fn) { - return deleteScript(fn.apply(new DeleteScriptRequest.Builder()).build()); - } - - // ----- Endpoint: exists - - /** - * Check a document. Checks if a specified document exists. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture exists(ExistsRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Check a document. Checks if a specified document exists. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture exists( - Function> fn) { - return exists(fn.apply(new ExistsRequest.Builder()).build()); - } - - // ----- Endpoint: exists_source - - /** - * Check for a document source. Checks if a document's _source is - * stored. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture existsSource(ExistsSourceRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsSourceRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Check for a document source. Checks if a document's _source is - * stored. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture existsSource( - Function> fn) { - return existsSource(fn.apply(new ExistsSourceRequest.Builder()).build()); - } - - // ----- Endpoint: explain - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> explain(ExplainRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.explain.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> explain( - Function> fn, Class tDocumentClass) { - return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentClass); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> explain(ExplainRequest request, - Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.explain.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> explain( - Function> fn, Type tDocumentType) { - return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: field_caps - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture fieldCaps(FieldCapsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) FieldCapsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @param fn - * a function that initializes a builder to create the - * {@link FieldCapsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture fieldCaps( - Function> fn) { - return fieldCaps(fn.apply(new FieldCapsRequest.Builder()).build()); - } - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture fieldCaps() { - return this.transport.performRequestAsync(new FieldCapsRequest.Builder().build(), FieldCapsRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: get - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> get(GetRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> get( - Function> fn, Class tDocumentClass) { - return get(fn.apply(new GetRequest.Builder()).build(), tDocumentClass); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> get(GetRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> get( - Function> fn, Type tDocumentType) { - return get(fn.apply(new GetRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: get_script - - /** - * Get a script or search template. Retrieves a stored script or search - * template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getScript(GetScriptRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetScriptRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get a script or search template. Retrieves a stored script or search - * template. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getScript( - Function> fn) { - return getScript(fn.apply(new GetScriptRequest.Builder()).build()); - } - - // ----- Endpoint: get_source - - /** - * Get a document's source. Returns the source of a document. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> getSource(GetSourceRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get_source.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> getSource( - Function> fn, Class tDocumentClass) { - return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentClass); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> getSource(GetSourceRequest request, - Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get_source.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> getSource( - Function> fn, Type tDocumentType) { - return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: index - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture index(IndexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint, IndexResponse, ErrorResponse> endpoint = (JsonEndpoint, IndexResponse, ErrorResponse>) IndexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @param fn - * a function that initializes a builder to create the - * {@link IndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture index( - Function, ObjectBuilder>> fn) { - return index(fn.apply(new IndexRequest.Builder()).build()); - } - - // ----- Endpoint: info - - /** - * Get cluster info. Returns basic information about the cluster. - * - * @see Documentation - * on elastic.co - */ - public CompletableFuture info() { - return this.transport.performRequestAsync(InfoRequest._INSTANCE, InfoRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: mget - - /** - * Allows to get multiple documents in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> mget(MgetRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.mget.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to get multiple documents in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MgetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> mget( - Function> fn, Class tDocumentClass) { - return mget(fn.apply(new MgetRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to get multiple documents in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> mget(MgetRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.mget.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to get multiple documents in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MgetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> mget( - Function> fn, Type tDocumentType) { - return mget(fn.apply(new MgetRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: msearch - - /** - * Allows to execute several search operations in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> msearch(MsearchRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to execute several search operations in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> msearch( - Function> fn, Class tDocumentClass) { - return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to execute several search operations in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> msearch(MsearchRequest request, - Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to execute several search operations in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> msearch( - Function> fn, Type tDocumentType) { - return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: msearch_template - - /** - * Runs multiple templated searches with a single request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> msearchTemplate( - MsearchTemplateRequest request, Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch_template.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Runs multiple templated searches with a single request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> msearchTemplate( - Function> fn, - Class tDocumentClass) { - return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Runs multiple templated searches with a single request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> msearchTemplate( - MsearchTemplateRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch_template.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Runs multiple templated searches with a single request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> msearchTemplate( - Function> fn, Type tDocumentType) { - return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: mtermvectors - - /** - * Returns multiple termvectors in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture mtermvectors(MtermvectorsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) MtermvectorsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns multiple termvectors in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MtermvectorsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture mtermvectors( - Function> fn) { - return mtermvectors(fn.apply(new MtermvectorsRequest.Builder()).build()); - } - - /** - * Returns multiple termvectors in one request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture mtermvectors() { - return this.transport.performRequestAsync(new MtermvectorsRequest.Builder().build(), - MtermvectorsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: open_point_in_time - - /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when - * initiated. In some cases, it’s preferred to perform multiple search requests - * using the same point in time. For example, if refreshes happen between - * search_after requests, then the results of those requests might - * not be consistent as changes happening between searches are only visible to - * the more recent point in time. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture openPointInTime(OpenPointInTimeRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) OpenPointInTimeRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when - * initiated. In some cases, it’s preferred to perform multiple search requests - * using the same point in time. For example, if refreshes happen between - * search_after requests, then the results of those requests might - * not be consistent as changes happening between searches are only visible to - * the more recent point in time. - * - * @param fn - * a function that initializes a builder to create the - * {@link OpenPointInTimeRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture openPointInTime( - Function> fn) { - return openPointInTime(fn.apply(new OpenPointInTimeRequest.Builder()).build()); - } - - // ----- Endpoint: ping - - /** - * Ping the cluster. Returns whether the cluster is running. - * - * @see Documentation - * on elastic.co - */ - public CompletableFuture ping() { - return this.transport.performRequestAsync(PingRequest._INSTANCE, PingRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: put_script - - /** - * Create or update a script or search template. Creates or updates a stored - * script or search template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putScript(PutScriptRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutScriptRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create or update a script or search template. Creates or updates a stored - * script or search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putScript( - Function> fn) { - return putScript(fn.apply(new PutScriptRequest.Builder()).build()); - } - - // ----- Endpoint: rank_eval - - /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture rankEval(RankEvalRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RankEvalRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. - * - * @param fn - * a function that initializes a builder to create the - * {@link RankEvalRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture rankEval( - Function> fn) { - return rankEval(fn.apply(new RankEvalRequest.Builder()).build()); - } - - // ----- Endpoint: reindex - - /** - * Reindex documents. Copies documents from a source to a destination. The - * source can be any existing index, alias, or data stream. The destination must - * differ from the source. For example, you cannot reindex a data stream into - * itself. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture reindex(ReindexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ReindexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Reindex documents. Copies documents from a source to a destination. The - * source can be any existing index, alias, or data stream. The destination must - * differ from the source. For example, you cannot reindex a data stream into - * itself. - * - * @param fn - * a function that initializes a builder to create the - * {@link ReindexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture reindex( - Function> fn) { - return reindex(fn.apply(new ReindexRequest.Builder()).build()); - } - - // ----- Endpoint: render_search_template - - /** - * Renders a search template as a search request body. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture renderSearchTemplate(RenderSearchTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RenderSearchTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Renders a search template as a search request body. - * - * @param fn - * a function that initializes a builder to create the - * {@link RenderSearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture renderSearchTemplate( - Function> fn) { - return renderSearchTemplate(fn.apply(new RenderSearchTemplateRequest.Builder()).build()); - } - - /** - * Renders a search template as a search request body. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture renderSearchTemplate() { - return this.transport.performRequestAsync(new RenderSearchTemplateRequest.Builder().build(), - RenderSearchTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: scripts_painless_execute - - /** - * Run a script. Runs a script and returns a result. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> scriptsPainlessExecute( - ScriptsPainlessExecuteRequest request, Class tResultClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scripts_painless_execute.Response.TResult", - getDeserializer(tResultClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScriptsPainlessExecuteRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> scriptsPainlessExecute( - Function> fn, - Class tResultClass) { - return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultClass); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> scriptsPainlessExecute( - ScriptsPainlessExecuteRequest request, Type tResultType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scripts_painless_execute.Response.TResult", - getDeserializer(tResultType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScriptsPainlessExecuteRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> scriptsPainlessExecute( - Function> fn, - Type tResultType) { - return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultType); - } - - // ----- Endpoint: scroll - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> scroll(ScrollRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scroll.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> scroll( - Function> fn, Class tDocumentClass) { - return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> scroll(ScrollRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scroll.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> scroll( - Function> fn, Type tDocumentType) { - return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: search - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> search(SearchRequest request, - Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> search( - Function> fn, Class tDocumentClass) { - return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentClass); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> search(SearchRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> search( - Function> fn, Type tDocumentType) { - return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: search_mvt - - /** - * Search a vector tile. Searches a vector tile for geospatial values. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture searchMvt(SearchMvtRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) SearchMvtRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Search a vector tile. Searches a vector tile for geospatial values. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchMvtRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture searchMvt( - Function> fn) { - return searchMvt(fn.apply(new SearchMvtRequest.Builder()).build()); - } - - // ----- Endpoint: search_template - - /** - * Runs a search with a search template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> searchTemplate( - SearchTemplateRequest request, Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search_template.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Runs a search with a search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> searchTemplate( - Function> fn, - Class tDocumentClass) { - return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Runs a search with a search template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> searchTemplate( - SearchTemplateRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search_template.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Runs a search with a search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> searchTemplate( - Function> fn, Type tDocumentType) { - return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: terms_enum - - /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture termsEnum(TermsEnumRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) TermsEnumRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. - * - * @param fn - * a function that initializes a builder to create the - * {@link TermsEnumRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture termsEnum( - Function> fn) { - return termsEnum(fn.apply(new TermsEnumRequest.Builder()).build()); - } - - // ----- Endpoint: termvectors - - /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture termvectors(TermvectorsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint, TermvectorsResponse, ErrorResponse> endpoint = (JsonEndpoint, TermvectorsResponse, ErrorResponse>) TermvectorsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. - * - * @param fn - * a function that initializes a builder to create the - * {@link TermvectorsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture termvectors( - Function, ObjectBuilder>> fn) { - return termvectors(fn.apply(new TermvectorsRequest.Builder()).build()); - } - - // ----- Endpoint: update - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> update( - UpdateRequest request, Class tDocumentClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, UpdateResponse, ErrorResponse> endpoint = (JsonEndpoint, UpdateResponse, ErrorResponse>) UpdateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.update.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> update( - Function, ObjectBuilder>> fn, - Class tDocumentClass) { - return update(fn.apply(new UpdateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> update( - UpdateRequest request, Type tDocumentType) { - @SuppressWarnings("unchecked") - JsonEndpoint, UpdateResponse, ErrorResponse> endpoint = (JsonEndpoint, UpdateResponse, ErrorResponse>) UpdateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.update.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> update( - Function, ObjectBuilder>> fn, - Type tDocumentType) { - return update(fn.apply(new UpdateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: update_by_query - - /** - * Update documents. Updates documents that match the specified query. If no - * query is specified, performs an update on every document in the data stream - * or index without modifying the source, which is useful for picking up mapping - * changes. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture updateByQuery(UpdateByQueryRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) UpdateByQueryRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update documents. Updates documents that match the specified query. If no - * query is specified, performs an update on every document in the data stream - * or index without modifying the source, which is useful for picking up mapping - * changes. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateByQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture updateByQuery( - Function> fn) { - return updateByQuery(fn.apply(new UpdateByQueryRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java deleted file mode 100644 index 63ece3e8c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ /dev/null @@ -1,2016 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch.async_search.ElasticsearchAsyncSearchClient; -import co.elastic.clients.elasticsearch.cat.ElasticsearchCatClient; -import co.elastic.clients.elasticsearch.cluster.ElasticsearchClusterClient; -import co.elastic.clients.elasticsearch.connector.ElasticsearchConnectorClient; -import co.elastic.clients.elasticsearch.core.BulkRequest; -import co.elastic.clients.elasticsearch.core.BulkResponse; -import co.elastic.clients.elasticsearch.core.ClearScrollRequest; -import co.elastic.clients.elasticsearch.core.ClearScrollResponse; -import co.elastic.clients.elasticsearch.core.ClosePointInTimeRequest; -import co.elastic.clients.elasticsearch.core.ClosePointInTimeResponse; -import co.elastic.clients.elasticsearch.core.CountRequest; -import co.elastic.clients.elasticsearch.core.CountResponse; -import co.elastic.clients.elasticsearch.core.CreateRequest; -import co.elastic.clients.elasticsearch.core.CreateResponse; -import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest; -import co.elastic.clients.elasticsearch.core.DeleteByQueryResponse; -import co.elastic.clients.elasticsearch.core.DeleteRequest; -import co.elastic.clients.elasticsearch.core.DeleteResponse; -import co.elastic.clients.elasticsearch.core.DeleteScriptRequest; -import co.elastic.clients.elasticsearch.core.DeleteScriptResponse; -import co.elastic.clients.elasticsearch.core.ExistsRequest; -import co.elastic.clients.elasticsearch.core.ExistsSourceRequest; -import co.elastic.clients.elasticsearch.core.ExplainRequest; -import co.elastic.clients.elasticsearch.core.ExplainResponse; -import co.elastic.clients.elasticsearch.core.FieldCapsRequest; -import co.elastic.clients.elasticsearch.core.FieldCapsResponse; -import co.elastic.clients.elasticsearch.core.GetRequest; -import co.elastic.clients.elasticsearch.core.GetResponse; -import co.elastic.clients.elasticsearch.core.GetScriptRequest; -import co.elastic.clients.elasticsearch.core.GetScriptResponse; -import co.elastic.clients.elasticsearch.core.GetSourceRequest; -import co.elastic.clients.elasticsearch.core.GetSourceResponse; -import co.elastic.clients.elasticsearch.core.IndexRequest; -import co.elastic.clients.elasticsearch.core.IndexResponse; -import co.elastic.clients.elasticsearch.core.InfoRequest; -import co.elastic.clients.elasticsearch.core.InfoResponse; -import co.elastic.clients.elasticsearch.core.MgetRequest; -import co.elastic.clients.elasticsearch.core.MgetResponse; -import co.elastic.clients.elasticsearch.core.MsearchRequest; -import co.elastic.clients.elasticsearch.core.MsearchResponse; -import co.elastic.clients.elasticsearch.core.MsearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.MsearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.MtermvectorsRequest; -import co.elastic.clients.elasticsearch.core.MtermvectorsResponse; -import co.elastic.clients.elasticsearch.core.OpenPointInTimeRequest; -import co.elastic.clients.elasticsearch.core.OpenPointInTimeResponse; -import co.elastic.clients.elasticsearch.core.PingRequest; -import co.elastic.clients.elasticsearch.core.PutScriptRequest; -import co.elastic.clients.elasticsearch.core.PutScriptResponse; -import co.elastic.clients.elasticsearch.core.RankEvalRequest; -import co.elastic.clients.elasticsearch.core.RankEvalResponse; -import co.elastic.clients.elasticsearch.core.ReindexRequest; -import co.elastic.clients.elasticsearch.core.ReindexResponse; -import co.elastic.clients.elasticsearch.core.RenderSearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.RenderSearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.ScriptsPainlessExecuteRequest; -import co.elastic.clients.elasticsearch.core.ScriptsPainlessExecuteResponse; -import co.elastic.clients.elasticsearch.core.ScrollRequest; -import co.elastic.clients.elasticsearch.core.ScrollResponse; -import co.elastic.clients.elasticsearch.core.SearchMvtRequest; -import co.elastic.clients.elasticsearch.core.SearchRequest; -import co.elastic.clients.elasticsearch.core.SearchResponse; -import co.elastic.clients.elasticsearch.core.SearchTemplateRequest; -import co.elastic.clients.elasticsearch.core.SearchTemplateResponse; -import co.elastic.clients.elasticsearch.core.TermsEnumRequest; -import co.elastic.clients.elasticsearch.core.TermsEnumResponse; -import co.elastic.clients.elasticsearch.core.TermvectorsRequest; -import co.elastic.clients.elasticsearch.core.TermvectorsResponse; -import co.elastic.clients.elasticsearch.core.UpdateByQueryRequest; -import co.elastic.clients.elasticsearch.core.UpdateByQueryResponse; -import co.elastic.clients.elasticsearch.core.UpdateRequest; -import co.elastic.clients.elasticsearch.core.UpdateResponse; -import co.elastic.clients.elasticsearch.enrich.ElasticsearchEnrichClient; -import co.elastic.clients.elasticsearch.eql.ElasticsearchEqlClient; -import co.elastic.clients.elasticsearch.esql.ElasticsearchEsqlClient; -import co.elastic.clients.elasticsearch.graph.ElasticsearchGraphClient; -import co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient; -import co.elastic.clients.elasticsearch.inference.ElasticsearchInferenceClient; -import co.elastic.clients.elasticsearch.ingest.ElasticsearchIngestClient; -import co.elastic.clients.elasticsearch.license.ElasticsearchLicenseClient; -import co.elastic.clients.elasticsearch.logstash.ElasticsearchLogstashClient; -import co.elastic.clients.elasticsearch.ml.ElasticsearchMlClient; -import co.elastic.clients.elasticsearch.query_rules.ElasticsearchQueryRulesClient; -import co.elastic.clients.elasticsearch.search_application.ElasticsearchSearchApplicationClient; -import co.elastic.clients.elasticsearch.security.ElasticsearchSecurityClient; -import co.elastic.clients.elasticsearch.sql.ElasticsearchSqlClient; -import co.elastic.clients.elasticsearch.synonyms.ElasticsearchSynonymsClient; -import co.elastic.clients.elasticsearch.tasks.ElasticsearchTasksClient; -import co.elastic.clients.elasticsearch.transform.ElasticsearchTransformClient; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BinaryResponse; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.transport.endpoints.EndpointWithResponseMapperAttr; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.lang.reflect.Type; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the namespace. - */ -public class ElasticsearchClient extends ApiClient { - - public ElasticsearchClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchClient(this.transport, transportOptions); - } - - // ----- Child clients - - public ElasticsearchAsyncSearchClient asyncSearch() { - return new ElasticsearchAsyncSearchClient(this.transport, this.transportOptions); - } - - public ElasticsearchCatClient cat() { - return new ElasticsearchCatClient(this.transport, this.transportOptions); - } - - public ElasticsearchClusterClient cluster() { - return new ElasticsearchClusterClient(this.transport, this.transportOptions); - } - - public ElasticsearchConnectorClient connector() { - return new ElasticsearchConnectorClient(this.transport, this.transportOptions); - } - - public ElasticsearchEnrichClient enrich() { - return new ElasticsearchEnrichClient(this.transport, this.transportOptions); - } - - public ElasticsearchEqlClient eql() { - return new ElasticsearchEqlClient(this.transport, this.transportOptions); - } - - public ElasticsearchEsqlClient esql() { - return new ElasticsearchEsqlClient(this.transport, this.transportOptions); - } - - public ElasticsearchGraphClient graph() { - return new ElasticsearchGraphClient(this.transport, this.transportOptions); - } - - public ElasticsearchIndicesClient indices() { - return new ElasticsearchIndicesClient(this.transport, this.transportOptions); - } - - public ElasticsearchInferenceClient inference() { - return new ElasticsearchInferenceClient(this.transport, this.transportOptions); - } - - public ElasticsearchIngestClient ingest() { - return new ElasticsearchIngestClient(this.transport, this.transportOptions); - } - - public ElasticsearchLicenseClient license() { - return new ElasticsearchLicenseClient(this.transport, this.transportOptions); - } - - public ElasticsearchLogstashClient logstash() { - return new ElasticsearchLogstashClient(this.transport, this.transportOptions); - } - - public ElasticsearchMlClient ml() { - return new ElasticsearchMlClient(this.transport, this.transportOptions); - } - - public ElasticsearchQueryRulesClient queryRules() { - return new ElasticsearchQueryRulesClient(this.transport, this.transportOptions); - } - - public ElasticsearchSearchApplicationClient searchApplication() { - return new ElasticsearchSearchApplicationClient(this.transport, this.transportOptions); - } - - public ElasticsearchSecurityClient security() { - return new ElasticsearchSecurityClient(this.transport, this.transportOptions); - } - - public ElasticsearchSqlClient sql() { - return new ElasticsearchSqlClient(this.transport, this.transportOptions); - } - - public ElasticsearchSynonymsClient synonyms() { - return new ElasticsearchSynonymsClient(this.transport, this.transportOptions); - } - - public ElasticsearchTasksClient tasks() { - return new ElasticsearchTasksClient(this.transport, this.transportOptions); - } - - public ElasticsearchTransformClient transform() { - return new ElasticsearchTransformClient(this.transport, this.transportOptions); - } - - // ----- Endpoint: bulk - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @see Documentation - * on elastic.co - */ - - public BulkResponse bulk(BulkRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) BulkRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @param fn - * a function that initializes a builder to create the - * {@link BulkRequest} - * @see Documentation - * on elastic.co - */ - - public final BulkResponse bulk(Function> fn) - throws IOException, ElasticsearchException { - return bulk(fn.apply(new BulkRequest.Builder()).build()); - } - - /** - * Bulk index or delete documents. Performs multiple indexing or delete - * operations in a single API call. This reduces overhead and can greatly - * increase indexing speed. - * - * @see Documentation - * on elastic.co - */ - - public BulkResponse bulk() throws IOException, ElasticsearchException { - return this.transport.performRequest(new BulkRequest.Builder().build(), BulkRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: clear_scroll - - /** - * Clears the search context and results for a scrolling search. - * - * @see Documentation - * on elastic.co - */ - - public ClearScrollResponse clearScroll(ClearScrollRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ClearScrollRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Clears the search context and results for a scrolling search. - * - * @param fn - * a function that initializes a builder to create the - * {@link ClearScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final ClearScrollResponse clearScroll( - Function> fn) - throws IOException, ElasticsearchException { - return clearScroll(fn.apply(new ClearScrollRequest.Builder()).build()); - } - - /** - * Clears the search context and results for a scrolling search. - * - * @see Documentation - * on elastic.co - */ - - public ClearScrollResponse clearScroll() throws IOException, ElasticsearchException { - return this.transport.performRequest(new ClearScrollRequest.Builder().build(), ClearScrollRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: close_point_in_time - - /** - * Closes a point-in-time. - * - * @see Documentation - * on elastic.co - */ - - public ClosePointInTimeResponse closePointInTime(ClosePointInTimeRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ClosePointInTimeRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Closes a point-in-time. - * - * @param fn - * a function that initializes a builder to create the - * {@link ClosePointInTimeRequest} - * @see Documentation - * on elastic.co - */ - - public final ClosePointInTimeResponse closePointInTime( - Function> fn) - throws IOException, ElasticsearchException { - return closePointInTime(fn.apply(new ClosePointInTimeRequest.Builder()).build()); - } - - // ----- Endpoint: count - - /** - * Returns number of documents matching a query. - * - * @see Documentation - * on elastic.co - */ - - public CountResponse count(CountRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CountRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns number of documents matching a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link CountRequest} - * @see Documentation - * on elastic.co - */ - - public final CountResponse count(Function> fn) - throws IOException, ElasticsearchException { - return count(fn.apply(new CountRequest.Builder()).build()); - } - - /** - * Returns number of documents matching a query. - * - * @see Documentation - * on elastic.co - */ - - public CountResponse count() throws IOException, ElasticsearchException { - return this.transport.performRequest(new CountRequest.Builder().build(), CountRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: create - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @see Documentation - * on elastic.co - */ - - public CreateResponse create(CreateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, CreateResponse, ErrorResponse> endpoint = (JsonEndpoint, CreateResponse, ErrorResponse>) CreateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateRequest} - * @see Documentation - * on elastic.co - */ - - public final CreateResponse create( - Function, ObjectBuilder>> fn) - throws IOException, ElasticsearchException { - return create(fn.apply(new CreateRequest.Builder()).build()); - } - - // ----- Endpoint: delete - - /** - * Delete a document. Removes a JSON document from the specified index. - * - * @see Documentation - * on elastic.co - */ - - public DeleteResponse delete(DeleteRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete a document. Removes a JSON document from the specified index. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteResponse delete(Function> fn) - throws IOException, ElasticsearchException { - return delete(fn.apply(new DeleteRequest.Builder()).build()); - } - - // ----- Endpoint: delete_by_query - - /** - * Delete documents. Deletes documents that match the specified query. - * - * @see Documentation - * on elastic.co - */ - - public DeleteByQueryResponse deleteByQuery(DeleteByQueryRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteByQueryRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete documents. Deletes documents that match the specified query. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteByQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteByQueryResponse deleteByQuery( - Function> fn) - throws IOException, ElasticsearchException { - return deleteByQuery(fn.apply(new DeleteByQueryRequest.Builder()).build()); - } - - // ----- Endpoint: delete_script - - /** - * Delete a script or search template. Deletes a stored script or search - * template. - * - * @see Documentation - * on elastic.co - */ - - public DeleteScriptResponse deleteScript(DeleteScriptRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteScriptRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete a script or search template. Deletes a stored script or search - * template. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteScriptResponse deleteScript( - Function> fn) - throws IOException, ElasticsearchException { - return deleteScript(fn.apply(new DeleteScriptRequest.Builder()).build()); - } - - // ----- Endpoint: exists - - /** - * Check a document. Checks if a specified document exists. - * - * @see Documentation - * on elastic.co - */ - - public BooleanResponse exists(ExistsRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Check a document. Checks if a specified document exists. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsRequest} - * @see Documentation - * on elastic.co - */ - - public final BooleanResponse exists(Function> fn) - throws IOException, ElasticsearchException { - return exists(fn.apply(new ExistsRequest.Builder()).build()); - } - - // ----- Endpoint: exists_source - - /** - * Check for a document source. Checks if a document's _source is - * stored. - * - * @see Documentation - * on elastic.co - */ - - public BooleanResponse existsSource(ExistsSourceRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsSourceRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Check for a document source. Checks if a document's _source is - * stored. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final BooleanResponse existsSource( - Function> fn) - throws IOException, ElasticsearchException { - return existsSource(fn.apply(new ExistsSourceRequest.Builder()).build()); - } - - // ----- Endpoint: explain - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @see Documentation - * on elastic.co - */ - - public ExplainResponse explain(ExplainRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.explain.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainRequest} - * @see Documentation - * on elastic.co - */ - - public final ExplainResponse explain( - Function> fn, Class tDocumentClass) - throws IOException, ElasticsearchException { - return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentClass); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @see Documentation - * on elastic.co - */ - - public ExplainResponse explain(ExplainRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.explain.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Explain a document match result. Returns information about why a specific - * document matches, or doesn’t match, a query. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainRequest} - * @see Documentation - * on elastic.co - */ - - public final ExplainResponse explain( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: field_caps - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @see Documentation - * on elastic.co - */ - - public FieldCapsResponse fieldCaps(FieldCapsRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) FieldCapsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @param fn - * a function that initializes a builder to create the - * {@link FieldCapsRequest} - * @see Documentation - * on elastic.co - */ - - public final FieldCapsResponse fieldCaps(Function> fn) - throws IOException, ElasticsearchException { - return fieldCaps(fn.apply(new FieldCapsRequest.Builder()).build()); - } - - /** - * The field capabilities API returns the information about the capabilities of - * fields among multiple indices. The field capabilities API returns runtime - * fields like any other field. For example, a runtime field with a type of - * keyword is returned as any other field that belongs to the - * keyword family. - * - * @see Documentation - * on elastic.co - */ - - public FieldCapsResponse fieldCaps() throws IOException, ElasticsearchException { - return this.transport.performRequest(new FieldCapsRequest.Builder().build(), FieldCapsRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: get - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @see Documentation - * on elastic.co - */ - - public GetResponse get(GetRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetRequest} - * @see Documentation - * on elastic.co - */ - - public final GetResponse get(Function> fn, - Class tDocumentClass) throws IOException, ElasticsearchException { - return get(fn.apply(new GetRequest.Builder()).build(), tDocumentClass); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @see Documentation - * on elastic.co - */ - - public GetResponse get(GetRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get a document by its ID. Retrieves the document with the specified ID from - * an index. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetRequest} - * @see Documentation - * on elastic.co - */ - - public final GetResponse get(Function> fn, - Type tDocumentType) throws IOException, ElasticsearchException { - return get(fn.apply(new GetRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: get_script - - /** - * Get a script or search template. Retrieves a stored script or search - * template. - * - * @see Documentation - * on elastic.co - */ - - public GetScriptResponse getScript(GetScriptRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetScriptRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get a script or search template. Retrieves a stored script or search - * template. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final GetScriptResponse getScript(Function> fn) - throws IOException, ElasticsearchException { - return getScript(fn.apply(new GetScriptRequest.Builder()).build()); - } - - // ----- Endpoint: get_source - - /** - * Get a document's source. Returns the source of a document. - * - * @see Documentation - * on elastic.co - */ - - public GetSourceResponse getSource(GetSourceRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get_source.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final GetSourceResponse getSource( - Function> fn, Class tDocumentClass) - throws IOException, ElasticsearchException { - return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentClass); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @see Documentation - * on elastic.co - */ - - public GetSourceResponse getSource(GetSourceRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.get_source.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get a document's source. Returns the source of a document. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetSourceRequest} - * @see Documentation - * on elastic.co - */ - - public final GetSourceResponse getSource( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: index - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @see Documentation - * on elastic.co - */ - - public IndexResponse index(IndexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, IndexResponse, ErrorResponse> endpoint = (JsonEndpoint, IndexResponse, ErrorResponse>) IndexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Index a document. Adds a JSON document to the specified data stream or index - * and makes it searchable. If the target is an index and the document already - * exists, the request updates the document and increments its version. - * - * @param fn - * a function that initializes a builder to create the - * {@link IndexRequest} - * @see Documentation - * on elastic.co - */ - - public final IndexResponse index( - Function, ObjectBuilder>> fn) - throws IOException, ElasticsearchException { - return index(fn.apply(new IndexRequest.Builder()).build()); - } - - // ----- Endpoint: info - - /** - * Get cluster info. Returns basic information about the cluster. - * - * @see Documentation - * on elastic.co - */ - public InfoResponse info() throws IOException, ElasticsearchException { - return this.transport.performRequest(InfoRequest._INSTANCE, InfoRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: mget - - /** - * Allows to get multiple documents in one request. - * - * @see Documentation - * on elastic.co - */ - - public MgetResponse mget(MgetRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.mget.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to get multiple documents in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MgetRequest} - * @see Documentation - * on elastic.co - */ - - public final MgetResponse mget(Function> fn, - Class tDocumentClass) throws IOException, ElasticsearchException { - return mget(fn.apply(new MgetRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to get multiple documents in one request. - * - * @see Documentation - * on elastic.co - */ - - public MgetResponse mget(MgetRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.mget.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to get multiple documents in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MgetRequest} - * @see Documentation - * on elastic.co - */ - - public final MgetResponse mget(Function> fn, - Type tDocumentType) throws IOException, ElasticsearchException { - return mget(fn.apply(new MgetRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: msearch - - /** - * Allows to execute several search operations in one request. - * - * @see Documentation - * on elastic.co - */ - - public MsearchResponse msearch(MsearchRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to execute several search operations in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchRequest} - * @see Documentation - * on elastic.co - */ - - public final MsearchResponse msearch( - Function> fn, Class tDocumentClass) - throws IOException, ElasticsearchException { - return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to execute several search operations in one request. - * - * @see Documentation - * on elastic.co - */ - - public MsearchResponse msearch(MsearchRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to execute several search operations in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchRequest} - * @see Documentation - * on elastic.co - */ - - public final MsearchResponse msearch( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: msearch_template - - /** - * Runs multiple templated searches with a single request. - * - * @see Documentation - * on elastic.co - */ - - public MsearchTemplateResponse msearchTemplate(MsearchTemplateRequest request, - Class tDocumentClass) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch_template.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Runs multiple templated searches with a single request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final MsearchTemplateResponse msearchTemplate( - Function> fn, - Class tDocumentClass) throws IOException, ElasticsearchException { - return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Runs multiple templated searches with a single request. - * - * @see Documentation - * on elastic.co - */ - - public MsearchTemplateResponse msearchTemplate(MsearchTemplateRequest request, - Type tDocumentType) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.msearch_template.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Runs multiple templated searches with a single request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MsearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final MsearchTemplateResponse msearchTemplate( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: mtermvectors - - /** - * Returns multiple termvectors in one request. - * - * @see Documentation - * on elastic.co - */ - - public MtermvectorsResponse mtermvectors(MtermvectorsRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) MtermvectorsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns multiple termvectors in one request. - * - * @param fn - * a function that initializes a builder to create the - * {@link MtermvectorsRequest} - * @see Documentation - * on elastic.co - */ - - public final MtermvectorsResponse mtermvectors( - Function> fn) - throws IOException, ElasticsearchException { - return mtermvectors(fn.apply(new MtermvectorsRequest.Builder()).build()); - } - - /** - * Returns multiple termvectors in one request. - * - * @see Documentation - * on elastic.co - */ - - public MtermvectorsResponse mtermvectors() throws IOException, ElasticsearchException { - return this.transport.performRequest(new MtermvectorsRequest.Builder().build(), MtermvectorsRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: open_point_in_time - - /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when - * initiated. In some cases, it’s preferred to perform multiple search requests - * using the same point in time. For example, if refreshes happen between - * search_after requests, then the results of those requests might - * not be consistent as changes happening between searches are only visible to - * the more recent point in time. - * - * @see Documentation - * on elastic.co - */ - - public OpenPointInTimeResponse openPointInTime(OpenPointInTimeRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) OpenPointInTimeRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * A search request by default executes against the most recent visible data of - * the target indices, which is called point in time. Elasticsearch pit (point - * in time) is a lightweight view into the state of the data as it existed when - * initiated. In some cases, it’s preferred to perform multiple search requests - * using the same point in time. For example, if refreshes happen between - * search_after requests, then the results of those requests might - * not be consistent as changes happening between searches are only visible to - * the more recent point in time. - * - * @param fn - * a function that initializes a builder to create the - * {@link OpenPointInTimeRequest} - * @see Documentation - * on elastic.co - */ - - public final OpenPointInTimeResponse openPointInTime( - Function> fn) - throws IOException, ElasticsearchException { - return openPointInTime(fn.apply(new OpenPointInTimeRequest.Builder()).build()); - } - - // ----- Endpoint: ping - - /** - * Ping the cluster. Returns whether the cluster is running. - * - * @see Documentation - * on elastic.co - */ - public BooleanResponse ping() throws IOException, ElasticsearchException { - return this.transport.performRequest(PingRequest._INSTANCE, PingRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: put_script - - /** - * Create or update a script or search template. Creates or updates a stored - * script or search template. - * - * @see Documentation - * on elastic.co - */ - - public PutScriptResponse putScript(PutScriptRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutScriptRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create or update a script or search template. Creates or updates a stored - * script or search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutScriptRequest} - * @see Documentation - * on elastic.co - */ - - public final PutScriptResponse putScript(Function> fn) - throws IOException, ElasticsearchException { - return putScript(fn.apply(new PutScriptRequest.Builder()).build()); - } - - // ----- Endpoint: rank_eval - - /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. - * - * @see Documentation - * on elastic.co - */ - - public RankEvalResponse rankEval(RankEvalRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RankEvalRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Enables you to evaluate the quality of ranked search results over a set of - * typical search queries. - * - * @param fn - * a function that initializes a builder to create the - * {@link RankEvalRequest} - * @see Documentation - * on elastic.co - */ - - public final RankEvalResponse rankEval(Function> fn) - throws IOException, ElasticsearchException { - return rankEval(fn.apply(new RankEvalRequest.Builder()).build()); - } - - // ----- Endpoint: reindex - - /** - * Reindex documents. Copies documents from a source to a destination. The - * source can be any existing index, alias, or data stream. The destination must - * differ from the source. For example, you cannot reindex a data stream into - * itself. - * - * @see Documentation - * on elastic.co - */ - - public ReindexResponse reindex(ReindexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ReindexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Reindex documents. Copies documents from a source to a destination. The - * source can be any existing index, alias, or data stream. The destination must - * differ from the source. For example, you cannot reindex a data stream into - * itself. - * - * @param fn - * a function that initializes a builder to create the - * {@link ReindexRequest} - * @see Documentation - * on elastic.co - */ - - public final ReindexResponse reindex(Function> fn) - throws IOException, ElasticsearchException { - return reindex(fn.apply(new ReindexRequest.Builder()).build()); - } - - // ----- Endpoint: render_search_template - - /** - * Renders a search template as a search request body. - * - * @see Documentation - * on elastic.co - */ - - public RenderSearchTemplateResponse renderSearchTemplate(RenderSearchTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RenderSearchTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Renders a search template as a search request body. - * - * @param fn - * a function that initializes a builder to create the - * {@link RenderSearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final RenderSearchTemplateResponse renderSearchTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return renderSearchTemplate(fn.apply(new RenderSearchTemplateRequest.Builder()).build()); - } - - /** - * Renders a search template as a search request body. - * - * @see Documentation - * on elastic.co - */ - - public RenderSearchTemplateResponse renderSearchTemplate() throws IOException, ElasticsearchException { - return this.transport.performRequest(new RenderSearchTemplateRequest.Builder().build(), - RenderSearchTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: scripts_painless_execute - - /** - * Run a script. Runs a script and returns a result. - * - * @see Documentation - * on elastic.co - */ - - public ScriptsPainlessExecuteResponse scriptsPainlessExecute( - ScriptsPainlessExecuteRequest request, Class tResultClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scripts_painless_execute.Response.TResult", - getDeserializer(tResultClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScriptsPainlessExecuteRequest} - * @see Documentation - * on elastic.co - */ - - public final ScriptsPainlessExecuteResponse scriptsPainlessExecute( - Function> fn, - Class tResultClass) throws IOException, ElasticsearchException { - return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultClass); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @see Documentation - * on elastic.co - */ - - public ScriptsPainlessExecuteResponse scriptsPainlessExecute( - ScriptsPainlessExecuteRequest request, Type tResultType) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scripts_painless_execute.Response.TResult", - getDeserializer(tResultType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Run a script. Runs a script and returns a result. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScriptsPainlessExecuteRequest} - * @see Documentation - * on elastic.co - */ - - public final ScriptsPainlessExecuteResponse scriptsPainlessExecute( - Function> fn, - Type tResultType) throws IOException, ElasticsearchException { - return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultType); - } - - // ----- Endpoint: scroll - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @see Documentation - * on elastic.co - */ - - public ScrollResponse scroll(ScrollRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scroll.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final ScrollResponse scroll( - Function> fn, Class tDocumentClass) - throws IOException, ElasticsearchException { - return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentClass); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @see Documentation - * on elastic.co - */ - - public ScrollResponse scroll(ScrollRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.scroll.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Allows to retrieve a large numbers of results from a single search request. - * - * @param fn - * a function that initializes a builder to create the - * {@link ScrollRequest} - * @see Documentation - * on elastic.co - */ - - public final ScrollResponse scroll( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: search - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @see Documentation - * on elastic.co - */ - - public SearchResponse search(SearchRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchRequest} - * @see Documentation - * on elastic.co - */ - - public final SearchResponse search( - Function> fn, Class tDocumentClass) - throws IOException, ElasticsearchException { - return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentClass); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @see Documentation - * on elastic.co - */ - - public SearchResponse search(SearchRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns search hits that match the query defined in the request. You can - * provide search queries using the q query string parameter or the - * request body. If both are specified, only the query parameter is used. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchRequest} - * @see Documentation - * on elastic.co - */ - - public final SearchResponse search( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: search_mvt - - /** - * Search a vector tile. Searches a vector tile for geospatial values. - * - * @see Documentation - * on elastic.co - */ - - public BinaryResponse searchMvt(SearchMvtRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) SearchMvtRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Search a vector tile. Searches a vector tile for geospatial values. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchMvtRequest} - * @see Documentation - * on elastic.co - */ - - public final BinaryResponse searchMvt(Function> fn) - throws IOException, ElasticsearchException { - return searchMvt(fn.apply(new SearchMvtRequest.Builder()).build()); - } - - // ----- Endpoint: search_template - - /** - * Runs a search with a search template. - * - * @see Documentation - * on elastic.co - */ - - public SearchTemplateResponse searchTemplate(SearchTemplateRequest request, - Class tDocumentClass) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search_template.Response.TDocument", - getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Runs a search with a search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final SearchTemplateResponse searchTemplate( - Function> fn, - Class tDocumentClass) throws IOException, ElasticsearchException { - return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Runs a search with a search template. - * - * @see Documentation - * on elastic.co - */ - - public SearchTemplateResponse searchTemplate(SearchTemplateRequest request, - Type tDocumentType) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.search_template.Response.TDocument", - getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Runs a search with a search template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SearchTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final SearchTemplateResponse searchTemplate( - Function> fn, Type tDocumentType) - throws IOException, ElasticsearchException { - return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: terms_enum - - /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. - * - * @see Documentation - * on elastic.co - */ - - public TermsEnumResponse termsEnum(TermsEnumRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) TermsEnumRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * The terms enum API can be used to discover terms in the index that begin with - * the provided string. It is designed for low-latency look-ups used in - * auto-complete scenarios. - * - * @param fn - * a function that initializes a builder to create the - * {@link TermsEnumRequest} - * @see Documentation - * on elastic.co - */ - - public final TermsEnumResponse termsEnum(Function> fn) - throws IOException, ElasticsearchException { - return termsEnum(fn.apply(new TermsEnumRequest.Builder()).build()); - } - - // ----- Endpoint: termvectors - - /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. - * - * @see Documentation - * on elastic.co - */ - - public TermvectorsResponse termvectors(TermvectorsRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, TermvectorsResponse, ErrorResponse> endpoint = (JsonEndpoint, TermvectorsResponse, ErrorResponse>) TermvectorsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get term vector information. Returns information and statistics about terms - * in the fields of a particular document. - * - * @param fn - * a function that initializes a builder to create the - * {@link TermvectorsRequest} - * @see Documentation - * on elastic.co - */ - - public final TermvectorsResponse termvectors( - Function, ObjectBuilder>> fn) - throws IOException, ElasticsearchException { - return termvectors(fn.apply(new TermvectorsRequest.Builder()).build()); - } - - // ----- Endpoint: update - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @see Documentation - * on elastic.co - */ - - public UpdateResponse update( - UpdateRequest request, Class tDocumentClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, UpdateResponse, ErrorResponse> endpoint = (JsonEndpoint, UpdateResponse, ErrorResponse>) UpdateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.update.Response.TDocument", getDeserializer(tDocumentClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateRequest} - * @see Documentation - * on elastic.co - */ - - public final UpdateResponse update( - Function, ObjectBuilder>> fn, - Class tDocumentClass) throws IOException, ElasticsearchException { - return update(fn.apply(new UpdateRequest.Builder()).build(), tDocumentClass); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @see Documentation - * on elastic.co - */ - - public UpdateResponse update( - UpdateRequest request, Type tDocumentType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, UpdateResponse, ErrorResponse> endpoint = (JsonEndpoint, UpdateResponse, ErrorResponse>) UpdateRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:_global.update.Response.TDocument", getDeserializer(tDocumentType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update a document. Updates a document by running a script or passing a - * partial document. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateRequest} - * @see Documentation - * on elastic.co - */ - - public final UpdateResponse update( - Function, ObjectBuilder>> fn, - Type tDocumentType) throws IOException, ElasticsearchException { - return update(fn.apply(new UpdateRequest.Builder()).build(), tDocumentType); - } - - // ----- Endpoint: update_by_query - - /** - * Update documents. Updates documents that match the specified query. If no - * query is specified, performs an update on every document in the data stream - * or index without modifying the source, which is useful for picking up mapping - * changes. - * - * @see Documentation - * on elastic.co - */ - - public UpdateByQueryResponse updateByQuery(UpdateByQueryRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) UpdateByQueryRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update documents. Updates documents that match the specified query. If no - * query is specified, performs an update on every document in the data stream - * or index without modifying the source, which is useful for picking up mapping - * changes. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateByQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final UpdateByQueryResponse updateByQuery( - Function> fn) - throws IOException, ElasticsearchException { - return updateByQuery(fn.apply(new UpdateByQueryRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_helpers b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_helpers deleted file mode 120000 index e85ed36e5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_helpers +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../../java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers \ No newline at end of file diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponse.java deleted file mode 100644 index 82efd08d4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponse.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -/** - * Base interface for responses that are acknowledged by the server - */ -public interface AcknowledgedResponse { - boolean acknowledged(); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponseBase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponseBase.java deleted file mode 100644 index 13cb50641..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/AcknowledgedResponseBase.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.AcknowledgedResponseBase - -/** - * - * @see API - * specification - */ - -public abstract class AcknowledgedResponseBase implements AcknowledgedResponse, JsonpSerializable { - private final boolean acknowledged; - - // --------------------------------------------------------------------------------------------- - - protected AcknowledgedResponseBase(AbstractBuilder builder) { - - this.acknowledged = ApiTypeHelper.requireNonNull(builder.acknowledged, this, "acknowledged"); - - } - - /** - * Required - For a successful response, this value is always true. On failure, - * an exception is returned instead. - *

    - * API name: {@code acknowledged} - */ - public final boolean acknowledged() { - return this.acknowledged; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("acknowledged"); - generator.write(this.acknowledged); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public abstract static class AbstractBuilder> - extends - WithJsonObjectBuilderBase { - private Boolean acknowledged; - - /** - * Required - For a successful response, this value is always true. On failure, - * an exception is returned instead. - *

    - * API name: {@code acknowledged} - */ - public final BuilderT acknowledged(boolean value) { - this.acknowledged = value; - return self(); - } - - protected abstract BuilderT self(); - - } - - // --------------------------------------------------------------------------------------------- - protected static > void setupAcknowledgedResponseBaseDeserializer( - ObjectDeserializer op) { - - op.add(AbstractBuilder::acknowledged, JsonpDeserializer.booleanDeserializer(), "acknowledged"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/BulkIndexByScrollFailure.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/BulkIndexByScrollFailure.java deleted file mode 100644 index 90dfec471..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/BulkIndexByScrollFailure.java +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.BulkIndexByScrollFailure - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class BulkIndexByScrollFailure implements JsonpSerializable { - private final ErrorCause cause; - - private final String id; - - private final String index; - - private final int status; - - private final String type; - - // --------------------------------------------------------------------------------------------- - - private BulkIndexByScrollFailure(Builder builder) { - - this.cause = ApiTypeHelper.requireNonNull(builder.cause, this, "cause"); - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.status = ApiTypeHelper.requireNonNull(builder.status, this, "status"); - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - - } - - public static BulkIndexByScrollFailure of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code cause} - */ - public final ErrorCause cause() { - return this.cause; - } - - /** - * Required - API name: {@code id} - */ - public final String id() { - return this.id; - } - - /** - * Required - API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Required - API name: {@code status} - */ - public final int status() { - return this.status; - } - - /** - * Required - API name: {@code type} - */ - public final String type() { - return this.type; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("cause"); - this.cause.serialize(generator, mapper); - - generator.writeKey("id"); - generator.write(this.id); - - generator.writeKey("index"); - generator.write(this.index); - - generator.writeKey("status"); - generator.write(this.status); - - generator.writeKey("type"); - generator.write(this.type); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link BulkIndexByScrollFailure}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private ErrorCause cause; - - private String id; - - private String index; - - private Integer status; - - private String type; - - /** - * Required - API name: {@code cause} - */ - public final Builder cause(ErrorCause value) { - this.cause = value; - return this; - } - - /** - * Required - API name: {@code cause} - */ - public final Builder cause(Function> fn) { - return this.cause(fn.apply(new ErrorCause.Builder()).build()); - } - - /** - * Required - API name: {@code id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - /** - * Required - API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Required - API name: {@code status} - */ - public final Builder status(int value) { - this.status = value; - return this; - } - - /** - * Required - API name: {@code type} - */ - public final Builder type(String value) { - this.type = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link BulkIndexByScrollFailure}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public BulkIndexByScrollFailure build() { - _checkSingleUse(); - - return new BulkIndexByScrollFailure(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link BulkIndexByScrollFailure} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, BulkIndexByScrollFailure::setupBulkIndexByScrollFailureDeserializer); - - protected static void setupBulkIndexByScrollFailureDeserializer( - ObjectDeserializer op) { - - op.add(Builder::cause, ErrorCause._DESERIALIZER, "cause"); - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index"); - op.add(Builder::status, JsonpDeserializer.integerDeserializer(), "status"); - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Bytes.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Bytes.java deleted file mode 100644 index 86c5b4c26..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Bytes.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API specification - */ -@JsonpDeserializable -public enum Bytes implements JsonEnum { - Bytes("b"), - - KiloBytes("kb"), - - MegaBytes("mb"), - - GigaBytes("gb"), - - TeraBytes("tb"), - - PetaBytes("pb"), - - ; - - private final String jsonValue; - - Bytes(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>(Bytes.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterDetails.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterDetails.java deleted file mode 100644 index d7991c598..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterDetails.java +++ /dev/null @@ -1,322 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ClusterDetails - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ClusterDetails implements JsonpSerializable { - private final ClusterSearchStatus status; - - private final String indices; - - @Nullable - private final Long took; - - private final boolean timedOut; - - @Nullable - private final ShardStatistics shards; - - private final List failures; - - // --------------------------------------------------------------------------------------------- - - private ClusterDetails(Builder builder) { - - this.status = ApiTypeHelper.requireNonNull(builder.status, this, "status"); - this.indices = ApiTypeHelper.requireNonNull(builder.indices, this, "indices"); - this.took = builder.took; - this.timedOut = ApiTypeHelper.requireNonNull(builder.timedOut, this, "timedOut"); - this.shards = builder.shards; - this.failures = ApiTypeHelper.unmodifiable(builder.failures); - - } - - public static ClusterDetails of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code status} - */ - public final ClusterSearchStatus status() { - return this.status; - } - - /** - * Required - API name: {@code indices} - */ - public final String indices() { - return this.indices; - } - - /** - * API name: {@code took} - */ - @Nullable - public final Long took() { - return this.took; - } - - /** - * Required - API name: {@code timed_out} - */ - public final boolean timedOut() { - return this.timedOut; - } - - /** - * API name: {@code _shards} - */ - @Nullable - public final ShardStatistics shards() { - return this.shards; - } - - /** - * API name: {@code failures} - */ - public final List failures() { - return this.failures; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("status"); - this.status.serialize(generator, mapper); - generator.writeKey("indices"); - generator.write(this.indices); - - if (this.took != null) { - generator.writeKey("took"); - generator.write(this.took); - - } - generator.writeKey("timed_out"); - generator.write(this.timedOut); - - if (this.shards != null) { - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.failures)) { - generator.writeKey("failures"); - generator.writeStartArray(); - for (ShardFailure item0 : this.failures) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ClusterDetails}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private ClusterSearchStatus status; - - private String indices; - - @Nullable - private Long took; - - private Boolean timedOut; - - @Nullable - private ShardStatistics shards; - - @Nullable - private List failures; - - /** - * Required - API name: {@code status} - */ - public final Builder status(ClusterSearchStatus value) { - this.status = value; - return this; - } - - /** - * Required - API name: {@code indices} - */ - public final Builder indices(String value) { - this.indices = value; - return this; - } - - /** - * API name: {@code took} - */ - public final Builder took(@Nullable Long value) { - this.took = value; - return this; - } - - /** - * Required - API name: {@code timed_out} - */ - public final Builder timedOut(boolean value) { - this.timedOut = value; - return this; - } - - /** - * API name: {@code _shards} - */ - public final Builder shards(@Nullable ShardStatistics value) { - this.shards = value; - return this; - } - - /** - * API name: {@code _shards} - */ - public final Builder shards(Function> fn) { - return this.shards(fn.apply(new ShardStatistics.Builder()).build()); - } - - /** - * API name: {@code failures} - *

    - * Adds all elements of list to failures. - */ - public final Builder failures(List list) { - this.failures = _listAddAll(this.failures, list); - return this; - } - - /** - * API name: {@code failures} - *

    - * Adds one or more values to failures. - */ - public final Builder failures(ShardFailure value, ShardFailure... values) { - this.failures = _listAdd(this.failures, value, values); - return this; - } - - /** - * API name: {@code failures} - *

    - * Adds a value to failures using a builder lambda. - */ - public final Builder failures(Function> fn) { - return failures(fn.apply(new ShardFailure.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ClusterDetails}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ClusterDetails build() { - _checkSingleUse(); - - return new ClusterDetails(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ClusterDetails} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ClusterDetails::setupClusterDetailsDeserializer); - - protected static void setupClusterDetailsDeserializer(ObjectDeserializer op) { - - op.add(Builder::status, ClusterSearchStatus._DESERIALIZER, "status"); - op.add(Builder::indices, JsonpDeserializer.stringDeserializer(), "indices"); - op.add(Builder::took, JsonpDeserializer.longDeserializer(), "took"); - op.add(Builder::timedOut, JsonpDeserializer.booleanDeserializer(), "timed_out"); - op.add(Builder::shards, ShardStatistics._DESERIALIZER, "_shards"); - op.add(Builder::failures, JsonpDeserializer.arrayDeserializer(ShardFailure._DESERIALIZER), "failures"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterInfoTarget.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterInfoTarget.java deleted file mode 100644 index 586d2ca64..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterInfoTarget.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum ClusterInfoTarget implements JsonEnum { - All("_all"), - - Http("http"), - - Ingest("ingest"), - - ThreadPool("thread_pool"), - - Script("script"), - - ; - - private final String jsonValue; - - ClusterInfoTarget(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - ClusterInfoTarget.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterSearchStatus.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterSearchStatus.java deleted file mode 100644 index 2ba0d100d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterSearchStatus.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum ClusterSearchStatus implements JsonEnum { - Running("running"), - - Successful("successful"), - - Partial("partial"), - - Skipped("skipped"), - - Failed("failed"), - - ; - - private final String jsonValue; - - ClusterSearchStatus(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - ClusterSearchStatus.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterStatistics.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterStatistics.java deleted file mode 100644 index 40c028dcf..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ClusterStatistics.java +++ /dev/null @@ -1,330 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ClusterStatistics - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ClusterStatistics implements JsonpSerializable { - private final int skipped; - - private final int successful; - - private final int total; - - private final int running; - - private final int partial; - - private final int failed; - - private final Map details; - - // --------------------------------------------------------------------------------------------- - - private ClusterStatistics(Builder builder) { - - this.skipped = ApiTypeHelper.requireNonNull(builder.skipped, this, "skipped"); - this.successful = ApiTypeHelper.requireNonNull(builder.successful, this, "successful"); - this.total = ApiTypeHelper.requireNonNull(builder.total, this, "total"); - this.running = ApiTypeHelper.requireNonNull(builder.running, this, "running"); - this.partial = ApiTypeHelper.requireNonNull(builder.partial, this, "partial"); - this.failed = ApiTypeHelper.requireNonNull(builder.failed, this, "failed"); - this.details = ApiTypeHelper.unmodifiable(builder.details); - - } - - public static ClusterStatistics of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code skipped} - */ - public final int skipped() { - return this.skipped; - } - - /** - * Required - API name: {@code successful} - */ - public final int successful() { - return this.successful; - } - - /** - * Required - API name: {@code total} - */ - public final int total() { - return this.total; - } - - /** - * Required - API name: {@code running} - */ - public final int running() { - return this.running; - } - - /** - * Required - API name: {@code partial} - */ - public final int partial() { - return this.partial; - } - - /** - * Required - API name: {@code failed} - */ - public final int failed() { - return this.failed; - } - - /** - * API name: {@code details} - */ - public final Map details() { - return this.details; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("skipped"); - generator.write(this.skipped); - - generator.writeKey("successful"); - generator.write(this.successful); - - generator.writeKey("total"); - generator.write(this.total); - - generator.writeKey("running"); - generator.write(this.running); - - generator.writeKey("partial"); - generator.write(this.partial); - - generator.writeKey("failed"); - generator.write(this.failed); - - if (ApiTypeHelper.isDefined(this.details)) { - generator.writeKey("details"); - generator.writeStartObject(); - for (Map.Entry item0 : this.details.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ClusterStatistics}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Integer skipped; - - private Integer successful; - - private Integer total; - - private Integer running; - - private Integer partial; - - private Integer failed; - - @Nullable - private Map details; - - /** - * Required - API name: {@code skipped} - */ - public final Builder skipped(int value) { - this.skipped = value; - return this; - } - - /** - * Required - API name: {@code successful} - */ - public final Builder successful(int value) { - this.successful = value; - return this; - } - - /** - * Required - API name: {@code total} - */ - public final Builder total(int value) { - this.total = value; - return this; - } - - /** - * Required - API name: {@code running} - */ - public final Builder running(int value) { - this.running = value; - return this; - } - - /** - * Required - API name: {@code partial} - */ - public final Builder partial(int value) { - this.partial = value; - return this; - } - - /** - * Required - API name: {@code failed} - */ - public final Builder failed(int value) { - this.failed = value; - return this; - } - - /** - * API name: {@code details} - *

    - * Adds all entries of map to details. - */ - public final Builder details(Map map) { - this.details = _mapPutAll(this.details, map); - return this; - } - - /** - * API name: {@code details} - *

    - * Adds an entry to details. - */ - public final Builder details(String key, ClusterDetails value) { - this.details = _mapPut(this.details, key, value); - return this; - } - - /** - * API name: {@code details} - *

    - * Adds an entry to details using a builder lambda. - */ - public final Builder details(String key, Function> fn) { - return details(key, fn.apply(new ClusterDetails.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ClusterStatistics}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ClusterStatistics build() { - _checkSingleUse(); - - return new ClusterStatistics(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ClusterStatistics} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ClusterStatistics::setupClusterStatisticsDeserializer); - - protected static void setupClusterStatisticsDeserializer(ObjectDeserializer op) { - - op.add(Builder::skipped, JsonpDeserializer.integerDeserializer(), "skipped"); - op.add(Builder::successful, JsonpDeserializer.integerDeserializer(), "successful"); - op.add(Builder::total, JsonpDeserializer.integerDeserializer(), "total"); - op.add(Builder::running, JsonpDeserializer.integerDeserializer(), "running"); - op.add(Builder::partial, JsonpDeserializer.integerDeserializer(), "partial"); - op.add(Builder::failed, JsonpDeserializer.integerDeserializer(), "failed"); - op.add(Builder::details, JsonpDeserializer.stringMapDeserializer(ClusterDetails._DESERIALIZER), "details"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Conflicts.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Conflicts.java deleted file mode 100644 index 2e580abea..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Conflicts.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum Conflicts implements JsonEnum { - /** - * Stop reindexing if there are conflicts. - */ - Abort("abort"), - - /** - * Continue reindexing even if there are conflicts. - */ - Proceed("proceed"), - - ; - - private final String jsonValue; - - Conflicts(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - Conflicts.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/CoordsGeoBounds.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/CoordsGeoBounds.java deleted file mode 100644 index 031fab42e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/CoordsGeoBounds.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.CoordsGeoBounds - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CoordsGeoBounds implements JsonpSerializable { - private final double top; - - private final double bottom; - - private final double left; - - private final double right; - - // --------------------------------------------------------------------------------------------- - - private CoordsGeoBounds(Builder builder) { - - this.top = ApiTypeHelper.requireNonNull(builder.top, this, "top"); - this.bottom = ApiTypeHelper.requireNonNull(builder.bottom, this, "bottom"); - this.left = ApiTypeHelper.requireNonNull(builder.left, this, "left"); - this.right = ApiTypeHelper.requireNonNull(builder.right, this, "right"); - - } - - public static CoordsGeoBounds of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code top} - */ - public final double top() { - return this.top; - } - - /** - * Required - API name: {@code bottom} - */ - public final double bottom() { - return this.bottom; - } - - /** - * Required - API name: {@code left} - */ - public final double left() { - return this.left; - } - - /** - * Required - API name: {@code right} - */ - public final double right() { - return this.right; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("top"); - generator.write(this.top); - - generator.writeKey("bottom"); - generator.write(this.bottom); - - generator.writeKey("left"); - generator.write(this.left); - - generator.writeKey("right"); - generator.write(this.right); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CoordsGeoBounds}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Double top; - - private Double bottom; - - private Double left; - - private Double right; - - /** - * Required - API name: {@code top} - */ - public final Builder top(double value) { - this.top = value; - return this; - } - - /** - * Required - API name: {@code bottom} - */ - public final Builder bottom(double value) { - this.bottom = value; - return this; - } - - /** - * Required - API name: {@code left} - */ - public final Builder left(double value) { - this.left = value; - return this; - } - - /** - * Required - API name: {@code right} - */ - public final Builder right(double value) { - this.right = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CoordsGeoBounds}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CoordsGeoBounds build() { - _checkSingleUse(); - - return new CoordsGeoBounds(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CoordsGeoBounds} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - CoordsGeoBounds::setupCoordsGeoBoundsDeserializer); - - protected static void setupCoordsGeoBoundsDeserializer(ObjectDeserializer op) { - - op.add(Builder::top, JsonpDeserializer.doubleDeserializer(), "top"); - op.add(Builder::bottom, JsonpDeserializer.doubleDeserializer(), "bottom"); - op.add(Builder::left, JsonpDeserializer.doubleDeserializer(), "left"); - op.add(Builder::right, JsonpDeserializer.doubleDeserializer(), "right"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFIIndependenceMeasure.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFIIndependenceMeasure.java deleted file mode 100644 index 71bc959d4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFIIndependenceMeasure.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum DFIIndependenceMeasure implements JsonEnum { - Standardized("standardized"), - - Saturated("saturated"), - - Chisquared("chisquared"), - - ; - - private final String jsonValue; - - DFIIndependenceMeasure(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - DFIIndependenceMeasure.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRAfterEffect.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRAfterEffect.java deleted file mode 100644 index b5004f87b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRAfterEffect.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum DFRAfterEffect implements JsonEnum { - No("no"), - - B("b"), - - L("l"), - - ; - - private final String jsonValue; - - DFRAfterEffect(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - DFRAfterEffect.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRBasicModel.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRBasicModel.java deleted file mode 100644 index 83d456825..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DFRBasicModel.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum DFRBasicModel implements JsonEnum { - Be("be"), - - D("d"), - - G("g"), - - If("if"), - - In("in"), - - Ine("ine"), - - P("p"), - - ; - - private final String jsonValue; - - DFRBasicModel(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - DFRBasicModel.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DistanceUnit.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DistanceUnit.java deleted file mode 100644 index a6b908b9b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/DistanceUnit.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum DistanceUnit implements JsonEnum { - Inches("in"), - - Feet("ft"), - - Yards("yd"), - - Miles("mi"), - - NauticMiles("nmi"), - - Kilometers("km"), - - Meters("m"), - - Centimeters("cm"), - - Millimeters("mm"), - - ; - - private final String jsonValue; - - DistanceUnit(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - DistanceUnit.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java deleted file mode 100644 index bad5ca106..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.transport.http.TransportHttpClient; - -import javax.annotation.Nullable; - -/** - * Exception thrown by API client methods when Elasticsearch could not accept or - * process a request. - *

    - * The {@link #error()} contains the error's type and reason along with - * additional details that depend on the error type and the API endpoint that - * was called. - */ -public class ElasticsearchException extends RuntimeException { - - private final ErrorResponse response; - private final String endpointId; - @Nullable - private final TransportHttpClient.Response httpResponse; - - public ElasticsearchException(String endpointId, ErrorResponse response, - @Nullable TransportHttpClient.Response httpResponse) { - super("[" + endpointId + "] failed: [" + response.error().type() + "] " + response.error().reason()); - this.response = response; - this.endpointId = endpointId; - this.httpResponse = httpResponse; - } - - public ElasticsearchException(String endpointId, ErrorResponse response) { - this(endpointId, response, null); - } - - /** - * Identifier of the API endpoint that failed to be called. - */ - public String endpointId() { - return this.endpointId; - } - - /** - * The error response sent by Elasticsearch - */ - public ErrorResponse response() { - return this.response; - } - - /** - * The cause of the error. Shortcut for {@code response().error()}. - */ - public ErrorCause error() { - return this.response.error(); - } - - /** - * Status code returned by Elasticsearch. Shortcut for - * {@code response().status()}. - */ - public int status() { - return this.response.status(); - } - - /** - * The underlying http response, if available. - */ - @Nullable - public TransportHttpClient.Response httpResponse() { - return this.httpResponse; - } -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchVersionInfo.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchVersionInfo.java deleted file mode 100644 index ac2c58313..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchVersionInfo.java +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.DateTime; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ElasticsearchVersionInfo - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ElasticsearchVersionInfo implements JsonpSerializable { - private final DateTime buildDate; - - private final String buildFlavor; - - private final String buildHash; - - private final boolean buildSnapshot; - - private final String buildType; - - private final String luceneVersion; - - private final String minimumIndexCompatibilityVersion; - - private final String minimumWireCompatibilityVersion; - - private final String number; - - // --------------------------------------------------------------------------------------------- - - private ElasticsearchVersionInfo(Builder builder) { - - this.buildDate = ApiTypeHelper.requireNonNull(builder.buildDate, this, "buildDate"); - this.buildFlavor = ApiTypeHelper.requireNonNull(builder.buildFlavor, this, "buildFlavor"); - this.buildHash = ApiTypeHelper.requireNonNull(builder.buildHash, this, "buildHash"); - this.buildSnapshot = ApiTypeHelper.requireNonNull(builder.buildSnapshot, this, "buildSnapshot"); - this.buildType = ApiTypeHelper.requireNonNull(builder.buildType, this, "buildType"); - this.luceneVersion = ApiTypeHelper.requireNonNull(builder.luceneVersion, this, "luceneVersion"); - this.minimumIndexCompatibilityVersion = ApiTypeHelper.requireNonNull(builder.minimumIndexCompatibilityVersion, - this, "minimumIndexCompatibilityVersion"); - this.minimumWireCompatibilityVersion = ApiTypeHelper.requireNonNull(builder.minimumWireCompatibilityVersion, - this, "minimumWireCompatibilityVersion"); - this.number = ApiTypeHelper.requireNonNull(builder.number, this, "number"); - - } - - public static ElasticsearchVersionInfo of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code build_date} - */ - public final DateTime buildDate() { - return this.buildDate; - } - - /** - * Required - API name: {@code build_flavor} - */ - public final String buildFlavor() { - return this.buildFlavor; - } - - /** - * Required - API name: {@code build_hash} - */ - public final String buildHash() { - return this.buildHash; - } - - /** - * Required - API name: {@code build_snapshot} - */ - public final boolean buildSnapshot() { - return this.buildSnapshot; - } - - /** - * Required - API name: {@code build_type} - */ - public final String buildType() { - return this.buildType; - } - - /** - * Required - API name: {@code lucene_version} - */ - public final String luceneVersion() { - return this.luceneVersion; - } - - /** - * Required - API name: {@code minimum_index_compatibility_version} - */ - public final String minimumIndexCompatibilityVersion() { - return this.minimumIndexCompatibilityVersion; - } - - /** - * Required - API name: {@code minimum_wire_compatibility_version} - */ - public final String minimumWireCompatibilityVersion() { - return this.minimumWireCompatibilityVersion; - } - - /** - * Required - API name: {@code number} - */ - public final String number() { - return this.number; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("build_date"); - this.buildDate.serialize(generator, mapper); - generator.writeKey("build_flavor"); - generator.write(this.buildFlavor); - - generator.writeKey("build_hash"); - generator.write(this.buildHash); - - generator.writeKey("build_snapshot"); - generator.write(this.buildSnapshot); - - generator.writeKey("build_type"); - generator.write(this.buildType); - - generator.writeKey("lucene_version"); - generator.write(this.luceneVersion); - - generator.writeKey("minimum_index_compatibility_version"); - generator.write(this.minimumIndexCompatibilityVersion); - - generator.writeKey("minimum_wire_compatibility_version"); - generator.write(this.minimumWireCompatibilityVersion); - - generator.writeKey("number"); - generator.write(this.number); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ElasticsearchVersionInfo}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private DateTime buildDate; - - private String buildFlavor; - - private String buildHash; - - private Boolean buildSnapshot; - - private String buildType; - - private String luceneVersion; - - private String minimumIndexCompatibilityVersion; - - private String minimumWireCompatibilityVersion; - - private String number; - - /** - * Required - API name: {@code build_date} - */ - public final Builder buildDate(DateTime value) { - this.buildDate = value; - return this; - } - - /** - * Required - API name: {@code build_flavor} - */ - public final Builder buildFlavor(String value) { - this.buildFlavor = value; - return this; - } - - /** - * Required - API name: {@code build_hash} - */ - public final Builder buildHash(String value) { - this.buildHash = value; - return this; - } - - /** - * Required - API name: {@code build_snapshot} - */ - public final Builder buildSnapshot(boolean value) { - this.buildSnapshot = value; - return this; - } - - /** - * Required - API name: {@code build_type} - */ - public final Builder buildType(String value) { - this.buildType = value; - return this; - } - - /** - * Required - API name: {@code lucene_version} - */ - public final Builder luceneVersion(String value) { - this.luceneVersion = value; - return this; - } - - /** - * Required - API name: {@code minimum_index_compatibility_version} - */ - public final Builder minimumIndexCompatibilityVersion(String value) { - this.minimumIndexCompatibilityVersion = value; - return this; - } - - /** - * Required - API name: {@code minimum_wire_compatibility_version} - */ - public final Builder minimumWireCompatibilityVersion(String value) { - this.minimumWireCompatibilityVersion = value; - return this; - } - - /** - * Required - API name: {@code number} - */ - public final Builder number(String value) { - this.number = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ElasticsearchVersionInfo}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ElasticsearchVersionInfo build() { - _checkSingleUse(); - - return new ElasticsearchVersionInfo(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ElasticsearchVersionInfo} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ElasticsearchVersionInfo::setupElasticsearchVersionInfoDeserializer); - - protected static void setupElasticsearchVersionInfoDeserializer( - ObjectDeserializer op) { - - op.add(Builder::buildDate, DateTime._DESERIALIZER, "build_date"); - op.add(Builder::buildFlavor, JsonpDeserializer.stringDeserializer(), "build_flavor"); - op.add(Builder::buildHash, JsonpDeserializer.stringDeserializer(), "build_hash"); - op.add(Builder::buildSnapshot, JsonpDeserializer.booleanDeserializer(), "build_snapshot"); - op.add(Builder::buildType, JsonpDeserializer.stringDeserializer(), "build_type"); - op.add(Builder::luceneVersion, JsonpDeserializer.stringDeserializer(), "lucene_version"); - op.add(Builder::minimumIndexCompatibilityVersion, JsonpDeserializer.stringDeserializer(), - "minimum_index_compatibility_version"); - op.add(Builder::minimumWireCompatibilityVersion, JsonpDeserializer.stringDeserializer(), - "minimum_wire_compatibility_version"); - op.add(Builder::number, JsonpDeserializer.stringDeserializer(), "number"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/EmptyObject.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/EmptyObject.java deleted file mode 100644 index c0b97a9a9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/EmptyObject.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * For empty Class assignments - * - * @see API - * specification - */ -@JsonpDeserializable -public class EmptyObject implements JsonpSerializable { - - public static final class Builder implements ObjectBuilder { - @Override - public EmptyObject build() { - return EmptyObject._INSTANCE; - } - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - generator.writeEnd(); - } - - /** - * Singleton instance for empty class {@link EmptyObject}. - */ - public static final EmptyObject _INSTANCE = new EmptyObject(); - - public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer - .emptyObject(EmptyObject._INSTANCE); - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorCause.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorCause.java deleted file mode 100644 index 4a9156c7d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorCause.java +++ /dev/null @@ -1,425 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ErrorCause - -/** - * Cause and details about a request failure. This class defines the properties - * common to all error types. Additional details are also provided, that depend - * on the error type. - * - * @see API - * specification - */ -@JsonpDeserializable -public class ErrorCause implements JsonpSerializable { - private final Map metadata; - - @Nullable - private final String type; - - @Nullable - private final String reason; - - @Nullable - private final String stackTrace; - - @Nullable - private final ErrorCause causedBy; - - private final List rootCause; - - private final List suppressed; - - // --------------------------------------------------------------------------------------------- - - private ErrorCause(Builder builder) { - - this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); - - this.type = builder.type; - this.reason = builder.reason; - this.stackTrace = builder.stackTrace; - this.causedBy = builder.causedBy; - this.rootCause = ApiTypeHelper.unmodifiable(builder.rootCause); - this.suppressed = ApiTypeHelper.unmodifiable(builder.suppressed); - - } - - public static ErrorCause of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Additional details about the error - */ - public final Map metadata() { - return this.metadata; - } - - /** - * The type of error - *

    - * API name: {@code type} - */ - @Nullable - public final String type() { - return this.type; - } - - /** - * A human-readable explanation of the error, in english - *

    - * API name: {@code reason} - */ - @Nullable - public final String reason() { - return this.reason; - } - - /** - * The server stack trace. Present only if the error_trace=true - * parameter was sent with the request. - *

    - * API name: {@code stack_trace} - */ - @Nullable - public final String stackTrace() { - return this.stackTrace; - } - - /** - * API name: {@code caused_by} - */ - @Nullable - public final ErrorCause causedBy() { - return this.causedBy; - } - - /** - * API name: {@code root_cause} - */ - public final List rootCause() { - return this.rootCause; - } - - /** - * API name: {@code suppressed} - */ - public final List suppressed() { - return this.suppressed; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - for (Map.Entry item0 : this.metadata.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - - if (this.type != null) { - generator.writeKey("type"); - generator.write(this.type); - - } - if (this.reason != null) { - generator.writeKey("reason"); - generator.write(this.reason); - - } - if (this.stackTrace != null) { - generator.writeKey("stack_trace"); - generator.write(this.stackTrace); - - } - if (this.causedBy != null) { - generator.writeKey("caused_by"); - this.causedBy.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.rootCause)) { - generator.writeKey("root_cause"); - generator.writeStartArray(); - for (ErrorCause item0 : this.rootCause) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.suppressed)) { - generator.writeKey("suppressed"); - generator.writeStartArray(); - for (ErrorCause item0 : this.suppressed) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ErrorCause}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Map metadata = new HashMap<>(); - - /** - * Additional details about the error - *

    - * Adds all entries of map to metadata. - */ - public final Builder metadata(Map map) { - this.metadata = _mapPutAll(this.metadata, map); - return this; - } - - /** - * Additional details about the error - *

    - * Adds an entry to metadata. - */ - public final Builder metadata(String key, JsonData value) { - this.metadata = _mapPut(this.metadata, key, value); - return this; - } - - @Nullable - private String type; - - @Nullable - private String reason; - - @Nullable - private String stackTrace; - - @Nullable - private ErrorCause causedBy; - - @Nullable - private List rootCause; - - @Nullable - private List suppressed; - - /** - * The type of error - *

    - * API name: {@code type} - */ - public final Builder type(@Nullable String value) { - this.type = value; - return this; - } - - /** - * A human-readable explanation of the error, in english - *

    - * API name: {@code reason} - */ - public final Builder reason(@Nullable String value) { - this.reason = value; - return this; - } - - /** - * The server stack trace. Present only if the error_trace=true - * parameter was sent with the request. - *

    - * API name: {@code stack_trace} - */ - public final Builder stackTrace(@Nullable String value) { - this.stackTrace = value; - return this; - } - - /** - * API name: {@code caused_by} - */ - public final Builder causedBy(@Nullable ErrorCause value) { - this.causedBy = value; - return this; - } - - /** - * API name: {@code caused_by} - */ - public final Builder causedBy(Function> fn) { - return this.causedBy(fn.apply(new ErrorCause.Builder()).build()); - } - - /** - * API name: {@code root_cause} - *

    - * Adds all elements of list to rootCause. - */ - public final Builder rootCause(List list) { - this.rootCause = _listAddAll(this.rootCause, list); - return this; - } - - /** - * API name: {@code root_cause} - *

    - * Adds one or more values to rootCause. - */ - public final Builder rootCause(ErrorCause value, ErrorCause... values) { - this.rootCause = _listAdd(this.rootCause, value, values); - return this; - } - - /** - * API name: {@code root_cause} - *

    - * Adds a value to rootCause using a builder lambda. - */ - public final Builder rootCause(Function> fn) { - return rootCause(fn.apply(new ErrorCause.Builder()).build()); - } - - /** - * API name: {@code suppressed} - *

    - * Adds all elements of list to suppressed. - */ - public final Builder suppressed(List list) { - this.suppressed = _listAddAll(this.suppressed, list); - return this; - } - - /** - * API name: {@code suppressed} - *

    - * Adds one or more values to suppressed. - */ - public final Builder suppressed(ErrorCause value, ErrorCause... values) { - this.suppressed = _listAdd(this.suppressed, value, values); - return this; - } - - /** - * API name: {@code suppressed} - *

    - * Adds a value to suppressed using a builder lambda. - */ - public final Builder suppressed(Function> fn) { - return suppressed(fn.apply(new ErrorCause.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ErrorCause}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ErrorCause build() { - _checkSingleUse(); - - return new ErrorCause(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ErrorCause} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ErrorCause::setupErrorCauseDeserializer); - - protected static void setupErrorCauseDeserializer(ObjectDeserializer op) { - - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - op.add(Builder::reason, JsonpDeserializer.stringDeserializer(), "reason"); - op.add(Builder::stackTrace, JsonpDeserializer.stringDeserializer(), "stack_trace"); - op.add(Builder::causedBy, ErrorCause._DESERIALIZER, "caused_by"); - op.add(Builder::rootCause, JsonpDeserializer.arrayDeserializer(ErrorCause._DESERIALIZER), "root_cause"); - op.add(Builder::suppressed, JsonpDeserializer.arrayDeserializer(ErrorCause._DESERIALIZER), "suppressed"); - - op.setUnknownFieldHandler((builder, name, parser, mapper) -> { - builder.metadata(name, JsonData._DESERIALIZER.deserialize(parser, mapper)); - }); - op.shortcutProperty("reason"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorResponse.java deleted file mode 100644 index aa9bdfcbc..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ErrorResponse.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ErrorResponseBase - -/** - * The response returned by Elasticsearch when request execution did not - * succeed. - * - * @see API - * specification - */ -@JsonpDeserializable -public class ErrorResponse implements JsonpSerializable { - private final ErrorCause error; - - private final int status; - - // --------------------------------------------------------------------------------------------- - - private ErrorResponse(Builder builder) { - - this.error = ApiTypeHelper.requireNonNull(builder.error, this, "error"); - this.status = ApiTypeHelper.requireNonNull(builder.status, this, "status"); - - } - - public static ErrorResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code error} - */ - public final ErrorCause error() { - return this.error; - } - - /** - * Required - API name: {@code status} - */ - public final int status() { - return this.status; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("error"); - this.error.serialize(generator, mapper); - - generator.writeKey("status"); - generator.write(this.status); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ErrorResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private ErrorCause error; - - private Integer status; - - /** - * Required - API name: {@code error} - */ - public final Builder error(ErrorCause value) { - this.error = value; - return this; - } - - /** - * Required - API name: {@code error} - */ - public final Builder error(Function> fn) { - return this.error(fn.apply(new ErrorCause.Builder()).build()); - } - - /** - * Required - API name: {@code status} - */ - public final Builder status(int value) { - this.status = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ErrorResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ErrorResponse build() { - _checkSingleUse(); - - return new ErrorResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ErrorResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ErrorResponse::setupErrorResponseDeserializer); - - protected static void setupErrorResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::error, ErrorCause._DESERIALIZER, "error"); - op.add(Builder::status, JsonpDeserializer.integerDeserializer(), "status"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ExpandWildcard.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ExpandWildcard.java deleted file mode 100644 index 29e214ce6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ExpandWildcard.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum ExpandWildcard implements JsonEnum { - /** - * Match any data stream or index, including hidden ones. - */ - All("all"), - - /** - * Match open, non-hidden indices. Also matches any non-hidden data stream. - */ - Open("open"), - - /** - * Match closed, non-hidden indices. Also matches any non-hidden data stream. - * Data streams cannot be closed. - */ - Closed("closed"), - - /** - * Match hidden data streams and hidden indices. Must be combined with open, - * closed, or both. - */ - Hidden("hidden"), - - /** - * Wildcard expressions are not accepted. - */ - None("none"), - - ; - - private final String jsonValue; - - ExpandWildcard(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - ExpandWildcard.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSort.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSort.java deleted file mode 100644 index a0b377a02..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSort.java +++ /dev/null @@ -1,404 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.mapping.FieldType; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.FieldSort - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class FieldSort implements JsonpSerializable { - // Single key dictionary - private final String field; - - @Nullable - private final FieldValue missing; - - @Nullable - private final SortMode mode; - - @Nullable - private final NestedSortValue nested; - - @Nullable - private final SortOrder order; - - @Nullable - private final FieldType unmappedType; - - @Nullable - private final FieldSortNumericType numericType; - - @Nullable - private final String format; - - // --------------------------------------------------------------------------------------------- - - private FieldSort(Builder builder) { - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - - this.missing = builder.missing; - this.mode = builder.mode; - this.nested = builder.nested; - this.order = builder.order; - this.unmappedType = builder.unmappedType; - this.numericType = builder.numericType; - this.format = builder.format; - - } - - public static FieldSort of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - The target field - */ - public final String field() { - return this.field; - } - - /** - * API name: {@code missing} - */ - @Nullable - public final FieldValue missing() { - return this.missing; - } - - /** - * API name: {@code mode} - */ - @Nullable - public final SortMode mode() { - return this.mode; - } - - /** - * API name: {@code nested} - */ - @Nullable - public final NestedSortValue nested() { - return this.nested; - } - - /** - * API name: {@code order} - */ - @Nullable - public final SortOrder order() { - return this.order; - } - - /** - * API name: {@code unmapped_type} - */ - @Nullable - public final FieldType unmappedType() { - return this.unmappedType; - } - - /** - * API name: {@code numeric_type} - */ - @Nullable - public final FieldSortNumericType numericType() { - return this.numericType; - } - - /** - * API name: {@code format} - */ - @Nullable - public final String format() { - return this.format; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(this.field); - - if (this.missing != null) { - generator.writeKey("missing"); - this.missing.serialize(generator, mapper); - - } - if (this.mode != null) { - generator.writeKey("mode"); - this.mode.serialize(generator, mapper); - } - if (this.nested != null) { - generator.writeKey("nested"); - this.nested.serialize(generator, mapper); - - } - if (this.order != null) { - generator.writeKey("order"); - this.order.serialize(generator, mapper); - } - if (this.unmappedType != null) { - generator.writeKey("unmapped_type"); - this.unmappedType.serialize(generator, mapper); - } - if (this.numericType != null) { - generator.writeKey("numeric_type"); - this.numericType.serialize(generator, mapper); - } - if (this.format != null) { - generator.writeKey("format"); - generator.write(this.format); - - } - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link FieldSort}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String field; - - /** - * Required - The target field - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - @Nullable - private FieldValue missing; - - @Nullable - private SortMode mode; - - @Nullable - private NestedSortValue nested; - - @Nullable - private SortOrder order; - - @Nullable - private FieldType unmappedType; - - @Nullable - private FieldSortNumericType numericType; - - @Nullable - private String format; - - /** - * API name: {@code missing} - */ - public final Builder missing(@Nullable FieldValue value) { - this.missing = value; - return this; - } - - /** - * API name: {@code missing} - */ - public final Builder missing(Function> fn) { - return this.missing(fn.apply(new FieldValue.Builder()).build()); - } - - /** - * API name: {@code missing} - */ - public final Builder missing(String value) { - this.missing = FieldValue.of(value); - return this; - } - - /** - * API name: {@code missing} - */ - public final Builder missing(long value) { - this.missing = FieldValue.of(value); - return this; - } - - /** - * API name: {@code missing} - */ - public final Builder missing(double value) { - this.missing = FieldValue.of(value); - return this; - } - - /** - * API name: {@code missing} - */ - public final Builder missing(boolean value) { - this.missing = FieldValue.of(value); - return this; - } - - /** - * API name: {@code mode} - */ - public final Builder mode(@Nullable SortMode value) { - this.mode = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(@Nullable NestedSortValue value) { - this.nested = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(Function> fn) { - return this.nested(fn.apply(new NestedSortValue.Builder()).build()); - } - - /** - * API name: {@code order} - */ - public final Builder order(@Nullable SortOrder value) { - this.order = value; - return this; - } - - /** - * API name: {@code unmapped_type} - */ - public final Builder unmappedType(@Nullable FieldType value) { - this.unmappedType = value; - return this; - } - - /** - * API name: {@code numeric_type} - */ - public final Builder numericType(@Nullable FieldSortNumericType value) { - this.numericType = value; - return this; - } - - /** - * API name: {@code format} - */ - public final Builder format(@Nullable String value) { - this.format = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link FieldSort}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public FieldSort build() { - _checkSingleUse(); - - return new FieldSort(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link FieldSort} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - FieldSort::setupFieldSortDeserializer); - - protected static void setupFieldSortDeserializer(ObjectDeserializer op) { - - op.add(Builder::missing, FieldValue._DESERIALIZER, "missing"); - op.add(Builder::mode, SortMode._DESERIALIZER, "mode"); - op.add(Builder::nested, NestedSortValue._DESERIALIZER, "nested"); - op.add(Builder::order, SortOrder._DESERIALIZER, "order"); - op.add(Builder::unmappedType, FieldType._DESERIALIZER, "unmapped_type"); - op.add(Builder::numericType, FieldSortNumericType._DESERIALIZER, "numeric_type"); - op.add(Builder::format, JsonpDeserializer.stringDeserializer(), "format"); - - op.setKey(Builder::field, JsonpDeserializer.stringDeserializer()); - op.shortcutProperty("order"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSortNumericType.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSortNumericType.java deleted file mode 100644 index a1117ce30..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldSortNumericType.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum FieldSortNumericType implements JsonEnum { - Long("long"), - - Double("double"), - - Date("date"), - - DateNanos("date_nanos"), - - ; - - private final String jsonValue; - - FieldSortNumericType(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - FieldSortNumericType.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldValue.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldValue.java deleted file mode 100644 index 289399e10..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/FieldValue.java +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -//---------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------- - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.ObjectBuilderBase; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; - -import java.lang.Boolean; -import java.lang.Double; -import java.lang.Long; -import java.lang.Object; -import java.lang.String; -import java.util.EnumSet; -import java.util.function.Consumer; - -// typedef: _types.FieldValue - -@JsonpDeserializable -public class FieldValue implements TaggedUnion, JsonpSerializable { - - public static FieldValue of(long value) { - return new FieldValue(Kind.Long, value); - } - - public static FieldValue of(double value) { - return new FieldValue(Kind.Double, value); - } - - public static FieldValue of(boolean value) { - return value ? TRUE : FALSE; - } - - public static FieldValue of(String value) { - return new FieldValue(Kind.String, value); - } - - public static FieldValue of(JsonData value) { - return new FieldValue(Kind.Any, value); - } - - public static FieldValue of(Object value) { - return of(JsonData.of(value)); - } - - public static final FieldValue NULL = new FieldValue(Kind.Null, null); - public static final FieldValue TRUE = new FieldValue(Kind.Boolean, Boolean.TRUE); - public static final FieldValue FALSE = new FieldValue(Kind.Boolean, Boolean.FALSE); - - public enum Kind { - Double, Long, Boolean, String, Null, Any - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public String _toJsonString() { - switch (_kind) { - case Double : - return String.valueOf(this.doubleValue()); - case Long : - return String.valueOf(this.longValue()); - case Boolean : - return String.valueOf(this.booleanValue()); - case String : - return this.stringValue(); - case Null : - return "null"; - case Any : - throw new IllegalStateException("Composite field value cannot be formatted as a string"); - - default : - throw new IllegalStateException("Unknown kind " + _kind); - } - } - - private FieldValue(Builder builder) { - this(builder._kind, builder._value); - } - - private FieldValue(Kind kind, Object value) { - this._kind = ApiTypeHelper.requireNonNull(kind, this, ""); - this._value = kind == Kind.Null ? null : ApiTypeHelper.requireNonNull(value, this, ""); - } - - public static FieldValue of(Consumer fn) { - Builder builder = new Builder(); - fn.accept(builder); - return builder.build(); - } - - /** - * Is this variant instance of kind {@code double}? - */ - public boolean isDouble() { - return _kind == Kind.Double; - } - - /** - * Get the {@code double} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code double} kind. - */ - public double doubleValue() { - return TaggedUnionUtils.get(this, Kind.Double); - } - - /** - * Is this variant instance of kind {@code long}? - */ - public boolean isLong() { - return _kind == Kind.Long; - } - - /** - * Get the {@code long} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code long} kind. - */ - public long longValue() { - return TaggedUnionUtils.get(this, Kind.Long); - } - - /** - * Is this variant instance of kind {@code boolean}? - */ - public boolean isBoolean() { - return _kind == Kind.Boolean; - } - - /** - * Get the {@code boolean} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code boolean} kind. - */ - public boolean booleanValue() { - return TaggedUnionUtils.get(this, Kind.Boolean); - } - - /** - * Is this variant instance of kind {@code string}? - */ - public boolean isString() { - return _kind == Kind.String; - } - - /** - * Get the {@code string} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code string} kind. - */ - public String stringValue() { - return TaggedUnionUtils.get(this, Kind.String); - } - - /** - * Is this variant instance of kind {@code any}? - */ - public boolean isAny() { - return _kind == Kind.Any; - } - - /** - * Get the {@code any} variant value, used to represent non-scalar values (i.e. - * objects and arrays) - * - * @throws IllegalStateException - * if the current variant is not of the {@code string} kind. - */ - public JsonData anyValue() { - return TaggedUnionUtils.get(this, Kind.Any); - } - - /** - * Is this variant instance of kind {@code null}? - */ - public boolean isNull() { - return _kind == Kind.Null; - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - switch (_kind) { - case Double : - generator.write(((Double) this._value)); - break; - case Long : - generator.write(((Long) this._value)); - break; - case Boolean : - generator.write(((Boolean) this._value)); - break; - case String : - generator.write(((String) this._value)); - break; - case Null : - generator.writeNull(); - break; - case Any : - ((JsonData) this._value).serialize(generator, mapper); - break; - } - } - - public static class Builder extends ObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - public ObjectBuilder doubleValue(double v) { - this._kind = Kind.Double; - this._value = v; - return this; - } - - public ObjectBuilder longValue(long v) { - this._kind = Kind.Long; - this._value = v; - return this; - } - - public ObjectBuilder booleanValue(boolean v) { - this._kind = Kind.Boolean; - this._value = v; - return this; - } - - public ObjectBuilder stringValue(String v) { - this._kind = Kind.String; - this._value = v; - return this; - } - - public ObjectBuilder anyValue(JsonData v) { - this._kind = Kind.Any; - this._value = v; - return this; - } - - public ObjectBuilder nullValue() { - this._kind = Kind.Null; - this._value = null; - return this; - } - - public FieldValue build() { - _checkSingleUse(); - return new FieldValue(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer - .lazy(() -> JsonpDeserializer.of(EnumSet.of(JsonParser.Event.VALUE_STRING, JsonParser.Event.VALUE_NUMBER, - JsonParser.Event.VALUE_NULL, JsonParser.Event.VALUE_TRUE, JsonParser.Event.VALUE_FALSE, - JsonParser.Event.START_OBJECT, JsonParser.Event.START_ARRAY), (parser, mapper, event) -> { - switch (event) { - case VALUE_NULL : - return NULL; - case VALUE_STRING : - return FieldValue.of(parser.getString()); - case VALUE_TRUE : - return FieldValue.of(true); - case VALUE_FALSE : - return FieldValue.of(false); - case VALUE_NUMBER : - if (parser.isIntegralNumber()) { - return FieldValue.of(parser.getLong()); - } else { - return FieldValue.of(parser.getBigDecimal().doubleValue()); - } - case START_OBJECT : - case START_ARRAY : - return FieldValue.of(JsonData.of(parser.getValue())); - } - return null; - })); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBounds.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBounds.java deleted file mode 100644 index 514b2f8b5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBounds.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.json.UnionDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.ObjectBuilderBase; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import jakarta.json.stream.JsonGenerator; -import java.lang.Object; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoBounds - -/** - * A geo bounding box. It can be represented in various ways: - *

      - *
    • as 4 top/bottom/left/right coordinates
    • - *
    • as 2 top_left / bottom_right points
    • - *
    • as 2 top_right / bottom_left points
    • - *
    • as a WKT bounding box
    • - *
    - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoBounds implements TaggedUnion, JsonpSerializable { - - public enum Kind { - Coords, Tlbr, Trbl, Wkt - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - private GeoBounds(Kind kind, Object value) { - this._kind = kind; - this._value = value; - } - - private GeoBounds(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static GeoBounds of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code coords}? - */ - public boolean isCoords() { - return _kind == Kind.Coords; - } - - /** - * Get the {@code coords} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code coords} kind. - */ - public CoordsGeoBounds coords() { - return TaggedUnionUtils.get(this, Kind.Coords); - } - - /** - * Is this variant instance of kind {@code tlbr}? - */ - public boolean isTlbr() { - return _kind == Kind.Tlbr; - } - - /** - * Get the {@code tlbr} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code tlbr} kind. - */ - public TopLeftBottomRightGeoBounds tlbr() { - return TaggedUnionUtils.get(this, Kind.Tlbr); - } - - /** - * Is this variant instance of kind {@code trbl}? - */ - public boolean isTrbl() { - return _kind == Kind.Trbl; - } - - /** - * Get the {@code trbl} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code trbl} kind. - */ - public TopRightBottomLeftGeoBounds trbl() { - return TaggedUnionUtils.get(this, Kind.Trbl); - } - - /** - * Is this variant instance of kind {@code wkt}? - */ - public boolean isWkt() { - return _kind == Kind.Wkt; - } - - /** - * Get the {@code wkt} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code wkt} kind. - */ - public WktGeoBounds wkt() { - return TaggedUnionUtils.get(this, Kind.Wkt); - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends ObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - public ObjectBuilder coords(CoordsGeoBounds v) { - this._kind = Kind.Coords; - this._value = v; - return this; - } - - public ObjectBuilder coords(Function> fn) { - return this.coords(fn.apply(new CoordsGeoBounds.Builder()).build()); - } - - public ObjectBuilder tlbr(TopLeftBottomRightGeoBounds v) { - this._kind = Kind.Tlbr; - this._value = v; - return this; - } - - public ObjectBuilder tlbr( - Function> fn) { - return this.tlbr(fn.apply(new TopLeftBottomRightGeoBounds.Builder()).build()); - } - - public ObjectBuilder trbl(TopRightBottomLeftGeoBounds v) { - this._kind = Kind.Trbl; - this._value = v; - return this; - } - - public ObjectBuilder trbl( - Function> fn) { - return this.trbl(fn.apply(new TopRightBottomLeftGeoBounds.Builder()).build()); - } - - public ObjectBuilder wkt(WktGeoBounds v) { - this._kind = Kind.Wkt; - this._value = v; - return this; - } - - public ObjectBuilder wkt(Function> fn) { - return this.wkt(fn.apply(new WktGeoBounds.Builder()).build()); - } - - public GeoBounds build() { - _checkSingleUse(); - return new GeoBounds(this); - } - - } - - private static JsonpDeserializer buildGeoBoundsDeserializer() { - return new UnionDeserializer.Builder(GeoBounds::new, false) - .addMember(Kind.Coords, CoordsGeoBounds._DESERIALIZER) - .addMember(Kind.Tlbr, TopLeftBottomRightGeoBounds._DESERIALIZER) - .addMember(Kind.Trbl, TopRightBottomLeftGeoBounds._DESERIALIZER) - .addMember(Kind.Wkt, WktGeoBounds._DESERIALIZER).build(); - } - - public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer - .lazy(GeoBounds::buildGeoBoundsDeserializer); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBoundsBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBoundsBuilders.java deleted file mode 100644 index c1b3f2e30..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoBoundsBuilders.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link GeoBounds} variants. - */ -public class GeoBoundsBuilders { - private GeoBoundsBuilders() { - } - - /** - * Creates a builder for the {@link CoordsGeoBounds coords} {@code GeoBounds} - * variant. - */ - public static CoordsGeoBounds.Builder coords() { - return new CoordsGeoBounds.Builder(); - } - - /** - * Creates a builder for the {@link TopLeftBottomRightGeoBounds tlbr} - * {@code GeoBounds} variant. - */ - public static TopLeftBottomRightGeoBounds.Builder tlbr() { - return new TopLeftBottomRightGeoBounds.Builder(); - } - - /** - * Creates a builder for the {@link TopRightBottomLeftGeoBounds trbl} - * {@code GeoBounds} variant. - */ - public static TopRightBottomLeftGeoBounds.Builder trbl() { - return new TopRightBottomLeftGeoBounds.Builder(); - } - - /** - * Creates a builder for the {@link WktGeoBounds wkt} {@code GeoBounds} variant. - */ - public static WktGeoBounds.Builder wkt() { - return new WktGeoBounds.Builder(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceSort.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceSort.java deleted file mode 100644 index 88626e8cf..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceSort.java +++ /dev/null @@ -1,386 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoDistanceSort - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoDistanceSort implements SortOptionsVariant, JsonpSerializable { - private final String field; - - private final List location; - - @Nullable - private final SortMode mode; - - @Nullable - private final GeoDistanceType distanceType; - - @Nullable - private final Boolean ignoreUnmapped; - - @Nullable - private final SortOrder order; - - @Nullable - private final DistanceUnit unit; - - @Nullable - private final NestedSortValue nested; - - // --------------------------------------------------------------------------------------------- - - private GeoDistanceSort(Builder builder) { - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.location = ApiTypeHelper.unmodifiableRequired(builder.location, this, "location"); - - this.mode = builder.mode; - this.distanceType = builder.distanceType; - this.ignoreUnmapped = builder.ignoreUnmapped; - this.order = builder.order; - this.unit = builder.unit; - this.nested = builder.nested; - - } - - public static GeoDistanceSort of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SortOptions variant kind. - */ - @Override - public SortOptions.Kind _sortOptionsKind() { - return SortOptions.Kind.GeoDistance; - } - - /** - * Required - - */ - public final String field() { - return this.field; - } - - /** - * Required - - */ - public final List location() { - return this.location; - } - - /** - * API name: {@code mode} - */ - @Nullable - public final SortMode mode() { - return this.mode; - } - - /** - * API name: {@code distance_type} - */ - @Nullable - public final GeoDistanceType distanceType() { - return this.distanceType; - } - - /** - * API name: {@code ignore_unmapped} - */ - @Nullable - public final Boolean ignoreUnmapped() { - return this.ignoreUnmapped; - } - - /** - * API name: {@code order} - */ - @Nullable - public final SortOrder order() { - return this.order; - } - - /** - * API name: {@code unit} - */ - @Nullable - public final DistanceUnit unit() { - return this.unit; - } - - /** - * API name: {@code nested} - */ - @Nullable - public final NestedSortValue nested() { - return this.nested; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - generator.writeKey(this.field); - generator.writeStartArray(); - for (GeoLocation item0 : this.location) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - if (this.mode != null) { - generator.writeKey("mode"); - this.mode.serialize(generator, mapper); - } - if (this.distanceType != null) { - generator.writeKey("distance_type"); - this.distanceType.serialize(generator, mapper); - } - if (this.ignoreUnmapped != null) { - generator.writeKey("ignore_unmapped"); - generator.write(this.ignoreUnmapped); - - } - if (this.order != null) { - generator.writeKey("order"); - this.order.serialize(generator, mapper); - } - if (this.unit != null) { - generator.writeKey("unit"); - this.unit.serialize(generator, mapper); - } - if (this.nested != null) { - generator.writeKey("nested"); - this.nested.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GeoDistanceSort}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String field; - - private List location; - - /** - * Required - - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * Required - Adds all elements of list to location. - */ - public final Builder location(List list) { - this.location = _listAddAll(this.location, list); - return this; - } - - /** - * Required - Adds one or more values to location. - */ - public final Builder location(GeoLocation value, GeoLocation... values) { - this.location = _listAdd(this.location, value, values); - return this; - } - - /** - * Required - Adds a value to location using a builder lambda. - */ - public final Builder location(Function> fn) { - return location(fn.apply(new GeoLocation.Builder()).build()); - } - - @Nullable - private SortMode mode; - - @Nullable - private GeoDistanceType distanceType; - - @Nullable - private Boolean ignoreUnmapped; - - @Nullable - private SortOrder order; - - @Nullable - private DistanceUnit unit; - - @Nullable - private NestedSortValue nested; - - /** - * API name: {@code mode} - */ - public final Builder mode(@Nullable SortMode value) { - this.mode = value; - return this; - } - - /** - * API name: {@code distance_type} - */ - public final Builder distanceType(@Nullable GeoDistanceType value) { - this.distanceType = value; - return this; - } - - /** - * API name: {@code ignore_unmapped} - */ - public final Builder ignoreUnmapped(@Nullable Boolean value) { - this.ignoreUnmapped = value; - return this; - } - - /** - * API name: {@code order} - */ - public final Builder order(@Nullable SortOrder value) { - this.order = value; - return this; - } - - /** - * API name: {@code unit} - */ - public final Builder unit(@Nullable DistanceUnit value) { - this.unit = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(@Nullable NestedSortValue value) { - this.nested = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(Function> fn) { - return this.nested(fn.apply(new NestedSortValue.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GeoDistanceSort}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GeoDistanceSort build() { - _checkSingleUse(); - - return new GeoDistanceSort(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GeoDistanceSort} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - GeoDistanceSort::setupGeoDistanceSortDeserializer); - - protected static void setupGeoDistanceSortDeserializer(ObjectDeserializer op) { - - op.add(Builder::mode, SortMode._DESERIALIZER, "mode"); - op.add(Builder::distanceType, GeoDistanceType._DESERIALIZER, "distance_type"); - op.add(Builder::ignoreUnmapped, JsonpDeserializer.booleanDeserializer(), "ignore_unmapped"); - op.add(Builder::order, SortOrder._DESERIALIZER, "order"); - op.add(Builder::unit, DistanceUnit._DESERIALIZER, "unit"); - op.add(Builder::nested, NestedSortValue._DESERIALIZER, "nested"); - - op.setUnknownFieldHandler((builder, name, parser, mapper) -> { - builder.field(name); - builder.location( - JsonpDeserializer.arrayDeserializer(GeoLocation._DESERIALIZER).deserialize(parser, mapper)); - }); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceType.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceType.java deleted file mode 100644 index 7bae7004c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoDistanceType.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum GeoDistanceType implements JsonEnum { - /** - * The arc calculation is the most accurate. - */ - Arc("arc"), - - /** - * The plane calculation is faster but less accurate. - */ - Plane("plane"), - - ; - - private final String jsonValue; - - GeoDistanceType(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - GeoDistanceType.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashLocation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashLocation.java deleted file mode 100644 index 262704160..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashLocation.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoHashLocation - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoHashLocation implements JsonpSerializable { - private final String geohash; - - // --------------------------------------------------------------------------------------------- - - private GeoHashLocation(Builder builder) { - - this.geohash = ApiTypeHelper.requireNonNull(builder.geohash, this, "geohash"); - - } - - public static GeoHashLocation of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code geohash} - */ - public final String geohash() { - return this.geohash; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("geohash"); - generator.write(this.geohash); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GeoHashLocation}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String geohash; - - /** - * Required - API name: {@code geohash} - */ - public final Builder geohash(String value) { - this.geohash = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GeoHashLocation}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GeoHashLocation build() { - _checkSingleUse(); - - return new GeoHashLocation(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GeoHashLocation} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - GeoHashLocation::setupGeoHashLocationDeserializer); - - protected static void setupGeoHashLocationDeserializer(ObjectDeserializer op) { - - op.add(Builder::geohash, JsonpDeserializer.stringDeserializer(), "geohash"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecision.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecision.java deleted file mode 100644 index a0661a79d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecision.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.json.UnionDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.ObjectBuilderBase; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import jakarta.json.stream.JsonGenerator; -import java.lang.Number; -import java.lang.Object; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoHashPrecision - -/** - * A precision that can be expressed as a geohash length between 1 and 12, or a - * distance measure like "1km", "10m". - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoHashPrecision implements TaggedUnion, JsonpSerializable { - - public enum Kind { - GeohashLength, Distance - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - private GeoHashPrecision(Kind kind, Object value) { - this._kind = kind; - this._value = value; - } - - public String _toJsonString() { - switch (_kind) { - case GeohashLength : - return this.geohashLength().toString(); - case Distance : - return this.distance(); - - default : - throw new IllegalStateException("Unknown kind " + _kind); - } - } - - private GeoHashPrecision(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static GeoHashPrecision of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code geohash_length}? - */ - public boolean isGeohashLength() { - return _kind == Kind.GeohashLength; - } - - /** - * Get the {@code geohash_length} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code geohash_length} kind. - */ - public Number geohashLength() { - return TaggedUnionUtils.get(this, Kind.GeohashLength); - } - - /** - * Is this variant instance of kind {@code distance}? - */ - public boolean isDistance() { - return _kind == Kind.Distance; - } - - /** - * Get the {@code distance} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code distance} kind. - */ - public String distance() { - return TaggedUnionUtils.get(this, Kind.Distance); - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } else { - switch (_kind) { - case GeohashLength : - generator.write(((Number) this._value).doubleValue()); - - break; - case Distance : - generator.write(((String) this._value)); - - break; - } - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends ObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - public ObjectBuilder geohashLength(Number v) { - this._kind = Kind.GeohashLength; - this._value = v; - return this; - } - - public ObjectBuilder distance(String v) { - this._kind = Kind.Distance; - this._value = v; - return this; - } - - public GeoHashPrecision build() { - _checkSingleUse(); - return new GeoHashPrecision(this); - } - - } - - private static JsonpDeserializer buildGeoHashPrecisionDeserializer() { - return new UnionDeserializer.Builder(GeoHashPrecision::new, false) - .addMember(Kind.GeohashLength, JsonpDeserializer.numberDeserializer()) - .addMember(Kind.Distance, JsonpDeserializer.stringDeserializer()).build(); - } - - public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer - .lazy(GeoHashPrecision::buildGeoHashPrecisionDeserializer); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecisionBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecisionBuilders.java deleted file mode 100644 index cb2a78226..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoHashPrecisionBuilders.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link GeoHashPrecision} variants. - *

    - * Variants geohash_length, distance are not available - * here as they don't have a dedicated class. Use {@link GeoHashPrecision}'s - * builder for these. - * - */ -public class GeoHashPrecisionBuilders { - private GeoHashPrecisionBuilders() { - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLine.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLine.java deleted file mode 100644 index 9c5f892ba..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLine.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoLine - -/** - * A GeoJson GeoLine. - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoLine implements JsonpSerializable { - private final String type; - - private final List> coordinates; - - // --------------------------------------------------------------------------------------------- - - private GeoLine(Builder builder) { - - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - this.coordinates = ApiTypeHelper.unmodifiableRequired(builder.coordinates, this, "coordinates"); - - } - - public static GeoLine of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Always "LineString" - *

    - * API name: {@code type} - */ - public final String type() { - return this.type; - } - - /** - * Required - Array of [lon, lat] coordinates - *

    - * API name: {@code coordinates} - */ - public final List> coordinates() { - return this.coordinates; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("type"); - generator.write(this.type); - - if (ApiTypeHelper.isDefined(this.coordinates)) { - generator.writeKey("coordinates"); - generator.writeStartArray(); - for (List item0 : this.coordinates) { - generator.writeStartArray(); - if (item0 != null) { - for (Double item1 : item0) { - generator.write(item1); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GeoLine}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String type; - - private List> coordinates; - - /** - * Required - Always "LineString" - *

    - * API name: {@code type} - */ - public final Builder type(String value) { - this.type = value; - return this; - } - - /** - * Required - Array of [lon, lat] coordinates - *

    - * API name: {@code coordinates} - *

    - * Adds all elements of list to coordinates. - */ - public final Builder coordinates(List> list) { - this.coordinates = _listAddAll(this.coordinates, list); - return this; - } - - /** - * Required - Array of [lon, lat] coordinates - *

    - * API name: {@code coordinates} - *

    - * Adds one or more values to coordinates. - */ - public final Builder coordinates(List value, List... values) { - this.coordinates = _listAdd(this.coordinates, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GeoLine}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GeoLine build() { - _checkSingleUse(); - - return new GeoLine(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GeoLine} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - GeoLine::setupGeoLineDeserializer); - - protected static void setupGeoLineDeserializer(ObjectDeserializer op) { - - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - op.add(Builder::coordinates, JsonpDeserializer.arrayDeserializer( - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.doubleDeserializer())), "coordinates"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocation.java deleted file mode 100644 index 5b59638a3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocation.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.json.UnionDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.ObjectBuilderBase; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.Object; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.GeoLocation - -/** - * A latitude/longitude as a 2 dimensional point. It can be represented in - * various ways: - *

      - *
    • as a {lat, long} object
    • - *
    • as a geo hash value
    • - *
    • as a [lon, lat] array
    • - *
    • as a string in "<lat>, <lon>" or WKT - * point formats
    • - *
    - * - * @see API - * specification - */ -@JsonpDeserializable -public class GeoLocation implements TaggedUnion, JsonpSerializable { - - public enum Kind { - Coords, Geohash, Latlon, Text - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - private GeoLocation(Kind kind, Object value) { - this._kind = kind; - this._value = value; - } - - private GeoLocation(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static GeoLocation of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code coords}? - */ - public boolean isCoords() { - return _kind == Kind.Coords; - } - - /** - * Get the {@code coords} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code coords} kind. - */ - public List coords() { - return TaggedUnionUtils.get(this, Kind.Coords); - } - - /** - * Is this variant instance of kind {@code geohash}? - */ - public boolean isGeohash() { - return _kind == Kind.Geohash; - } - - /** - * Get the {@code geohash} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code geohash} kind. - */ - public GeoHashLocation geohash() { - return TaggedUnionUtils.get(this, Kind.Geohash); - } - - /** - * Is this variant instance of kind {@code latlon}? - */ - public boolean isLatlon() { - return _kind == Kind.Latlon; - } - - /** - * Get the {@code latlon} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code latlon} kind. - */ - public LatLonGeoLocation latlon() { - return TaggedUnionUtils.get(this, Kind.Latlon); - } - - /** - * Is this variant instance of kind {@code text}? - */ - public boolean isText() { - return _kind == Kind.Text; - } - - /** - * Get the {@code text} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code text} kind. - */ - public String text() { - return TaggedUnionUtils.get(this, Kind.Text); - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } else { - switch (_kind) { - case Coords : - generator.writeStartArray(); - for (Double item0 : ((List) this._value)) { - generator.write(item0); - - } - generator.writeEnd(); - - break; - case Text : - generator.write(((String) this._value)); - - break; - } - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends ObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - public ObjectBuilder coords(List v) { - this._kind = Kind.Coords; - this._value = v; - return this; - } - - public ObjectBuilder geohash(GeoHashLocation v) { - this._kind = Kind.Geohash; - this._value = v; - return this; - } - - public ObjectBuilder geohash( - Function> fn) { - return this.geohash(fn.apply(new GeoHashLocation.Builder()).build()); - } - - public ObjectBuilder latlon(LatLonGeoLocation v) { - this._kind = Kind.Latlon; - this._value = v; - return this; - } - - public ObjectBuilder latlon( - Function> fn) { - return this.latlon(fn.apply(new LatLonGeoLocation.Builder()).build()); - } - - public ObjectBuilder text(String v) { - this._kind = Kind.Text; - this._value = v; - return this; - } - - public GeoLocation build() { - _checkSingleUse(); - return new GeoLocation(this); - } - - } - - private static JsonpDeserializer buildGeoLocationDeserializer() { - return new UnionDeserializer.Builder(GeoLocation::new, false) - .addMember(Kind.Coords, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.doubleDeserializer())) - .addMember(Kind.Geohash, GeoHashLocation._DESERIALIZER) - .addMember(Kind.Latlon, LatLonGeoLocation._DESERIALIZER) - .addMember(Kind.Text, JsonpDeserializer.stringDeserializer()).build(); - } - - public static final JsonpDeserializer _DESERIALIZER = JsonpDeserializer - .lazy(GeoLocation::buildGeoLocationDeserializer); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocationBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocationBuilders.java deleted file mode 100644 index 2a6abee76..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoLocationBuilders.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.util.ObjectBuilder; -import java.lang.Double; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link GeoLocation} variants. - *

    - * Variants coords, text are not available here as - * they don't have a dedicated class. Use {@link GeoLocation}'s builder for - * these. - * - */ -public class GeoLocationBuilders { - private GeoLocationBuilders() { - } - - /** - * Creates a builder for the {@link GeoHashLocation geohash} {@code GeoLocation} - * variant. - */ - public static GeoHashLocation.Builder geohash() { - return new GeoHashLocation.Builder(); - } - - /** - * Creates a builder for the {@link LatLonGeoLocation latlon} - * {@code GeoLocation} variant. - */ - public static LatLonGeoLocation.Builder latlon() { - return new LatLonGeoLocation.Builder(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoShapeRelation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoShapeRelation.java deleted file mode 100644 index 4e43da4a9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/GeoShapeRelation.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum GeoShapeRelation implements JsonEnum { - /** - * Return all documents whose geo_shape or geo_point - * field intersects the query geometry. - */ - Intersects("intersects"), - - /** - * Return all documents whose geo_shape or geo_point - * field has nothing in common with the query geometry. - */ - Disjoint("disjoint"), - - /** - * Return all documents whose geo_shape or geo_point - * field is within the query geometry. Line geometries are not supported. - */ - Within("within"), - - /** - * Return all documents whose geo_shape or geo_point - * field contains the query geometry. - */ - Contains("contains"), - - ; - - private final String jsonValue; - - GeoShapeRelation(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - GeoShapeRelation.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/HealthStatus.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/HealthStatus.java deleted file mode 100644 index 60b09e818..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/HealthStatus.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum HealthStatus implements JsonEnum { - /** - * All shards are assigned. - */ - Green("green", "GREEN"), - - /** - * All primary shards are assigned, but one or more replica shards are - * unassigned. If a node in the cluster fails, some data could be unavailable - * until that node is repaired. - */ - Yellow("yellow", "YELLOW"), - - /** - * One or more primary shards are unassigned, so some data is unavailable. This - * can occur briefly during cluster startup as primary shards are assigned. - */ - Red("red", "RED"), - - ; - - private final String jsonValue; - private final String[] aliases; - - HealthStatus(String jsonValue, String... aliases) { - this.jsonValue = jsonValue; - this.aliases = aliases; - } - - public String jsonValue() { - return this.jsonValue; - } - - public String[] aliases() { - return this.aliases; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - HealthStatus.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBDistribution.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBDistribution.java deleted file mode 100644 index e8c0f5283..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBDistribution.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IBDistribution implements JsonEnum { - Ll("ll"), - - Spl("spl"), - - ; - - private final String jsonValue; - - IBDistribution(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - IBDistribution.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBLambda.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBLambda.java deleted file mode 100644 index 1ed99e56e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IBLambda.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IBLambda implements JsonEnum { - Df("df"), - - Ttf("ttf"), - - ; - - private final String jsonValue; - - IBLambda(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>(IBLambda.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesOptions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesOptions.java deleted file mode 100644 index 1bb5d1a6b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesOptions.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.IndicesOptions - -/** - * Controls how to deal with unavailable concrete indices (closed or missing), - * how wildcard expressions are expanded to actual indices (all, closed or open - * indices) and how to deal with wildcard expressions that resolve to no - * indices. - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndicesOptions implements JsonpSerializable { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - @Nullable - private final Boolean ignoreThrottled; - - // --------------------------------------------------------------------------------------------- - - private IndicesOptions(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.ignoreThrottled = builder.ignoreThrottled; - - } - - public static IndicesOptions of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard expression, index - * alias, or _all value targets only missing or closed indices. - * This behavior applies even if the request targets other open indices. For - * example, a request targeting foo*,bar* returns an error if an - * index starts with foo but no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, missing or closed indices are not included in the response. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * If true, concrete, expanded or aliased indices are ignored when frozen. - *

    - * API name: {@code ignore_throttled} - */ - @Nullable - public final Boolean ignoreThrottled() { - return this.ignoreThrottled; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.allowNoIndices != null) { - generator.writeKey("allow_no_indices"); - generator.write(this.allowNoIndices); - - } - if (ApiTypeHelper.isDefined(this.expandWildcards)) { - generator.writeKey("expand_wildcards"); - generator.writeStartArray(); - for (ExpandWildcard item0 : this.expandWildcards) { - item0.serialize(generator, mapper); - } - generator.writeEnd(); - - } - if (this.ignoreUnavailable != null) { - generator.writeKey("ignore_unavailable"); - generator.write(this.ignoreUnavailable); - - } - if (this.ignoreThrottled != null) { - generator.writeKey("ignore_throttled"); - generator.write(this.ignoreThrottled); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndicesOptions}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private Boolean ignoreThrottled; - - /** - * If false, the request returns an error if any wildcard expression, index - * alias, or _all value targets only missing or closed indices. - * This behavior applies even if the request targets other open indices. For - * example, a request targeting foo*,bar* returns an error if an - * index starts with foo but no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, missing or closed indices are not included in the response. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * If true, concrete, expanded or aliased indices are ignored when frozen. - *

    - * API name: {@code ignore_throttled} - */ - public final Builder ignoreThrottled(@Nullable Boolean value) { - this.ignoreThrottled = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndicesOptions}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndicesOptions build() { - _checkSingleUse(); - - return new IndicesOptions(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndicesOptions} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndicesOptions::setupIndicesOptionsDeserializer); - - protected static void setupIndicesOptionsDeserializer(ObjectDeserializer op) { - - op.add(Builder::allowNoIndices, JsonpDeserializer.booleanDeserializer(), "allow_no_indices"); - op.add(Builder::expandWildcards, JsonpDeserializer.arrayDeserializer(ExpandWildcard._DESERIALIZER), - "expand_wildcards"); - op.add(Builder::ignoreUnavailable, JsonpDeserializer.booleanDeserializer(), "ignore_unavailable"); - op.add(Builder::ignoreThrottled, JsonpDeserializer.booleanDeserializer(), "ignore_throttled"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesResponseBase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesResponseBase.java deleted file mode 100644 index 3ab0d7365..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/IndicesResponseBase.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.IndicesResponseBase - -/** - * - * @see API - * specification - */ - -public abstract class IndicesResponseBase extends AcknowledgedResponseBase { - @Nullable - private final ShardStatistics shards; - - // --------------------------------------------------------------------------------------------- - - protected IndicesResponseBase(AbstractBuilder builder) { - super(builder); - - this.shards = builder.shards; - - } - - /** - * API name: {@code _shards} - */ - @Nullable - public final ShardStatistics shards() { - return this.shards; - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - super.serializeInternal(generator, mapper); - if (this.shards != null) { - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); - - } - - } - - public abstract static class AbstractBuilder> - extends - AcknowledgedResponseBase.AbstractBuilder { - @Nullable - private ShardStatistics shards; - - /** - * API name: {@code _shards} - */ - public final BuilderT shards(@Nullable ShardStatistics value) { - this.shards = value; - return self(); - } - - /** - * API name: {@code _shards} - */ - public final BuilderT shards(Function> fn) { - return this.shards(fn.apply(new ShardStatistics.Builder()).build()); - } - - } - - // --------------------------------------------------------------------------------------------- - protected static > void setupIndicesResponseBaseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - op.add(AbstractBuilder::shards, ShardStatistics._DESERIALIZER, "_shards"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/InlineGet.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/InlineGet.java deleted file mode 100644 index 85e6f102c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/InlineGet.java +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpSerializer; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.InlineGet - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class InlineGet implements JsonpSerializable { - private final Map metadata; - - private final Map fields; - - private final boolean found; - - @Nullable - private final Long seqNo; - - @Nullable - private final Long primaryTerm; - - @Nullable - private final String routing; - - @Nullable - private final TDocument source; - - @Nullable - private final JsonpSerializer tDocumentSerializer; - - // --------------------------------------------------------------------------------------------- - - private InlineGet(Builder builder) { - - this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); - - this.fields = ApiTypeHelper.unmodifiable(builder.fields); - this.found = ApiTypeHelper.requireNonNull(builder.found, this, "found"); - this.seqNo = builder.seqNo; - this.primaryTerm = builder.primaryTerm; - this.routing = builder.routing; - this.source = builder.source; - this.tDocumentSerializer = builder.tDocumentSerializer; - - } - - public static InlineGet of( - Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - /** - * Document metadata - */ - public final Map metadata() { - return this.metadata; - } - - /** - * API name: {@code fields} - */ - public final Map fields() { - return this.fields; - } - - /** - * Required - API name: {@code found} - */ - public final boolean found() { - return this.found; - } - - /** - * API name: {@code _seq_no} - */ - @Nullable - public final Long seqNo() { - return this.seqNo; - } - - /** - * API name: {@code _primary_term} - */ - @Nullable - public final Long primaryTerm() { - return this.primaryTerm; - } - - /** - * API name: {@code _routing} - */ - @Nullable - public final String routing() { - return this.routing; - } - - /** - * API name: {@code _source} - */ - @Nullable - public final TDocument source() { - return this.source; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - for (Map.Entry item0 : this.metadata.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - - if (ApiTypeHelper.isDefined(this.fields)) { - generator.writeKey("fields"); - generator.writeStartObject(); - for (Map.Entry item0 : this.fields.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("found"); - generator.write(this.found); - - if (this.seqNo != null) { - generator.writeKey("_seq_no"); - generator.write(this.seqNo); - - } - if (this.primaryTerm != null) { - generator.writeKey("_primary_term"); - generator.write(this.primaryTerm); - - } - if (this.routing != null) { - generator.writeKey("_routing"); - generator.write(this.routing); - - } - if (this.source != null) { - generator.writeKey("_source"); - JsonpUtils.serialize(this.source, generator, tDocumentSerializer, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link InlineGet}. - */ - - public static class Builder extends WithJsonObjectBuilderBase> - implements - ObjectBuilder> { - @Nullable - private Map metadata = new HashMap<>(); - - /** - * Document metadata - *

    - * Adds all entries of map to metadata. - */ - public final Builder metadata(Map map) { - this.metadata = _mapPutAll(this.metadata, map); - return this; - } - - /** - * Document metadata - *

    - * Adds an entry to metadata. - */ - public final Builder metadata(String key, JsonData value) { - this.metadata = _mapPut(this.metadata, key, value); - return this; - } - - @Nullable - private Map fields; - - private Boolean found; - - @Nullable - private Long seqNo; - - @Nullable - private Long primaryTerm; - - @Nullable - private String routing; - - @Nullable - private TDocument source; - - @Nullable - private JsonpSerializer tDocumentSerializer; - - /** - * API name: {@code fields} - *

    - * Adds all entries of map to fields. - */ - public final Builder fields(Map map) { - this.fields = _mapPutAll(this.fields, map); - return this; - } - - /** - * API name: {@code fields} - *

    - * Adds an entry to fields. - */ - public final Builder fields(String key, JsonData value) { - this.fields = _mapPut(this.fields, key, value); - return this; - } - - /** - * Required - API name: {@code found} - */ - public final Builder found(boolean value) { - this.found = value; - return this; - } - - /** - * API name: {@code _seq_no} - */ - public final Builder seqNo(@Nullable Long value) { - this.seqNo = value; - return this; - } - - /** - * API name: {@code _primary_term} - */ - public final Builder primaryTerm(@Nullable Long value) { - this.primaryTerm = value; - return this; - } - - /** - * API name: {@code _routing} - */ - public final Builder routing(@Nullable String value) { - this.routing = value; - return this; - } - - /** - * API name: {@code _source} - */ - public final Builder source(@Nullable TDocument value) { - this.source = value; - return this; - } - - /** - * Serializer for TDocument. If not set, an attempt will be made to find a - * serializer from the JSON context. - */ - public final Builder tDocumentSerializer(@Nullable JsonpSerializer value) { - this.tDocumentSerializer = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link InlineGet}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public InlineGet build() { - _checkSingleUse(); - - return new InlineGet(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for InlineGet - */ - public static JsonpDeserializer> createInlineGetDeserializer( - JsonpDeserializer tDocumentDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> InlineGet.setupInlineGetDeserializer(op, tDocumentDeserializer)); - }; - - /** - * Json deserializer for {@link InlineGet} based on named deserializers provided - * by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createInlineGetDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:_types.InlineGet.TDocument"))); - - protected static void setupInlineGetDeserializer(ObjectDeserializer> op, - JsonpDeserializer tDocumentDeserializer) { - - op.add(Builder::fields, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "fields"); - op.add(Builder::found, JsonpDeserializer.booleanDeserializer(), "found"); - op.add(Builder::seqNo, JsonpDeserializer.longDeserializer(), "_seq_no"); - op.add(Builder::primaryTerm, JsonpDeserializer.longDeserializer(), "_primary_term"); - op.add(Builder::routing, JsonpDeserializer.stringDeserializer(), "_routing"); - op.add(Builder::source, tDocumentDeserializer, "_source"); - - op.setUnknownFieldHandler((builder, name, parser, mapper) -> { - builder.metadata(name, JsonData._DESERIALIZER.deserialize(parser, mapper)); - }); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java deleted file mode 100644 index 66ebb9d8c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java +++ /dev/null @@ -1,414 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.elasticsearch._types.query_dsl.QueryBase; -import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Float; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.KnnQuery - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class KnnQuery extends QueryBase implements QueryVariant { - private final String field; - - private final List queryVector; - - @Nullable - private final QueryVectorBuilder queryVectorBuilder; - - @Nullable - private final Integer numCandidates; - - @Nullable - private final Integer k; - - private final List filter; - - @Nullable - private final Float similarity; - - // --------------------------------------------------------------------------------------------- - - private KnnQuery(Builder builder) { - super(builder); - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.queryVector = ApiTypeHelper.unmodifiable(builder.queryVector); - this.queryVectorBuilder = builder.queryVectorBuilder; - this.numCandidates = builder.numCandidates; - this.k = builder.k; - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - this.similarity = builder.similarity; - - } - - public static KnnQuery of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Query variant kind. - */ - @Override - public Query.Kind _queryKind() { - return Query.Kind.Knn; - } - - /** - * Required - The name of the vector field to search against - *

    - * API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - */ - public final List queryVector() { - return this.queryVector; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - @Nullable - public final QueryVectorBuilder queryVectorBuilder() { - return this.queryVectorBuilder; - } - - /** - * The number of nearest neighbor candidates to consider per shard - *

    - * API name: {@code num_candidates} - */ - @Nullable - public final Integer numCandidates() { - return this.numCandidates; - } - - /** - * The final number of nearest neighbors to return as top hits - *

    - * API name: {@code k} - */ - @Nullable - public final Integer k() { - return this.k; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - */ - public final List filter() { - return this.filter; - } - - /** - * The minimum similarity for a vector to be considered a match - *

    - * API name: {@code similarity} - */ - @Nullable - public final Float similarity() { - return this.similarity; - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - super.serializeInternal(generator, mapper); - generator.writeKey("field"); - generator.write(this.field); - - if (ApiTypeHelper.isDefined(this.queryVector)) { - generator.writeKey("query_vector"); - generator.writeStartArray(); - for (Float item0 : this.queryVector) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.queryVectorBuilder != null) { - generator.writeKey("query_vector_builder"); - this.queryVectorBuilder.serialize(generator, mapper); - - } - if (this.numCandidates != null) { - generator.writeKey("num_candidates"); - generator.write(this.numCandidates); - - } - if (this.k != null) { - generator.writeKey("k"); - generator.write(this.k); - - } - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartArray(); - for (Query item0 : this.filter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.similarity != null) { - generator.writeKey("similarity"); - generator.write(this.similarity); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link KnnQuery}. - */ - - public static class Builder extends QueryBase.AbstractBuilder implements ObjectBuilder { - private String field; - - @Nullable - private List queryVector; - - @Nullable - private QueryVectorBuilder queryVectorBuilder; - - @Nullable - private Integer numCandidates; - - @Nullable - private Integer k; - - @Nullable - private List filter; - - @Nullable - private Float similarity; - - /** - * Required - The name of the vector field to search against - *

    - * API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - *

    - * Adds all elements of list to queryVector. - */ - public final Builder queryVector(List list) { - this.queryVector = _listAddAll(this.queryVector, list); - return this; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - *

    - * Adds one or more values to queryVector. - */ - public final Builder queryVector(Float value, Float... values) { - this.queryVector = _listAdd(this.queryVector, value, values); - return this; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder(@Nullable QueryVectorBuilder value) { - this.queryVectorBuilder = value; - return this; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder( - Function> fn) { - return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); - } - - /** - * The number of nearest neighbor candidates to consider per shard - *

    - * API name: {@code num_candidates} - */ - public final Builder numCandidates(@Nullable Integer value) { - this.numCandidates = value; - return this; - } - - /** - * The final number of nearest neighbors to return as top hits - *

    - * API name: {@code k} - */ - public final Builder k(@Nullable Integer value) { - this.k = value; - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds all elements of list to filter. - */ - public final Builder filter(List list) { - this.filter = _listAddAll(this.filter, list); - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds one or more values to filter. - */ - public final Builder filter(Query value, Query... values) { - this.filter = _listAdd(this.filter, value, values); - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds a value to filter using a builder lambda. - */ - public final Builder filter(Function> fn) { - return filter(fn.apply(new Query.Builder()).build()); - } - - /** - * The minimum similarity for a vector to be considered a match - *

    - * API name: {@code similarity} - */ - public final Builder similarity(@Nullable Float value) { - this.similarity = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link KnnQuery}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public KnnQuery build() { - _checkSingleUse(); - - return new KnnQuery(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link KnnQuery} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - KnnQuery::setupKnnQueryDeserializer); - - protected static void setupKnnQueryDeserializer(ObjectDeserializer op) { - QueryBase.setupQueryBaseDeserializer(op); - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::queryVector, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.floatDeserializer()), - "query_vector"); - op.add(Builder::queryVectorBuilder, QueryVectorBuilder._DESERIALIZER, "query_vector_builder"); - op.add(Builder::numCandidates, JsonpDeserializer.integerDeserializer(), "num_candidates"); - op.add(Builder::k, JsonpDeserializer.integerDeserializer(), "k"); - op.add(Builder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter"); - op.add(Builder::similarity, JsonpDeserializer.floatDeserializer(), "similarity"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java deleted file mode 100644 index ab29ddb82..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Float; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.KnnRetriever - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class KnnRetriever extends RetrieverBase implements RetrieverVariant { - private final String field; - - private final List queryVector; - - @Nullable - private final QueryVectorBuilder queryVectorBuilder; - - private final int k; - - private final int numCandidates; - - @Nullable - private final Float similarity; - - // --------------------------------------------------------------------------------------------- - - private KnnRetriever(Builder builder) { - super(builder); - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.queryVector = ApiTypeHelper.unmodifiable(builder.queryVector); - this.queryVectorBuilder = builder.queryVectorBuilder; - this.k = ApiTypeHelper.requireNonNull(builder.k, this, "k"); - this.numCandidates = ApiTypeHelper.requireNonNull(builder.numCandidates, this, "numCandidates"); - this.similarity = builder.similarity; - - } - - public static KnnRetriever of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Retriever variant kind. - */ - @Override - public Retriever.Kind _retrieverKind() { - return Retriever.Kind.Knn; - } - - /** - * Required - The name of the vector field to search against. - *

    - * API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * Query vector. Must have the same number of dimensions as the vector field you - * are searching against. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector} - */ - public final List queryVector() { - return this.queryVector; - } - - /** - * Defines a model to build a query vector. - *

    - * API name: {@code query_vector_builder} - */ - @Nullable - public final QueryVectorBuilder queryVectorBuilder() { - return this.queryVectorBuilder; - } - - /** - * Required - Number of nearest neighbors to return as top hits. - *

    - * API name: {@code k} - */ - public final int k() { - return this.k; - } - - /** - * Required - Number of nearest neighbor candidates to consider per shard. - *

    - * API name: {@code num_candidates} - */ - public final int numCandidates() { - return this.numCandidates; - } - - /** - * The minimum similarity required for a document to be considered a match. - *

    - * API name: {@code similarity} - */ - @Nullable - public final Float similarity() { - return this.similarity; - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - super.serializeInternal(generator, mapper); - generator.writeKey("field"); - generator.write(this.field); - - if (ApiTypeHelper.isDefined(this.queryVector)) { - generator.writeKey("query_vector"); - generator.writeStartArray(); - for (Float item0 : this.queryVector) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.queryVectorBuilder != null) { - generator.writeKey("query_vector_builder"); - this.queryVectorBuilder.serialize(generator, mapper); - - } - generator.writeKey("k"); - generator.write(this.k); - - generator.writeKey("num_candidates"); - generator.write(this.numCandidates); - - if (this.similarity != null) { - generator.writeKey("similarity"); - generator.write(this.similarity); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link KnnRetriever}. - */ - - public static class Builder extends RetrieverBase.AbstractBuilder implements ObjectBuilder { - private String field; - - @Nullable - private List queryVector; - - @Nullable - private QueryVectorBuilder queryVectorBuilder; - - private Integer k; - - private Integer numCandidates; - - @Nullable - private Float similarity; - - /** - * Required - The name of the vector field to search against. - *

    - * API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * Query vector. Must have the same number of dimensions as the vector field you - * are searching against. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector} - *

    - * Adds all elements of list to queryVector. - */ - public final Builder queryVector(List list) { - this.queryVector = _listAddAll(this.queryVector, list); - return this; - } - - /** - * Query vector. Must have the same number of dimensions as the vector field you - * are searching against. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector} - *

    - * Adds one or more values to queryVector. - */ - public final Builder queryVector(Float value, Float... values) { - this.queryVector = _listAdd(this.queryVector, value, values); - return this; - } - - /** - * Defines a model to build a query vector. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder(@Nullable QueryVectorBuilder value) { - this.queryVectorBuilder = value; - return this; - } - - /** - * Defines a model to build a query vector. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder( - Function> fn) { - return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); - } - - /** - * Required - Number of nearest neighbors to return as top hits. - *

    - * API name: {@code k} - */ - public final Builder k(int value) { - this.k = value; - return this; - } - - /** - * Required - Number of nearest neighbor candidates to consider per shard. - *

    - * API name: {@code num_candidates} - */ - public final Builder numCandidates(int value) { - this.numCandidates = value; - return this; - } - - /** - * The minimum similarity required for a document to be considered a match. - *

    - * API name: {@code similarity} - */ - public final Builder similarity(@Nullable Float value) { - this.similarity = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link KnnRetriever}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public KnnRetriever build() { - _checkSingleUse(); - - return new KnnRetriever(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link KnnRetriever} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - KnnRetriever::setupKnnRetrieverDeserializer); - - protected static void setupKnnRetrieverDeserializer(ObjectDeserializer op) { - RetrieverBase.setupRetrieverBaseDeserializer(op); - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::queryVector, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.floatDeserializer()), - "query_vector"); - op.add(Builder::queryVectorBuilder, QueryVectorBuilder._DESERIALIZER, "query_vector_builder"); - op.add(Builder::k, JsonpDeserializer.integerDeserializer(), "k"); - op.add(Builder::numCandidates, JsonpDeserializer.integerDeserializer(), "num_candidates"); - op.add(Builder::similarity, JsonpDeserializer.floatDeserializer(), "similarity"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java deleted file mode 100644 index 3a1184c25..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java +++ /dev/null @@ -1,495 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.elasticsearch.core.search.InnerHits; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Float; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.KnnSearch - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class KnnSearch implements JsonpSerializable { - private final String field; - - private final List queryVector; - - @Nullable - private final QueryVectorBuilder queryVectorBuilder; - - @Nullable - private final Integer k; - - @Nullable - private final Integer numCandidates; - - @Nullable - private final Float boost; - - private final List filter; - - @Nullable - private final Float similarity; - - @Nullable - private final InnerHits innerHits; - - // --------------------------------------------------------------------------------------------- - - private KnnSearch(Builder builder) { - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.queryVector = ApiTypeHelper.unmodifiable(builder.queryVector); - this.queryVectorBuilder = builder.queryVectorBuilder; - this.k = builder.k; - this.numCandidates = builder.numCandidates; - this.boost = builder.boost; - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - this.similarity = builder.similarity; - this.innerHits = builder.innerHits; - - } - - public static KnnSearch of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - The name of the vector field to search against - *

    - * API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - */ - public final List queryVector() { - return this.queryVector; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - @Nullable - public final QueryVectorBuilder queryVectorBuilder() { - return this.queryVectorBuilder; - } - - /** - * The final number of nearest neighbors to return as top hits - *

    - * API name: {@code k} - */ - @Nullable - public final Integer k() { - return this.k; - } - - /** - * The number of nearest neighbor candidates to consider per shard - *

    - * API name: {@code num_candidates} - */ - @Nullable - public final Integer numCandidates() { - return this.numCandidates; - } - - /** - * Boost value to apply to kNN scores - *

    - * API name: {@code boost} - */ - @Nullable - public final Float boost() { - return this.boost; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - */ - public final List filter() { - return this.filter; - } - - /** - * The minimum similarity for a vector to be considered a match - *

    - * API name: {@code similarity} - */ - @Nullable - public final Float similarity() { - return this.similarity; - } - - /** - * If defined, each search hit will contain inner hits. - *

    - * API name: {@code inner_hits} - */ - @Nullable - public final InnerHits innerHits() { - return this.innerHits; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("field"); - generator.write(this.field); - - if (ApiTypeHelper.isDefined(this.queryVector)) { - generator.writeKey("query_vector"); - generator.writeStartArray(); - for (Float item0 : this.queryVector) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.queryVectorBuilder != null) { - generator.writeKey("query_vector_builder"); - this.queryVectorBuilder.serialize(generator, mapper); - - } - if (this.k != null) { - generator.writeKey("k"); - generator.write(this.k); - - } - if (this.numCandidates != null) { - generator.writeKey("num_candidates"); - generator.write(this.numCandidates); - - } - if (this.boost != null) { - generator.writeKey("boost"); - generator.write(this.boost); - - } - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartArray(); - for (Query item0 : this.filter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.similarity != null) { - generator.writeKey("similarity"); - generator.write(this.similarity); - - } - if (this.innerHits != null) { - generator.writeKey("inner_hits"); - this.innerHits.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link KnnSearch}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String field; - - @Nullable - private List queryVector; - - @Nullable - private QueryVectorBuilder queryVectorBuilder; - - @Nullable - private Integer k; - - @Nullable - private Integer numCandidates; - - @Nullable - private Float boost; - - @Nullable - private List filter; - - @Nullable - private Float similarity; - - @Nullable - private InnerHits innerHits; - - /** - * Required - The name of the vector field to search against - *

    - * API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - *

    - * Adds all elements of list to queryVector. - */ - public final Builder queryVector(List list) { - this.queryVector = _listAddAll(this.queryVector, list); - return this; - } - - /** - * The query vector - *

    - * API name: {@code query_vector} - *

    - * Adds one or more values to queryVector. - */ - public final Builder queryVector(Float value, Float... values) { - this.queryVector = _listAdd(this.queryVector, value, values); - return this; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder(@Nullable QueryVectorBuilder value) { - this.queryVectorBuilder = value; - return this; - } - - /** - * The query vector builder. You must provide a query_vector_builder or - * query_vector, but not both. - *

    - * API name: {@code query_vector_builder} - */ - public final Builder queryVectorBuilder( - Function> fn) { - return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); - } - - /** - * The final number of nearest neighbors to return as top hits - *

    - * API name: {@code k} - */ - public final Builder k(@Nullable Integer value) { - this.k = value; - return this; - } - - /** - * The number of nearest neighbor candidates to consider per shard - *

    - * API name: {@code num_candidates} - */ - public final Builder numCandidates(@Nullable Integer value) { - this.numCandidates = value; - return this; - } - - /** - * Boost value to apply to kNN scores - *

    - * API name: {@code boost} - */ - public final Builder boost(@Nullable Float value) { - this.boost = value; - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds all elements of list to filter. - */ - public final Builder filter(List list) { - this.filter = _listAddAll(this.filter, list); - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds one or more values to filter. - */ - public final Builder filter(Query value, Query... values) { - this.filter = _listAdd(this.filter, value, values); - return this; - } - - /** - * Filters for the kNN search query - *

    - * API name: {@code filter} - *

    - * Adds a value to filter using a builder lambda. - */ - public final Builder filter(Function> fn) { - return filter(fn.apply(new Query.Builder()).build()); - } - - /** - * The minimum similarity for a vector to be considered a match - *

    - * API name: {@code similarity} - */ - public final Builder similarity(@Nullable Float value) { - this.similarity = value; - return this; - } - - /** - * If defined, each search hit will contain inner hits. - *

    - * API name: {@code inner_hits} - */ - public final Builder innerHits(@Nullable InnerHits value) { - this.innerHits = value; - return this; - } - - /** - * If defined, each search hit will contain inner hits. - *

    - * API name: {@code inner_hits} - */ - public final Builder innerHits(Function> fn) { - return this.innerHits(fn.apply(new InnerHits.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link KnnSearch}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public KnnSearch build() { - _checkSingleUse(); - - return new KnnSearch(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link KnnSearch} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - KnnSearch::setupKnnSearchDeserializer); - - protected static void setupKnnSearchDeserializer(ObjectDeserializer op) { - - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::queryVector, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.floatDeserializer()), - "query_vector"); - op.add(Builder::queryVectorBuilder, QueryVectorBuilder._DESERIALIZER, "query_vector_builder"); - op.add(Builder::k, JsonpDeserializer.integerDeserializer(), "k"); - op.add(Builder::numCandidates, JsonpDeserializer.integerDeserializer(), "num_candidates"); - op.add(Builder::boost, JsonpDeserializer.floatDeserializer(), "boost"); - op.add(Builder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter"); - op.add(Builder::similarity, JsonpDeserializer.floatDeserializer(), "similarity"); - op.add(Builder::innerHits, InnerHits._DESERIALIZER, "inner_hits"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/LatLonGeoLocation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/LatLonGeoLocation.java deleted file mode 100644 index a291a5622..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/LatLonGeoLocation.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.LatLonGeoLocation - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class LatLonGeoLocation implements JsonpSerializable { - private final double lat; - - private final double lon; - - // --------------------------------------------------------------------------------------------- - - private LatLonGeoLocation(Builder builder) { - - this.lat = ApiTypeHelper.requireNonNull(builder.lat, this, "lat"); - this.lon = ApiTypeHelper.requireNonNull(builder.lon, this, "lon"); - - } - - public static LatLonGeoLocation of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Latitude - *

    - * API name: {@code lat} - */ - public final double lat() { - return this.lat; - } - - /** - * Required - Longitude - *

    - * API name: {@code lon} - */ - public final double lon() { - return this.lon; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("lat"); - generator.write(this.lat); - - generator.writeKey("lon"); - generator.write(this.lon); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link LatLonGeoLocation}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Double lat; - - private Double lon; - - /** - * Required - Latitude - *

    - * API name: {@code lat} - */ - public final Builder lat(double value) { - this.lat = value; - return this; - } - - /** - * Required - Longitude - *

    - * API name: {@code lon} - */ - public final Builder lon(double value) { - this.lon = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link LatLonGeoLocation}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public LatLonGeoLocation build() { - _checkSingleUse(); - - return new LatLonGeoLocation(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link LatLonGeoLocation} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, LatLonGeoLocation::setupLatLonGeoLocationDeserializer); - - protected static void setupLatLonGeoLocationDeserializer(ObjectDeserializer op) { - - op.add(Builder::lat, JsonpDeserializer.doubleDeserializer(), "lat"); - op.add(Builder::lon, JsonpDeserializer.doubleDeserializer(), "lon"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java deleted file mode 100644 index 32c09c21a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.NestedSortValue - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class NestedSortValue implements JsonpSerializable { - @Nullable - private final Query filter; - - @Nullable - private final Integer maxChildren; - - @Nullable - private final NestedSortValue nested; - - private final String path; - - // --------------------------------------------------------------------------------------------- - - private NestedSortValue(Builder builder) { - - this.filter = builder.filter; - this.maxChildren = builder.maxChildren; - this.nested = builder.nested; - this.path = ApiTypeHelper.requireNonNull(builder.path, this, "path"); - - } - - public static NestedSortValue of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code filter} - */ - @Nullable - public final Query filter() { - return this.filter; - } - - /** - * API name: {@code max_children} - */ - @Nullable - public final Integer maxChildren() { - return this.maxChildren; - } - - /** - * API name: {@code nested} - */ - @Nullable - public final NestedSortValue nested() { - return this.nested; - } - - /** - * Required - API name: {@code path} - */ - public final String path() { - return this.path; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.filter != null) { - generator.writeKey("filter"); - this.filter.serialize(generator, mapper); - - } - if (this.maxChildren != null) { - generator.writeKey("max_children"); - generator.write(this.maxChildren); - - } - if (this.nested != null) { - generator.writeKey("nested"); - this.nested.serialize(generator, mapper); - - } - generator.writeKey("path"); - generator.write(this.path); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link NestedSortValue}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Query filter; - - @Nullable - private Integer maxChildren; - - @Nullable - private NestedSortValue nested; - - private String path; - - /** - * API name: {@code filter} - */ - public final Builder filter(@Nullable Query value) { - this.filter = value; - return this; - } - - /** - * API name: {@code filter} - */ - public final Builder filter(Function> fn) { - return this.filter(fn.apply(new Query.Builder()).build()); - } - - /** - * API name: {@code max_children} - */ - public final Builder maxChildren(@Nullable Integer value) { - this.maxChildren = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(@Nullable NestedSortValue value) { - this.nested = value; - return this; - } - - /** - * API name: {@code nested} - */ - public final Builder nested(Function> fn) { - return this.nested(fn.apply(new NestedSortValue.Builder()).build()); - } - - /** - * Required - API name: {@code path} - */ - public final Builder path(String value) { - this.path = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link NestedSortValue}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public NestedSortValue build() { - _checkSingleUse(); - - return new NestedSortValue(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link NestedSortValue} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - NestedSortValue::setupNestedSortValueDeserializer); - - protected static void setupNestedSortValueDeserializer(ObjectDeserializer op) { - - op.add(Builder::filter, Query._DESERIALIZER, "filter"); - op.add(Builder::maxChildren, JsonpDeserializer.integerDeserializer(), "max_children"); - op.add(Builder::nested, NestedSortValue._DESERIALIZER, "nested"); - op.add(Builder::path, JsonpDeserializer.stringDeserializer(), "path"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Normalization.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Normalization.java deleted file mode 100644 index 9531b9b02..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Normalization.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum Normalization implements JsonEnum { - No("no"), - - H1("h1"), - - H2("h2"), - - H3("h3"), - - Z("z"), - - ; - - private final String jsonValue; - - Normalization(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - Normalization.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/OpType.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/OpType.java deleted file mode 100644 index 563769454..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/OpType.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API specification - */ -@JsonpDeserializable -public enum OpType implements JsonEnum { - /** - * Overwrite any documents that already exist. - */ - Index("index"), - - /** - * Only index documents that do not already exist. - */ - Create("create"), - - ; - - private final String jsonValue; - - OpType(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>(OpType.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilder.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilder.java deleted file mode 100644 index 808b04c57..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilder.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Object; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.QueryVectorBuilder - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class QueryVectorBuilder implements TaggedUnion, JsonpSerializable { - - /** - * {@link QueryVectorBuilder} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - TextEmbedding("text_embedding"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public QueryVectorBuilder(QueryVectorBuilderVariant value) { - - this._kind = ApiTypeHelper.requireNonNull(value._queryVectorBuilderKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); - - } - - private QueryVectorBuilder(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static QueryVectorBuilder of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code text_embedding}? - */ - public boolean isTextEmbedding() { - return _kind == Kind.TextEmbedding; - } - - /** - * Get the {@code text_embedding} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code text_embedding} kind. - */ - public TextEmbedding textEmbedding() { - return TaggedUnionUtils.get(this, Kind.TextEmbedding); - } - - @Override - @SuppressWarnings("unchecked") - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeStartObject(); - - generator.writeKey(_kind.jsonValue()); - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Kind _kind; - private Object _value; - - @Override - protected Builder self() { - return this; - } - public ObjectBuilder textEmbedding(TextEmbedding v) { - this._kind = Kind.TextEmbedding; - this._value = v; - return this; - } - - public ObjectBuilder textEmbedding( - Function> fn) { - return this.textEmbedding(fn.apply(new TextEmbedding.Builder()).build()); - } - - public QueryVectorBuilder build() { - _checkSingleUse(); - return new QueryVectorBuilder(this); - } - - } - - protected static void setupQueryVectorBuilderDeserializer(ObjectDeserializer op) { - - op.add(Builder::textEmbedding, TextEmbedding._DESERIALIZER, "text_embedding"); - - } - - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, QueryVectorBuilder::setupQueryVectorBuilderDeserializer, Builder::build); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderBuilders.java deleted file mode 100644 index 521debc0c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderBuilders.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link QueryVectorBuilder} variants. - */ -public class QueryVectorBuilderBuilders { - private QueryVectorBuilderBuilders() { - } - - /** - * Creates a builder for the {@link TextEmbedding text_embedding} - * {@code QueryVectorBuilder} variant. - */ - public static TextEmbedding.Builder textEmbedding() { - return new TextEmbedding.Builder(); - } - - /** - * Creates a QueryVectorBuilder of the {@link TextEmbedding text_embedding} - * {@code QueryVectorBuilder} variant. - */ - public static QueryVectorBuilder textEmbedding(Function> fn) { - QueryVectorBuilder.Builder builder = new QueryVectorBuilder.Builder(); - builder.textEmbedding(fn.apply(new TextEmbedding.Builder()).build()); - return builder.build(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderVariant.java deleted file mode 100644 index ac17ab51e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/QueryVectorBuilderVariant.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Base interface for {@link QueryVectorBuilder} variants. - */ -public interface QueryVectorBuilderVariant { - - QueryVectorBuilder.Kind _queryVectorBuilderKind(); - - default QueryVectorBuilder _toQueryVectorBuilder() { - return new QueryVectorBuilder(this); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java deleted file mode 100644 index a828554de..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.RRFRetriever - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class RRFRetriever extends RetrieverBase implements RetrieverVariant { - private final List retrievers; - - @Nullable - private final Integer rankConstant; - - @Nullable - private final Integer rankWindowSize; - - // --------------------------------------------------------------------------------------------- - - private RRFRetriever(Builder builder) { - super(builder); - - this.retrievers = ApiTypeHelper.unmodifiableRequired(builder.retrievers, this, "retrievers"); - this.rankConstant = builder.rankConstant; - this.rankWindowSize = builder.rankWindowSize; - - } - - public static RRFRetriever of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Retriever variant kind. - */ - @Override - public Retriever.Kind _retrieverKind() { - return Retriever.Kind.Rrf; - } - - /** - * Required - A list of child retrievers to specify which sets of returned top - * documents will have the RRF formula applied to them. - *

    - * API name: {@code retrievers} - */ - public final List retrievers() { - return this.retrievers; - } - - /** - * This value determines how much influence documents in individual result sets - * per query have over the final ranked result set. - *

    - * API name: {@code rank_constant} - */ - @Nullable - public final Integer rankConstant() { - return this.rankConstant; - } - - /** - * This value determines the size of the individual result sets per query. - *

    - * API name: {@code rank_window_size} - */ - @Nullable - public final Integer rankWindowSize() { - return this.rankWindowSize; - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - super.serializeInternal(generator, mapper); - if (ApiTypeHelper.isDefined(this.retrievers)) { - generator.writeKey("retrievers"); - generator.writeStartArray(); - for (Retriever item0 : this.retrievers) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.rankConstant != null) { - generator.writeKey("rank_constant"); - generator.write(this.rankConstant); - - } - if (this.rankWindowSize != null) { - generator.writeKey("rank_window_size"); - generator.write(this.rankWindowSize); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RRFRetriever}. - */ - - public static class Builder extends RetrieverBase.AbstractBuilder implements ObjectBuilder { - private List retrievers; - - @Nullable - private Integer rankConstant; - - @Nullable - private Integer rankWindowSize; - - /** - * Required - A list of child retrievers to specify which sets of returned top - * documents will have the RRF formula applied to them. - *

    - * API name: {@code retrievers} - *

    - * Adds all elements of list to retrievers. - */ - public final Builder retrievers(List list) { - this.retrievers = _listAddAll(this.retrievers, list); - return this; - } - - /** - * Required - A list of child retrievers to specify which sets of returned top - * documents will have the RRF formula applied to them. - *

    - * API name: {@code retrievers} - *

    - * Adds one or more values to retrievers. - */ - public final Builder retrievers(Retriever value, Retriever... values) { - this.retrievers = _listAdd(this.retrievers, value, values); - return this; - } - - /** - * Required - A list of child retrievers to specify which sets of returned top - * documents will have the RRF formula applied to them. - *

    - * API name: {@code retrievers} - *

    - * Adds a value to retrievers using a builder lambda. - */ - public final Builder retrievers(Function> fn) { - return retrievers(fn.apply(new Retriever.Builder()).build()); - } - - /** - * This value determines how much influence documents in individual result sets - * per query have over the final ranked result set. - *

    - * API name: {@code rank_constant} - */ - public final Builder rankConstant(@Nullable Integer value) { - this.rankConstant = value; - return this; - } - - /** - * This value determines the size of the individual result sets per query. - *

    - * API name: {@code rank_window_size} - */ - public final Builder rankWindowSize(@Nullable Integer value) { - this.rankWindowSize = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RRFRetriever}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RRFRetriever build() { - _checkSingleUse(); - - return new RRFRetriever(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RRFRetriever} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RRFRetriever::setupRRFRetrieverDeserializer); - - protected static void setupRRFRetrieverDeserializer(ObjectDeserializer op) { - RetrieverBase.setupRetrieverBaseDeserializer(op); - op.add(Builder::retrievers, JsonpDeserializer.arrayDeserializer(Retriever._DESERIALIZER), "retrievers"); - op.add(Builder::rankConstant, JsonpDeserializer.integerDeserializer(), "rank_constant"); - op.add(Builder::rankWindowSize, JsonpDeserializer.integerDeserializer(), "rank_window_size"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Refresh.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Refresh.java deleted file mode 100644 index 3543cfa5e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Refresh.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import jakarta.json.stream.JsonGenerator; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum Refresh implements JsonEnum { - True("true"), - - False("false"), - - WaitFor("wait_for"), - - ; - - private final String jsonValue; - - Refresh(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper params) { - if (this == Refresh.True) { - generator.write(true); - } else if (this == Refresh.False) { - generator.write(false); - } else { - generator.write(jsonValue()); - } - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer.AllowingBooleans<>( - Refresh.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RequestBase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RequestBase.java deleted file mode 100644 index 81ae1f3f7..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RequestBase.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.Map; -import java.util.Objects; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.RequestBase - -/** - * - * @see API - * specification - */ - -public abstract class RequestBase { - public RequestBase() { - } - - public abstract static class AbstractBuilder> - extends - WithJsonObjectBuilderBase { - protected abstract BuilderT self(); - - } - - @Override - public String toString() { - - StringBuilder sb = new StringBuilder(this.getClass().getSimpleName()).append(": "); - - try { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) this.getClass() - .getDeclaredField("_ENDPOINT").get(null); - - sb.append(endpoint.method(this)).append(" ").append(endpoint.requestUrl(this)); - - Map params = endpoint.queryParameters(this); - String delim = "?"; - for (Map.Entry param : params.entrySet()) { - sb.append(delim); - delim = "&"; - sb.append(param.getKey()).append("=").append(URLEncoder.encode(param.getValue(), "UTF-8")); - } - - } catch (NoSuchFieldException | IllegalAccessException e) { - // No endpoint, ignore - } catch (UnsupportedEncodingException e) { - // Should not happen (UTF-8 is builtin) - } - - if (this instanceof JsonpSerializable) { - sb.append(' '); - JsonpUtils.toString((JsonpSerializable) this, sb); - } - - return sb.toString(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Result.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Result.java deleted file mode 100644 index 04a2b6c32..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Result.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API specification - */ -@JsonpDeserializable -public enum Result implements JsonEnum { - Created("created"), - - Updated("updated"), - - Deleted("deleted"), - - NotFound("not_found"), - - NoOp("noop"), - - ; - - private final String jsonValue; - - Result(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>(Result.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retries.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retries.java deleted file mode 100644 index d81d2dc77..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retries.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.Retries - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Retries implements JsonpSerializable { - private final long bulk; - - private final long search; - - // --------------------------------------------------------------------------------------------- - - private Retries(Builder builder) { - - this.bulk = ApiTypeHelper.requireNonNull(builder.bulk, this, "bulk"); - this.search = ApiTypeHelper.requireNonNull(builder.search, this, "search"); - - } - - public static Retries of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code bulk} - */ - public final long bulk() { - return this.bulk; - } - - /** - * Required - API name: {@code search} - */ - public final long search() { - return this.search; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("bulk"); - generator.write(this.bulk); - - generator.writeKey("search"); - generator.write(this.search); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Retries}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Long bulk; - - private Long search; - - /** - * Required - API name: {@code bulk} - */ - public final Builder bulk(long value) { - this.bulk = value; - return this; - } - - /** - * Required - API name: {@code search} - */ - public final Builder search(long value) { - this.search = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Retries}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Retries build() { - _checkSingleUse(); - - return new Retries(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Retries} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Retries::setupRetriesDeserializer); - - protected static void setupRetriesDeserializer(ObjectDeserializer op) { - - op.add(Builder::bulk, JsonpDeserializer.longDeserializer(), "bulk"); - op.add(Builder::search, JsonpDeserializer.longDeserializer(), "search"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java deleted file mode 100644 index 478fdc197..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Object; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.RetrieverContainer - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Retriever implements TaggedUnion, JsonpSerializable { - - /** - * {@link Retriever} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - Standard("standard"), - - Knn("knn"), - - Rrf("rrf"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public Retriever(RetrieverVariant value) { - - this._kind = ApiTypeHelper.requireNonNull(value._retrieverKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); - - } - - private Retriever(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static Retriever of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code standard}? - */ - public boolean isStandard() { - return _kind == Kind.Standard; - } - - /** - * Get the {@code standard} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code standard} kind. - */ - public StandardRetriever standard() { - return TaggedUnionUtils.get(this, Kind.Standard); - } - - /** - * Is this variant instance of kind {@code knn}? - */ - public boolean isKnn() { - return _kind == Kind.Knn; - } - - /** - * Get the {@code knn} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code knn} kind. - */ - public KnnRetriever knn() { - return TaggedUnionUtils.get(this, Kind.Knn); - } - - /** - * Is this variant instance of kind {@code rrf}? - */ - public boolean isRrf() { - return _kind == Kind.Rrf; - } - - /** - * Get the {@code rrf} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code rrf} kind. - */ - public RRFRetriever rrf() { - return TaggedUnionUtils.get(this, Kind.Rrf); - } - - @Override - @SuppressWarnings("unchecked") - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeStartObject(); - - generator.writeKey(_kind.jsonValue()); - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - @Override - protected Builder self() { - return this; - } - public ObjectBuilder standard(StandardRetriever v) { - this._kind = Kind.Standard; - this._value = v; - return this; - } - - public ObjectBuilder standard( - Function> fn) { - return this.standard(fn.apply(new StandardRetriever.Builder()).build()); - } - - public ObjectBuilder knn(KnnRetriever v) { - this._kind = Kind.Knn; - this._value = v; - return this; - } - - public ObjectBuilder knn(Function> fn) { - return this.knn(fn.apply(new KnnRetriever.Builder()).build()); - } - - public ObjectBuilder rrf(RRFRetriever v) { - this._kind = Kind.Rrf; - this._value = v; - return this; - } - - public ObjectBuilder rrf(Function> fn) { - return this.rrf(fn.apply(new RRFRetriever.Builder()).build()); - } - - public Retriever build() { - _checkSingleUse(); - return new Retriever(this); - } - - } - - protected static void setupRetrieverDeserializer(ObjectDeserializer op) { - - op.add(Builder::standard, StandardRetriever._DESERIALIZER, "standard"); - op.add(Builder::knn, KnnRetriever._DESERIALIZER, "knn"); - op.add(Builder::rrf, RRFRetriever._DESERIALIZER, "rrf"); - - } - - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Retriever::setupRetrieverDeserializer, Builder::build); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java deleted file mode 100644 index 6ceefd82f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.RetrieverBase - -/** - * - * @see API - * specification - */ - -public abstract class RetrieverBase implements JsonpSerializable { - private final List filter; - - // --------------------------------------------------------------------------------------------- - - protected RetrieverBase(AbstractBuilder builder) { - - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - - } - - /** - * Query to filter the documents that can match. - *

    - * API name: {@code filter} - */ - public final List filter() { - return this.filter; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartArray(); - for (Query item0 : this.filter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public abstract static class AbstractBuilder> - extends - WithJsonObjectBuilderBase { - @Nullable - private List filter; - - /** - * Query to filter the documents that can match. - *

    - * API name: {@code filter} - *

    - * Adds all elements of list to filter. - */ - public final BuilderT filter(List list) { - this.filter = _listAddAll(this.filter, list); - return self(); - } - - /** - * Query to filter the documents that can match. - *

    - * API name: {@code filter} - *

    - * Adds one or more values to filter. - */ - public final BuilderT filter(Query value, Query... values) { - this.filter = _listAdd(this.filter, value, values); - return self(); - } - - /** - * Query to filter the documents that can match. - *

    - * API name: {@code filter} - *

    - * Adds a value to filter using a builder lambda. - */ - public final BuilderT filter(Function> fn) { - return filter(fn.apply(new Query.Builder()).build()); - } - - protected abstract BuilderT self(); - - } - - // --------------------------------------------------------------------------------------------- - protected static > void setupRetrieverBaseDeserializer( - ObjectDeserializer op) { - - op.add(AbstractBuilder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java deleted file mode 100644 index 5a3625e40..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBuilders.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link Retriever} variants. - */ -public class RetrieverBuilders { - private RetrieverBuilders() { - } - - /** - * Creates a builder for the {@link StandardRetriever standard} - * {@code Retriever} variant. - */ - public static StandardRetriever.Builder standard() { - return new StandardRetriever.Builder(); - } - - /** - * Creates a Retriever of the {@link StandardRetriever standard} - * {@code Retriever} variant. - */ - public static Retriever standard(Function> fn) { - Retriever.Builder builder = new Retriever.Builder(); - builder.standard(fn.apply(new StandardRetriever.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link KnnRetriever knn} {@code Retriever} variant. - */ - public static KnnRetriever.Builder knn() { - return new KnnRetriever.Builder(); - } - - /** - * Creates a Retriever of the {@link KnnRetriever knn} {@code Retriever} - * variant. - */ - public static Retriever knn(Function> fn) { - Retriever.Builder builder = new Retriever.Builder(); - builder.knn(fn.apply(new KnnRetriever.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link RRFRetriever rrf} {@code Retriever} variant. - */ - public static RRFRetriever.Builder rrf() { - return new RRFRetriever.Builder(); - } - - /** - * Creates a Retriever of the {@link RRFRetriever rrf} {@code Retriever} - * variant. - */ - public static Retriever rrf(Function> fn) { - Retriever.Builder builder = new Retriever.Builder(); - builder.rrf(fn.apply(new RRFRetriever.Builder()).build()); - return builder.build(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverVariant.java deleted file mode 100644 index d220f68c3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverVariant.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Base interface for {@link Retriever} variants. - */ -public interface RetrieverVariant { - - Retriever.Kind _retrieverKind(); - - default Retriever _toRetriever() { - return new Retriever(this); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScoreSort.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScoreSort.java deleted file mode 100644 index d5f8567b9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/ScoreSort.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.ScoreSort - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ScoreSort implements SortOptionsVariant, JsonpSerializable { - @Nullable - private final SortOrder order; - - // --------------------------------------------------------------------------------------------- - - private ScoreSort(Builder builder) { - - this.order = builder.order; - - } - - public static ScoreSort of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SortOptions variant kind. - */ - @Override - public SortOptions.Kind _sortOptionsKind() { - return SortOptions.Kind.Doc; - } - - /** - * API name: {@code order} - */ - @Nullable - public final SortOrder order() { - return this.order; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.order != null) { - generator.writeKey("order"); - this.order.serialize(generator, mapper); - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ScoreSort}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private SortOrder order; - - /** - * API name: {@code order} - */ - public final Builder order(@Nullable SortOrder value) { - this.order = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ScoreSort}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ScoreSort build() { - _checkSingleUse(); - - return new ScoreSort(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ScoreSort} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ScoreSort::setupScoreSortDeserializer); - - protected static void setupScoreSortDeserializer(ObjectDeserializer op) { - - op.add(Builder::order, SortOrder._DESERIALIZER, "order"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Script.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Script.java deleted file mode 100644 index 8bd09962b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/_types/Script.java +++ /dev/null @@ -1,352 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch._types; - -import co.elastic.clients.elasticsearch._types.query_dsl.IntervalsFilter; -import co.elastic.clients.elasticsearch._types.query_dsl.IntervalsFilterVariant; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: _types.Script - -/** - * - * @see API specification - */ -@JsonpDeserializable -public class Script implements IntervalsFilterVariant, JsonpSerializable { - @Nullable - private final String source; - - @Nullable - private final String id; - - private final Map params; - - @Nullable - private final String lang; - - private final Map options; - - // --------------------------------------------------------------------------------------------- - - private Script(Builder builder) { - - this.source = builder.source; - this.id = builder.id; - this.params = ApiTypeHelper.unmodifiable(builder.params); - this.lang = builder.lang; - this.options = ApiTypeHelper.unmodifiable(builder.options); - - } - - public static Script of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * IntervalsFilter variant kind. - */ - @Override - public IntervalsFilter.Kind _intervalsFilterKind() { - return IntervalsFilter.Kind.Script; - } - - /** - * The script source. - *

    - * API name: {@code source} - */ - @Nullable - public final String source() { - return this.source; - } - - /** - * The id for a stored script. - *

    - * API name: {@code id} - */ - @Nullable - public final String id() { - return this.id; - } - - /** - * Specifies any named parameters that are passed into the script as variables. - * Use parameters instead of hard-coded values to decrease compile time. - *

    - * API name: {@code params} - */ - public final Map params() { - return this.params; - } - - /** - * Specifies the language the script is written in. - *

    - * API name: {@code lang} - */ - @Nullable - public final String lang() { - return this.lang; - } - - /** - * API name: {@code options} - */ - public final Map options() { - return this.options; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.source != null) { - generator.writeKey("source"); - generator.write(this.source); - - } - if (this.id != null) { - generator.writeKey("id"); - generator.write(this.id); - - } - if (ApiTypeHelper.isDefined(this.params)) { - generator.writeKey("params"); - generator.writeStartObject(); - for (Map.Entry item0 : this.params.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.lang != null) { - generator.writeKey("lang"); - generator.write(this.lang); - - } - if (ApiTypeHelper.isDefined(this.options)) { - generator.writeKey("options"); - generator.writeStartObject(); - for (Map.Entry item0 : this.options.entrySet()) { - generator.writeKey(item0.getKey()); - generator.write(item0.getValue()); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Script}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder - - - Please see the Elasticsearch API specification. - - diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyRequest.java deleted file mode 100644 index 28832bdab..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyRequest.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.delete_policy.Request - -/** - * Delete an enrich policy. Deletes an existing enrich policy and its enrich - * index. - * - * @see API - * specification - */ - -public class DeletePolicyRequest extends RequestBase { - private final String name; - - // --------------------------------------------------------------------------------------------- - - private DeletePolicyRequest(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - - } - - public static DeletePolicyRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Enrich policy to delete. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeletePolicyRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private String name; - - /** - * Required - Enrich policy to delete. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeletePolicyRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeletePolicyRequest build() { - _checkSingleUse(); - - return new DeletePolicyRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code enrich.delete_policy}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/enrich.delete_policy", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_enrich"); - buf.append("/policy"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), false, DeletePolicyResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyResponse.java deleted file mode 100644 index 0f6dd91bd..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/DeletePolicyResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.delete_policy.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeletePolicyResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeletePolicyResponse(Builder builder) { - super(builder); - - } - - public static DeletePolicyResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeletePolicyResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeletePolicyResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeletePolicyResponse build() { - _checkSingleUse(); - - return new DeletePolicyResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeletePolicyResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeletePolicyResponse::setupDeletePolicyResponseDeserializer); - - protected static void setupDeletePolicyResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java deleted file mode 100644 index c624e1a58..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichAsyncClient.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.util.ObjectBuilder; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the enrich namespace. - */ -public class ElasticsearchEnrichAsyncClient extends ApiClient { - - public ElasticsearchEnrichAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEnrichAsyncClient(ElasticsearchTransport transport, - @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEnrichAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEnrichAsyncClient(this.transport, transportOptions); - } - - // ----- Endpoint: enrich.delete_policy - - /** - * Delete an enrich policy. Deletes an existing enrich policy and its enrich - * index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deletePolicy(DeletePolicyRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeletePolicyRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete an enrich policy. Deletes an existing enrich policy and its enrich - * index. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeletePolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deletePolicy( - Function> fn) { - return deletePolicy(fn.apply(new DeletePolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.execute_policy - - /** - * Creates the enrich index for an existing enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture executePolicy(ExecutePolicyRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExecutePolicyRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Creates the enrich index for an existing enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExecutePolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture executePolicy( - Function> fn) { - return executePolicy(fn.apply(new ExecutePolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.get_policy - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getPolicy(GetPolicyRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetPolicyRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetPolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getPolicy( - Function> fn) { - return getPolicy(fn.apply(new GetPolicyRequest.Builder()).build()); - } - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getPolicy() { - return this.transport.performRequestAsync(new GetPolicyRequest.Builder().build(), GetPolicyRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: enrich.put_policy - - /** - * Create an enrich policy. Creates an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putPolicy(PutPolicyRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutPolicyRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create an enrich policy. Creates an enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutPolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putPolicy( - Function> fn) { - return putPolicy(fn.apply(new PutPolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.stats - - /** - * Get enrich stats. Returns enrich coordinator statistics and information about - * enrich policies that are currently executing. - * - * @see Documentation - * on elastic.co - */ - public CompletableFuture stats() { - return this.transport.performRequestAsync(EnrichStatsRequest._INSTANCE, EnrichStatsRequest._ENDPOINT, - this.transportOptions); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java deleted file mode 100644 index 3201966b0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ElasticsearchEnrichClient.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the enrich namespace. - */ -public class ElasticsearchEnrichClient extends ApiClient { - - public ElasticsearchEnrichClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEnrichClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEnrichClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEnrichClient(this.transport, transportOptions); - } - - // ----- Endpoint: enrich.delete_policy - - /** - * Delete an enrich policy. Deletes an existing enrich policy and its enrich - * index. - * - * @see Documentation - * on elastic.co - */ - - public DeletePolicyResponse deletePolicy(DeletePolicyRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeletePolicyRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete an enrich policy. Deletes an existing enrich policy and its enrich - * index. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeletePolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final DeletePolicyResponse deletePolicy( - Function> fn) - throws IOException, ElasticsearchException { - return deletePolicy(fn.apply(new DeletePolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.execute_policy - - /** - * Creates the enrich index for an existing enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public ExecutePolicyResponse executePolicy(ExecutePolicyRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExecutePolicyRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Creates the enrich index for an existing enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExecutePolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final ExecutePolicyResponse executePolicy( - Function> fn) - throws IOException, ElasticsearchException { - return executePolicy(fn.apply(new ExecutePolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.get_policy - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public GetPolicyResponse getPolicy(GetPolicyRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetPolicyRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetPolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final GetPolicyResponse getPolicy(Function> fn) - throws IOException, ElasticsearchException { - return getPolicy(fn.apply(new GetPolicyRequest.Builder()).build()); - } - - /** - * Get an enrich policy. Returns information about an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public GetPolicyResponse getPolicy() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetPolicyRequest.Builder().build(), GetPolicyRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: enrich.put_policy - - /** - * Create an enrich policy. Creates an enrich policy. - * - * @see Documentation - * on elastic.co - */ - - public PutPolicyResponse putPolicy(PutPolicyRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutPolicyRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create an enrich policy. Creates an enrich policy. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutPolicyRequest} - * @see Documentation - * on elastic.co - */ - - public final PutPolicyResponse putPolicy(Function> fn) - throws IOException, ElasticsearchException { - return putPolicy(fn.apply(new PutPolicyRequest.Builder()).build()); - } - - // ----- Endpoint: enrich.stats - - /** - * Get enrich stats. Returns enrich coordinator statistics and information about - * enrich policies that are currently executing. - * - * @see Documentation - * on elastic.co - */ - public EnrichStatsResponse stats() throws IOException, ElasticsearchException { - return this.transport.performRequest(EnrichStatsRequest._INSTANCE, EnrichStatsRequest._ENDPOINT, - this.transportOptions); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java deleted file mode 100644 index 9030036ee..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java +++ /dev/null @@ -1,338 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich._types.Policy - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EnrichPolicy implements JsonpSerializable { - private final List enrichFields; - - private final List indices; - - private final String matchField; - - @Nullable - private final Query query; - - @Nullable - private final String name; - - @Nullable - private final String elasticsearchVersion; - - // --------------------------------------------------------------------------------------------- - - private EnrichPolicy(Builder builder) { - - this.enrichFields = ApiTypeHelper.unmodifiableRequired(builder.enrichFields, this, "enrichFields"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - this.matchField = ApiTypeHelper.requireNonNull(builder.matchField, this, "matchField"); - this.query = builder.query; - this.name = builder.name; - this.elasticsearchVersion = builder.elasticsearchVersion; - - } - - public static EnrichPolicy of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code enrich_fields} - */ - public final List enrichFields() { - return this.enrichFields; - } - - /** - * Required - API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Required - API name: {@code match_field} - */ - public final String matchField() { - return this.matchField; - } - - /** - * API name: {@code query} - */ - @Nullable - public final Query query() { - return this.query; - } - - /** - * API name: {@code name} - */ - @Nullable - public final String name() { - return this.name; - } - - /** - * API name: {@code elasticsearch_version} - */ - @Nullable - public final String elasticsearchVersion() { - return this.elasticsearchVersion; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.enrichFields)) { - generator.writeKey("enrich_fields"); - generator.writeStartArray(); - for (String item0 : this.enrichFields) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (String item0 : this.indices) { - generator.write(item0); - - } - generator.writeEnd(); - - } - generator.writeKey("match_field"); - generator.write(this.matchField); - - if (this.query != null) { - generator.writeKey("query"); - this.query.serialize(generator, mapper); - - } - if (this.name != null) { - generator.writeKey("name"); - generator.write(this.name); - - } - if (this.elasticsearchVersion != null) { - generator.writeKey("elasticsearch_version"); - generator.write(this.elasticsearchVersion); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EnrichPolicy}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List enrichFields; - - private List indices; - - private String matchField; - - @Nullable - private Query query; - - @Nullable - private String name; - - @Nullable - private String elasticsearchVersion; - - /** - * Required - API name: {@code enrich_fields} - *

    - * Adds all elements of list to enrichFields. - */ - public final Builder enrichFields(List list) { - this.enrichFields = _listAddAll(this.enrichFields, list); - return this; - } - - /** - * Required - API name: {@code enrich_fields} - *

    - * Adds one or more values to enrichFields. - */ - public final Builder enrichFields(String value, String... values) { - this.enrichFields = _listAdd(this.enrichFields, value, values); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(String value, String... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - /** - * Required - API name: {@code match_field} - */ - public final Builder matchField(String value) { - this.matchField = value; - return this; - } - - /** - * API name: {@code query} - */ - public final Builder query(@Nullable Query value) { - this.query = value; - return this; - } - - /** - * API name: {@code query} - */ - public final Builder query(Function> fn) { - return this.query(fn.apply(new Query.Builder()).build()); - } - - /** - * API name: {@code name} - */ - public final Builder name(@Nullable String value) { - this.name = value; - return this; - } - - /** - * API name: {@code elasticsearch_version} - */ - public final Builder elasticsearchVersion(@Nullable String value) { - this.elasticsearchVersion = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EnrichPolicy}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EnrichPolicy build() { - _checkSingleUse(); - - return new EnrichPolicy(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link EnrichPolicy} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - EnrichPolicy::setupEnrichPolicyDeserializer); - - protected static void setupEnrichPolicyDeserializer(ObjectDeserializer op) { - - op.add(Builder::enrichFields, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "enrich_fields"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "indices"); - op.add(Builder::matchField, JsonpDeserializer.stringDeserializer(), "match_field"); - op.add(Builder::query, Query._DESERIALIZER, "query"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::elasticsearchVersion, JsonpDeserializer.stringDeserializer(), "elasticsearch_version"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicyType.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicyType.java deleted file mode 100644 index 65510d96c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicyType.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum EnrichPolicyType implements JsonEnum { - GeoMatch("geo_match"), - - Match("match"), - - Range("range"), - - ; - - private final String jsonValue; - - EnrichPolicyType(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - EnrichPolicyType.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsRequest.java deleted file mode 100644 index 4415912ef..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsRequest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Collections; -import java.util.Objects; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.stats.Request - -/** - * Get enrich stats. Returns enrich coordinator statistics and information about - * enrich policies that are currently executing. - * - * @see API - * specification - */ - -public class EnrichStatsRequest extends RequestBase { - public EnrichStatsRequest() { - } - - /** - * Singleton instance for {@link EnrichStatsRequest}. - */ - public static final EnrichStatsRequest _INSTANCE = new EnrichStatsRequest(); - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code enrich.stats}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/enrich.stats", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - return "/_enrich/_stats"; - - }, - - // Path parameters - request -> { - return Collections.emptyMap(); - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), false, EnrichStatsResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsResponse.java deleted file mode 100644 index 5bb010144..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichStatsResponse.java +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch.enrich.stats.CacheStats; -import co.elastic.clients.elasticsearch.enrich.stats.CoordinatorStats; -import co.elastic.clients.elasticsearch.enrich.stats.ExecutingPolicy; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.stats.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EnrichStatsResponse implements JsonpSerializable { - private final List coordinatorStats; - - private final List executingPolicies; - - private final List cacheStats; - - // --------------------------------------------------------------------------------------------- - - private EnrichStatsResponse(Builder builder) { - - this.coordinatorStats = ApiTypeHelper.unmodifiableRequired(builder.coordinatorStats, this, "coordinatorStats"); - this.executingPolicies = ApiTypeHelper.unmodifiableRequired(builder.executingPolicies, this, - "executingPolicies"); - this.cacheStats = ApiTypeHelper.unmodifiable(builder.cacheStats); - - } - - public static EnrichStatsResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Objects containing information about each coordinating ingest node - * for configured enrich processors. - *

    - * API name: {@code coordinator_stats} - */ - public final List coordinatorStats() { - return this.coordinatorStats; - } - - /** - * Required - Objects containing information about each enrich policy that is - * currently executing. - *

    - * API name: {@code executing_policies} - */ - public final List executingPolicies() { - return this.executingPolicies; - } - - /** - * Objects containing information about the enrich cache stats on each ingest - * node. - *

    - * API name: {@code cache_stats} - */ - public final List cacheStats() { - return this.cacheStats; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.coordinatorStats)) { - generator.writeKey("coordinator_stats"); - generator.writeStartArray(); - for (CoordinatorStats item0 : this.coordinatorStats) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.executingPolicies)) { - generator.writeKey("executing_policies"); - generator.writeStartArray(); - for (ExecutingPolicy item0 : this.executingPolicies) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.cacheStats)) { - generator.writeKey("cache_stats"); - generator.writeStartArray(); - for (CacheStats item0 : this.cacheStats) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EnrichStatsResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List coordinatorStats; - - private List executingPolicies; - - @Nullable - private List cacheStats; - - /** - * Required - Objects containing information about each coordinating ingest node - * for configured enrich processors. - *

    - * API name: {@code coordinator_stats} - *

    - * Adds all elements of list to coordinatorStats. - */ - public final Builder coordinatorStats(List list) { - this.coordinatorStats = _listAddAll(this.coordinatorStats, list); - return this; - } - - /** - * Required - Objects containing information about each coordinating ingest node - * for configured enrich processors. - *

    - * API name: {@code coordinator_stats} - *

    - * Adds one or more values to coordinatorStats. - */ - public final Builder coordinatorStats(CoordinatorStats value, CoordinatorStats... values) { - this.coordinatorStats = _listAdd(this.coordinatorStats, value, values); - return this; - } - - /** - * Required - Objects containing information about each coordinating ingest node - * for configured enrich processors. - *

    - * API name: {@code coordinator_stats} - *

    - * Adds a value to coordinatorStats using a builder lambda. - */ - public final Builder coordinatorStats(Function> fn) { - return coordinatorStats(fn.apply(new CoordinatorStats.Builder()).build()); - } - - /** - * Required - Objects containing information about each enrich policy that is - * currently executing. - *

    - * API name: {@code executing_policies} - *

    - * Adds all elements of list to executingPolicies. - */ - public final Builder executingPolicies(List list) { - this.executingPolicies = _listAddAll(this.executingPolicies, list); - return this; - } - - /** - * Required - Objects containing information about each enrich policy that is - * currently executing. - *

    - * API name: {@code executing_policies} - *

    - * Adds one or more values to executingPolicies. - */ - public final Builder executingPolicies(ExecutingPolicy value, ExecutingPolicy... values) { - this.executingPolicies = _listAdd(this.executingPolicies, value, values); - return this; - } - - /** - * Required - Objects containing information about each enrich policy that is - * currently executing. - *

    - * API name: {@code executing_policies} - *

    - * Adds a value to executingPolicies using a builder lambda. - */ - public final Builder executingPolicies(Function> fn) { - return executingPolicies(fn.apply(new ExecutingPolicy.Builder()).build()); - } - - /** - * Objects containing information about the enrich cache stats on each ingest - * node. - *

    - * API name: {@code cache_stats} - *

    - * Adds all elements of list to cacheStats. - */ - public final Builder cacheStats(List list) { - this.cacheStats = _listAddAll(this.cacheStats, list); - return this; - } - - /** - * Objects containing information about the enrich cache stats on each ingest - * node. - *

    - * API name: {@code cache_stats} - *

    - * Adds one or more values to cacheStats. - */ - public final Builder cacheStats(CacheStats value, CacheStats... values) { - this.cacheStats = _listAdd(this.cacheStats, value, values); - return this; - } - - /** - * Objects containing information about the enrich cache stats on each ingest - * node. - *

    - * API name: {@code cache_stats} - *

    - * Adds a value to cacheStats using a builder lambda. - */ - public final Builder cacheStats(Function> fn) { - return cacheStats(fn.apply(new CacheStats.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EnrichStatsResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EnrichStatsResponse build() { - _checkSingleUse(); - - return new EnrichStatsResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link EnrichStatsResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, EnrichStatsResponse::setupEnrichStatsResponseDeserializer); - - protected static void setupEnrichStatsResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::coordinatorStats, JsonpDeserializer.arrayDeserializer(CoordinatorStats._DESERIALIZER), - "coordinator_stats"); - op.add(Builder::executingPolicies, JsonpDeserializer.arrayDeserializer(ExecutingPolicy._DESERIALIZER), - "executing_policies"); - op.add(Builder::cacheStats, JsonpDeserializer.arrayDeserializer(CacheStats._DESERIALIZER), "cache_stats"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichSummary.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichSummary.java deleted file mode 100644 index d87db06e6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichSummary.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.Pair; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich._types.Summary - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EnrichSummary implements JsonpSerializable { - private final Pair config; - - // --------------------------------------------------------------------------------------------- - - private EnrichSummary(Builder builder) { - - this.config = ApiTypeHelper.requireNonNull(builder.config, this, "config"); - - } - - public static EnrichSummary of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code config} - */ - public final Pair config() { - return this.config; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("config"); - generator.writeStartObject(); - generator.writeKey(this.config.key().jsonValue()); - this.config.value().serialize(generator, mapper); - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EnrichSummary}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Pair config; - - /** - * Required - API name: {@code config} - */ - public final Builder config(Pair value) { - this.config = value; - return this; - } - - /** - * Required - API name: {@code config} - */ - public Builder config(EnrichPolicyType key, EnrichPolicy value) { - this.config = new Pair(key, value); - return this; - } - - /** - * Required - API name: {@code config} - */ - public Builder config(EnrichPolicyType key, Function> fn) { - return this.config(key, fn.apply(new EnrichPolicy.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EnrichSummary}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EnrichSummary build() { - _checkSingleUse(); - - return new EnrichSummary(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link EnrichSummary} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - EnrichSummary::setupEnrichSummaryDeserializer); - - protected static void setupEnrichSummaryDeserializer(ObjectDeserializer op) { - - op.add(Builder::config, - Pair.deserializer((k) -> EnrichPolicyType._DESERIALIZER.parse(k), EnrichPolicy._DESERIALIZER), - "config"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java deleted file mode 100644 index 1623ad63c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyRequest.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.execute_policy.Request - -/** - * Creates the enrich index for an existing enrich policy. - * - * @see API - * specification - */ - -public class ExecutePolicyRequest extends RequestBase { - private final String name; - - @Nullable - private final Boolean waitForCompletion; - - // --------------------------------------------------------------------------------------------- - - private ExecutePolicyRequest(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.waitForCompletion = builder.waitForCompletion; - - } - - public static ExecutePolicyRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Enrich policy to execute. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * If true, the request blocks other enrich policy execution - * requests until complete. - *

    - * API name: {@code wait_for_completion} - */ - @Nullable - public final Boolean waitForCompletion() { - return this.waitForCompletion; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExecutePolicyRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private String name; - - @Nullable - private Boolean waitForCompletion; - - /** - * Required - Enrich policy to execute. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * If true, the request blocks other enrich policy execution - * requests until complete. - *

    - * API name: {@code wait_for_completion} - */ - public final Builder waitForCompletion(@Nullable Boolean value) { - this.waitForCompletion = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExecutePolicyRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExecutePolicyRequest build() { - _checkSingleUse(); - - return new ExecutePolicyRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code enrich.execute_policy}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/enrich.execute_policy", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_enrich"); - buf.append("/policy"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - buf.append("/_execute"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.waitForCompletion != null) { - params.put("wait_for_completion", String.valueOf(request.waitForCompletion)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, ExecutePolicyResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java deleted file mode 100644 index f489217df..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch.enrich.execute_policy.ExecuteEnrichPolicyStatus; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.execute_policy.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExecutePolicyResponse implements JsonpSerializable { - @Nullable - private final ExecuteEnrichPolicyStatus status; - - @Nullable - private final String taskId; - - // --------------------------------------------------------------------------------------------- - - private ExecutePolicyResponse(Builder builder) { - - this.status = builder.status; - this.taskId = builder.taskId; - - } - - public static ExecutePolicyResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code status} - */ - @Nullable - public final ExecuteEnrichPolicyStatus status() { - return this.status; - } - - /** - * API name: {@code task_id} - */ - @Nullable - public final String taskId() { - return this.taskId; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.status != null) { - generator.writeKey("status"); - this.status.serialize(generator, mapper); - - } - if (this.taskId != null) { - generator.writeKey("task_id"); - generator.write(this.taskId); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExecutePolicyResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private ExecuteEnrichPolicyStatus status; - - @Nullable - private String taskId; - - /** - * API name: {@code status} - */ - public final Builder status(@Nullable ExecuteEnrichPolicyStatus value) { - this.status = value; - return this; - } - - /** - * API name: {@code status} - */ - public final Builder status( - Function> fn) { - return this.status(fn.apply(new ExecuteEnrichPolicyStatus.Builder()).build()); - } - - /** - * API name: {@code task_id} - */ - public final Builder taskId(@Nullable String value) { - this.taskId = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExecutePolicyResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExecutePolicyResponse build() { - _checkSingleUse(); - - return new ExecutePolicyResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExecutePolicyResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ExecutePolicyResponse::setupExecutePolicyResponseDeserializer); - - protected static void setupExecutePolicyResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::status, ExecuteEnrichPolicyStatus._DESERIALIZER, "status"); - op.add(Builder::taskId, JsonpDeserializer.stringDeserializer(), "task_id"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyRequest.java deleted file mode 100644 index c7f0bc30a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyRequest.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.get_policy.Request - -/** - * Get an enrich policy. Returns information about an enrich policy. - * - * @see API - * specification - */ - -public class GetPolicyRequest extends RequestBase { - private final List name; - - // --------------------------------------------------------------------------------------------- - - private GetPolicyRequest(Builder builder) { - - this.name = ApiTypeHelper.unmodifiable(builder.name); - - } - - public static GetPolicyRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Comma-separated list of enrich policy names used to limit the request. To - * return information for all enrich policies, omit this parameter. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetPolicyRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List name; - - /** - * Comma-separated list of enrich policy names used to limit the request. To - * return information for all enrich policies, omit this parameter. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Comma-separated list of enrich policy names used to limit the request. To - * return information for all enrich policies, omit this parameter. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetPolicyRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetPolicyRequest build() { - _checkSingleUse(); - - return new GetPolicyRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code enrich.get_policy}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/enrich.get_policy", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_enrich"); - buf.append("/policy"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_enrich"); - buf.append("/policy"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == 0) { - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), false, GetPolicyResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyResponse.java deleted file mode 100644 index 1f87d2cc0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/GetPolicyResponse.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.get_policy.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetPolicyResponse implements JsonpSerializable { - private final List policies; - - // --------------------------------------------------------------------------------------------- - - private GetPolicyResponse(Builder builder) { - - this.policies = ApiTypeHelper.unmodifiableRequired(builder.policies, this, "policies"); - - } - - public static GetPolicyResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code policies} - */ - public final List policies() { - return this.policies; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.policies)) { - generator.writeKey("policies"); - generator.writeStartArray(); - for (EnrichSummary item0 : this.policies) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetPolicyResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List policies; - - /** - * Required - API name: {@code policies} - *

    - * Adds all elements of list to policies. - */ - public final Builder policies(List list) { - this.policies = _listAddAll(this.policies, list); - return this; - } - - /** - * Required - API name: {@code policies} - *

    - * Adds one or more values to policies. - */ - public final Builder policies(EnrichSummary value, EnrichSummary... values) { - this.policies = _listAdd(this.policies, value, values); - return this; - } - - /** - * Required - API name: {@code policies} - *

    - * Adds a value to policies using a builder lambda. - */ - public final Builder policies(Function> fn) { - return policies(fn.apply(new EnrichSummary.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetPolicyResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetPolicyResponse build() { - _checkSingleUse(); - - return new GetPolicyResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GetPolicyResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, GetPolicyResponse::setupGetPolicyResponseDeserializer); - - protected static void setupGetPolicyResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::policies, JsonpDeserializer.arrayDeserializer(EnrichSummary._DESERIALIZER), "policies"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyRequest.java deleted file mode 100644 index c7382272b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyRequest.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.put_policy.Request - -/** - * Create an enrich policy. Creates an enrich policy. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutPolicyRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final EnrichPolicy geoMatch; - - @Nullable - private final EnrichPolicy match; - - private final String name; - - @Nullable - private final EnrichPolicy range; - - // --------------------------------------------------------------------------------------------- - - private PutPolicyRequest(Builder builder) { - - this.geoMatch = builder.geoMatch; - this.match = builder.match; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.range = builder.range; - - } - - public static PutPolicyRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Matches enrich data to incoming documents based on a geo_shape - * query. - *

    - * API name: {@code geo_match} - */ - @Nullable - public final EnrichPolicy geoMatch() { - return this.geoMatch; - } - - /** - * Matches enrich data to incoming documents based on a term query. - *

    - * API name: {@code match} - */ - @Nullable - public final EnrichPolicy match() { - return this.match; - } - - /** - * Required - Name of the enrich policy to create or update. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Matches a number, date, or IP address in incoming documents to a range in the - * enrich index based on a term query. - *

    - * API name: {@code range} - */ - @Nullable - public final EnrichPolicy range() { - return this.range; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.geoMatch != null) { - generator.writeKey("geo_match"); - this.geoMatch.serialize(generator, mapper); - - } - if (this.match != null) { - generator.writeKey("match"); - this.match.serialize(generator, mapper); - - } - if (this.range != null) { - generator.writeKey("range"); - this.range.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutPolicyRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private EnrichPolicy geoMatch; - - @Nullable - private EnrichPolicy match; - - private String name; - - @Nullable - private EnrichPolicy range; - - /** - * Matches enrich data to incoming documents based on a geo_shape - * query. - *

    - * API name: {@code geo_match} - */ - public final Builder geoMatch(@Nullable EnrichPolicy value) { - this.geoMatch = value; - return this; - } - - /** - * Matches enrich data to incoming documents based on a geo_shape - * query. - *

    - * API name: {@code geo_match} - */ - public final Builder geoMatch(Function> fn) { - return this.geoMatch(fn.apply(new EnrichPolicy.Builder()).build()); - } - - /** - * Matches enrich data to incoming documents based on a term query. - *

    - * API name: {@code match} - */ - public final Builder match(@Nullable EnrichPolicy value) { - this.match = value; - return this; - } - - /** - * Matches enrich data to incoming documents based on a term query. - *

    - * API name: {@code match} - */ - public final Builder match(Function> fn) { - return this.match(fn.apply(new EnrichPolicy.Builder()).build()); - } - - /** - * Required - Name of the enrich policy to create or update. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Matches a number, date, or IP address in incoming documents to a range in the - * enrich index based on a term query. - *

    - * API name: {@code range} - */ - public final Builder range(@Nullable EnrichPolicy value) { - this.range = value; - return this; - } - - /** - * Matches a number, date, or IP address in incoming documents to a range in the - * enrich index based on a term query. - *

    - * API name: {@code range} - */ - public final Builder range(Function> fn) { - return this.range(fn.apply(new EnrichPolicy.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutPolicyRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutPolicyRequest build() { - _checkSingleUse(); - - return new PutPolicyRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutPolicyRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - PutPolicyRequest::setupPutPolicyRequestDeserializer); - - protected static void setupPutPolicyRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::geoMatch, EnrichPolicy._DESERIALIZER, "geo_match"); - op.add(Builder::match, EnrichPolicy._DESERIALIZER, "match"); - op.add(Builder::range, EnrichPolicy._DESERIALIZER, "range"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code enrich.put_policy}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/enrich.put_policy", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_enrich"); - buf.append("/policy"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), true, PutPolicyResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyResponse.java deleted file mode 100644 index dc1f57db4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/PutPolicyResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.put_policy.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutPolicyResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutPolicyResponse(Builder builder) { - super(builder); - - } - - public static PutPolicyResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutPolicyResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutPolicyResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutPolicyResponse build() { - _checkSingleUse(); - - return new PutPolicyResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutPolicyResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutPolicyResponse::setupPutPolicyResponseDeserializer); - - protected static void setupPutPolicyResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java deleted file mode 100644 index afe15042b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich.execute_policy; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum EnrichPolicyPhase implements JsonEnum { - Scheduled("SCHEDULED"), - - Running("RUNNING"), - - Complete("COMPLETE"), - - Failed("FAILED"), - - ; - - private final String jsonValue; - - EnrichPolicyPhase(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - EnrichPolicyPhase.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java deleted file mode 100644 index 189a538f6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich.execute_policy; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.execute_policy.ExecuteEnrichPolicyStatus - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExecuteEnrichPolicyStatus implements JsonpSerializable { - private final EnrichPolicyPhase phase; - - // --------------------------------------------------------------------------------------------- - - private ExecuteEnrichPolicyStatus(Builder builder) { - - this.phase = ApiTypeHelper.requireNonNull(builder.phase, this, "phase"); - - } - - public static ExecuteEnrichPolicyStatus of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code phase} - */ - public final EnrichPolicyPhase phase() { - return this.phase; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("phase"); - this.phase.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExecuteEnrichPolicyStatus}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private EnrichPolicyPhase phase; - - /** - * Required - API name: {@code phase} - */ - public final Builder phase(EnrichPolicyPhase value) { - this.phase = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExecuteEnrichPolicyStatus}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExecuteEnrichPolicyStatus build() { - _checkSingleUse(); - - return new ExecuteEnrichPolicyStatus(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExecuteEnrichPolicyStatus} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ExecuteEnrichPolicyStatus::setupExecuteEnrichPolicyStatusDeserializer); - - protected static void setupExecuteEnrichPolicyStatusDeserializer( - ObjectDeserializer op) { - - op.add(Builder::phase, EnrichPolicyPhase._DESERIALIZER, "phase"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java deleted file mode 100644 index 37723bd0e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CacheStats.java +++ /dev/null @@ -1,323 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich.stats; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.stats.CacheStats - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CacheStats implements JsonpSerializable { - private final String nodeId; - - private final int count; - - private final int hits; - - private final long hitsTimeInMillis; - - private final int misses; - - private final long missesTimeInMillis; - - private final int evictions; - - private final long sizeInBytes; - - // --------------------------------------------------------------------------------------------- - - private CacheStats(Builder builder) { - - this.nodeId = ApiTypeHelper.requireNonNull(builder.nodeId, this, "nodeId"); - this.count = ApiTypeHelper.requireNonNull(builder.count, this, "count"); - this.hits = ApiTypeHelper.requireNonNull(builder.hits, this, "hits"); - this.hitsTimeInMillis = ApiTypeHelper.requireNonNull(builder.hitsTimeInMillis, this, "hitsTimeInMillis"); - this.misses = ApiTypeHelper.requireNonNull(builder.misses, this, "misses"); - this.missesTimeInMillis = ApiTypeHelper.requireNonNull(builder.missesTimeInMillis, this, "missesTimeInMillis"); - this.evictions = ApiTypeHelper.requireNonNull(builder.evictions, this, "evictions"); - this.sizeInBytes = ApiTypeHelper.requireNonNull(builder.sizeInBytes, this, "sizeInBytes"); - - } - - public static CacheStats of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code node_id} - */ - public final String nodeId() { - return this.nodeId; - } - - /** - * Required - API name: {@code count} - */ - public final int count() { - return this.count; - } - - /** - * Required - API name: {@code hits} - */ - public final int hits() { - return this.hits; - } - - /** - * Required - API name: {@code hits_time_in_millis} - */ - public final long hitsTimeInMillis() { - return this.hitsTimeInMillis; - } - - /** - * Required - API name: {@code misses} - */ - public final int misses() { - return this.misses; - } - - /** - * Required - API name: {@code misses_time_in_millis} - */ - public final long missesTimeInMillis() { - return this.missesTimeInMillis; - } - - /** - * Required - API name: {@code evictions} - */ - public final int evictions() { - return this.evictions; - } - - /** - * Required - API name: {@code size_in_bytes} - */ - public final long sizeInBytes() { - return this.sizeInBytes; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("node_id"); - generator.write(this.nodeId); - - generator.writeKey("count"); - generator.write(this.count); - - generator.writeKey("hits"); - generator.write(this.hits); - - generator.writeKey("hits_time_in_millis"); - generator.write(this.hitsTimeInMillis); - - generator.writeKey("misses"); - generator.write(this.misses); - - generator.writeKey("misses_time_in_millis"); - generator.write(this.missesTimeInMillis); - - generator.writeKey("evictions"); - generator.write(this.evictions); - - generator.writeKey("size_in_bytes"); - generator.write(this.sizeInBytes); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CacheStats}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String nodeId; - - private Integer count; - - private Integer hits; - - private Long hitsTimeInMillis; - - private Integer misses; - - private Long missesTimeInMillis; - - private Integer evictions; - - private Long sizeInBytes; - - /** - * Required - API name: {@code node_id} - */ - public final Builder nodeId(String value) { - this.nodeId = value; - return this; - } - - /** - * Required - API name: {@code count} - */ - public final Builder count(int value) { - this.count = value; - return this; - } - - /** - * Required - API name: {@code hits} - */ - public final Builder hits(int value) { - this.hits = value; - return this; - } - - /** - * Required - API name: {@code hits_time_in_millis} - */ - public final Builder hitsTimeInMillis(long value) { - this.hitsTimeInMillis = value; - return this; - } - - /** - * Required - API name: {@code misses} - */ - public final Builder misses(int value) { - this.misses = value; - return this; - } - - /** - * Required - API name: {@code misses_time_in_millis} - */ - public final Builder missesTimeInMillis(long value) { - this.missesTimeInMillis = value; - return this; - } - - /** - * Required - API name: {@code evictions} - */ - public final Builder evictions(int value) { - this.evictions = value; - return this; - } - - /** - * Required - API name: {@code size_in_bytes} - */ - public final Builder sizeInBytes(long value) { - this.sizeInBytes = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CacheStats}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CacheStats build() { - _checkSingleUse(); - - return new CacheStats(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CacheStats} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - CacheStats::setupCacheStatsDeserializer); - - protected static void setupCacheStatsDeserializer(ObjectDeserializer op) { - - op.add(Builder::nodeId, JsonpDeserializer.stringDeserializer(), "node_id"); - op.add(Builder::count, JsonpDeserializer.integerDeserializer(), "count"); - op.add(Builder::hits, JsonpDeserializer.integerDeserializer(), "hits"); - op.add(Builder::hitsTimeInMillis, JsonpDeserializer.longDeserializer(), "hits_time_in_millis"); - op.add(Builder::misses, JsonpDeserializer.integerDeserializer(), "misses"); - op.add(Builder::missesTimeInMillis, JsonpDeserializer.longDeserializer(), "misses_time_in_millis"); - op.add(Builder::evictions, JsonpDeserializer.integerDeserializer(), "evictions"); - op.add(Builder::sizeInBytes, JsonpDeserializer.longDeserializer(), "size_in_bytes"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CoordinatorStats.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CoordinatorStats.java deleted file mode 100644 index f6df3a720..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/CoordinatorStats.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich.stats; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.stats.CoordinatorStats - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CoordinatorStats implements JsonpSerializable { - private final long executedSearchesTotal; - - private final String nodeId; - - private final int queueSize; - - private final int remoteRequestsCurrent; - - private final long remoteRequestsTotal; - - // --------------------------------------------------------------------------------------------- - - private CoordinatorStats(Builder builder) { - - this.executedSearchesTotal = ApiTypeHelper.requireNonNull(builder.executedSearchesTotal, this, - "executedSearchesTotal"); - this.nodeId = ApiTypeHelper.requireNonNull(builder.nodeId, this, "nodeId"); - this.queueSize = ApiTypeHelper.requireNonNull(builder.queueSize, this, "queueSize"); - this.remoteRequestsCurrent = ApiTypeHelper.requireNonNull(builder.remoteRequestsCurrent, this, - "remoteRequestsCurrent"); - this.remoteRequestsTotal = ApiTypeHelper.requireNonNull(builder.remoteRequestsTotal, this, - "remoteRequestsTotal"); - - } - - public static CoordinatorStats of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code executed_searches_total} - */ - public final long executedSearchesTotal() { - return this.executedSearchesTotal; - } - - /** - * Required - API name: {@code node_id} - */ - public final String nodeId() { - return this.nodeId; - } - - /** - * Required - API name: {@code queue_size} - */ - public final int queueSize() { - return this.queueSize; - } - - /** - * Required - API name: {@code remote_requests_current} - */ - public final int remoteRequestsCurrent() { - return this.remoteRequestsCurrent; - } - - /** - * Required - API name: {@code remote_requests_total} - */ - public final long remoteRequestsTotal() { - return this.remoteRequestsTotal; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("executed_searches_total"); - generator.write(this.executedSearchesTotal); - - generator.writeKey("node_id"); - generator.write(this.nodeId); - - generator.writeKey("queue_size"); - generator.write(this.queueSize); - - generator.writeKey("remote_requests_current"); - generator.write(this.remoteRequestsCurrent); - - generator.writeKey("remote_requests_total"); - generator.write(this.remoteRequestsTotal); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CoordinatorStats}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Long executedSearchesTotal; - - private String nodeId; - - private Integer queueSize; - - private Integer remoteRequestsCurrent; - - private Long remoteRequestsTotal; - - /** - * Required - API name: {@code executed_searches_total} - */ - public final Builder executedSearchesTotal(long value) { - this.executedSearchesTotal = value; - return this; - } - - /** - * Required - API name: {@code node_id} - */ - public final Builder nodeId(String value) { - this.nodeId = value; - return this; - } - - /** - * Required - API name: {@code queue_size} - */ - public final Builder queueSize(int value) { - this.queueSize = value; - return this; - } - - /** - * Required - API name: {@code remote_requests_current} - */ - public final Builder remoteRequestsCurrent(int value) { - this.remoteRequestsCurrent = value; - return this; - } - - /** - * Required - API name: {@code remote_requests_total} - */ - public final Builder remoteRequestsTotal(long value) { - this.remoteRequestsTotal = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CoordinatorStats}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CoordinatorStats build() { - _checkSingleUse(); - - return new CoordinatorStats(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CoordinatorStats} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - CoordinatorStats::setupCoordinatorStatsDeserializer); - - protected static void setupCoordinatorStatsDeserializer(ObjectDeserializer op) { - - op.add(Builder::executedSearchesTotal, JsonpDeserializer.longDeserializer(), "executed_searches_total"); - op.add(Builder::nodeId, JsonpDeserializer.stringDeserializer(), "node_id"); - op.add(Builder::queueSize, JsonpDeserializer.integerDeserializer(), "queue_size"); - op.add(Builder::remoteRequestsCurrent, JsonpDeserializer.integerDeserializer(), "remote_requests_current"); - op.add(Builder::remoteRequestsTotal, JsonpDeserializer.longDeserializer(), "remote_requests_total"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/ExecutingPolicy.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/ExecutingPolicy.java deleted file mode 100644 index 78efa6763..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/enrich/stats/ExecutingPolicy.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.enrich.stats; - -import co.elastic.clients.elasticsearch.tasks.TaskInfo; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: enrich.stats.ExecutingPolicy - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExecutingPolicy implements JsonpSerializable { - private final String name; - - private final TaskInfo task; - - // --------------------------------------------------------------------------------------------- - - private ExecutingPolicy(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.task = ApiTypeHelper.requireNonNull(builder.task, this, "task"); - - } - - public static ExecutingPolicy of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code task} - */ - public final TaskInfo task() { - return this.task; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - generator.writeKey("task"); - this.task.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExecutingPolicy}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - private TaskInfo task; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code task} - */ - public final Builder task(TaskInfo value) { - this.task = value; - return this; - } - - /** - * Required - API name: {@code task} - */ - public final Builder task(Function> fn) { - return this.task(fn.apply(new TaskInfo.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExecutingPolicy}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExecutingPolicy build() { - _checkSingleUse(); - - return new ExecutingPolicy(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExecutingPolicy} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ExecutingPolicy::setupExecutingPolicyDeserializer); - - protected static void setupExecutingPolicyDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::task, TaskInfo._DESERIALIZER, "task"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java deleted file mode 100644 index 9af457c16..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.EndpointWithResponseMapperAttr; -import co.elastic.clients.util.ObjectBuilder; -import java.lang.reflect.Type; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the eql namespace. - */ -public class ElasticsearchEqlAsyncClient extends ApiClient { - - public ElasticsearchEqlAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEqlAsyncClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEqlAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEqlAsyncClient(this.transport, transportOptions); - } - - // ----- Endpoint: eql.delete - - /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture delete(EqlDeleteRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) EqlDeleteRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlDeleteRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture delete( - Function> fn) { - return delete(fn.apply(new EqlDeleteRequest.Builder()).build()); - } - - // ----- Endpoint: eql.get - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> get(EqlGetRequest request, Class tEventClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.get.Response.TEvent", getDeserializer(tEventClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlGetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> get( - Function> fn, Class tEventClass) { - return get(fn.apply(new EqlGetRequest.Builder()).build(), tEventClass); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> get(EqlGetRequest request, Type tEventType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.get.Response.TEvent", getDeserializer(tEventType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlGetRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> get( - Function> fn, Type tEventType) { - return get(fn.apply(new EqlGetRequest.Builder()).build(), tEventType); - } - - // ----- Endpoint: eql.get_status - - /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getStatus(GetEqlStatusRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetEqlStatusRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetEqlStatusRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getStatus( - Function> fn) { - return getStatus(fn.apply(new GetEqlStatusRequest.Builder()).build()); - } - - // ----- Endpoint: eql.search - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> search(EqlSearchRequest request, - Class tEventClass) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.search.Response.TEvent", getDeserializer(tEventClass)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlSearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> search( - Function> fn, Class tEventClass) { - return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventClass); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture> search(EqlSearchRequest request, Type tEventType) { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.search.Response.TEvent", getDeserializer(tEventType)); - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlSearchRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture> search( - Function> fn, Type tEventType) { - return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventType); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java deleted file mode 100644 index 5de6aa5b6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.EndpointWithResponseMapperAttr; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.lang.reflect.Type; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the eql namespace. - */ -public class ElasticsearchEqlClient extends ApiClient { - - public ElasticsearchEqlClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEqlClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEqlClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEqlClient(this.transport, transportOptions); - } - - // ----- Endpoint: eql.delete - - /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. - * - * @see Documentation - * on elastic.co - */ - - public EqlDeleteResponse delete(EqlDeleteRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) EqlDeleteRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlDeleteRequest} - * @see Documentation - * on elastic.co - */ - - public final EqlDeleteResponse delete(Function> fn) - throws IOException, ElasticsearchException { - return delete(fn.apply(new EqlDeleteRequest.Builder()).build()); - } - - // ----- Endpoint: eql.get - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @see Documentation - * on elastic.co - */ - - public EqlGetResponse get(EqlGetRequest request, Class tEventClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.get.Response.TEvent", getDeserializer(tEventClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlGetRequest} - * @see Documentation - * on elastic.co - */ - - public final EqlGetResponse get(Function> fn, - Class tEventClass) throws IOException, ElasticsearchException { - return get(fn.apply(new EqlGetRequest.Builder()).build(), tEventClass); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @see Documentation - * on elastic.co - */ - - public EqlGetResponse get(EqlGetRequest request, Type tEventType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.get.Response.TEvent", getDeserializer(tEventType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlGetRequest} - * @see Documentation - * on elastic.co - */ - - public final EqlGetResponse get(Function> fn, - Type tEventType) throws IOException, ElasticsearchException { - return get(fn.apply(new EqlGetRequest.Builder()).build(), tEventType); - } - - // ----- Endpoint: eql.get_status - - /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. - * - * @see Documentation - * on elastic.co - */ - - public GetEqlStatusResponse getStatus(GetEqlStatusRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetEqlStatusRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetEqlStatusRequest} - * @see Documentation - * on elastic.co - */ - - public final GetEqlStatusResponse getStatus( - Function> fn) - throws IOException, ElasticsearchException { - return getStatus(fn.apply(new GetEqlStatusRequest.Builder()).build()); - } - - // ----- Endpoint: eql.search - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @see Documentation - * on elastic.co - */ - - public EqlSearchResponse search(EqlSearchRequest request, Class tEventClass) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.search.Response.TEvent", getDeserializer(tEventClass)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlSearchRequest} - * @see Documentation - * on elastic.co - */ - - public final EqlSearchResponse search( - Function> fn, Class tEventClass) - throws IOException, ElasticsearchException { - return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventClass); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @see Documentation - * on elastic.co - */ - - public EqlSearchResponse search(EqlSearchRequest request, Type tEventType) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; - endpoint = new EndpointWithResponseMapperAttr<>(endpoint, - "co.elastic.clients:Deserializer:eql.search.Response.TEvent", getDeserializer(tEventType)); - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @param fn - * a function that initializes a builder to create the - * {@link EqlSearchRequest} - * @see Documentation - * on elastic.co - */ - - public final EqlSearchResponse search( - Function> fn, Type tEventType) - throws IOException, ElasticsearchException { - return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventType); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java deleted file mode 100644 index 79d4e352a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteRequest.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.delete.Request - -/** - * Deletes an async EQL search or a stored synchronous EQL search. The API also - * deletes results for the search. - * - * @see API - * specification - */ - -public class EqlDeleteRequest extends RequestBase { - private final String id; - - // --------------------------------------------------------------------------------------------- - - private EqlDeleteRequest(Builder builder) { - - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - - } - - public static EqlDeleteRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Identifier for the search to delete. A search ID is provided in - * the EQL search API's response for an async search. A search ID is also - * provided if the request’s keep_on_completion parameter is - * true. - *

    - * API name: {@code id} - */ - public final String id() { - return this.id; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlDeleteRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private String id; - - /** - * Required - Identifier for the search to delete. A search ID is provided in - * the EQL search API's response for an async search. A search ID is also - * provided if the request’s keep_on_completion parameter is - * true. - *

    - * API name: {@code id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlDeleteRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlDeleteRequest build() { - _checkSingleUse(); - - return new EqlDeleteRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code eql.delete}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/eql.delete", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_eql"); - buf.append("/search"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.id, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - params.put("id", request.id); - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), false, EqlDeleteResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteResponse.java deleted file mode 100644 index 21106c574..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlDeleteResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.delete.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EqlDeleteResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private EqlDeleteResponse(Builder builder) { - super(builder); - - } - - public static EqlDeleteResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlDeleteResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlDeleteResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlDeleteResponse build() { - _checkSingleUse(); - - return new EqlDeleteResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link EqlDeleteResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, EqlDeleteResponse::setupEqlDeleteResponseDeserializer); - - protected static void setupEqlDeleteResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java deleted file mode 100644 index dfb379ee1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetRequest.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.get.Request - -/** - * Returns the current status and available results for an async EQL search or a - * stored synchronous EQL search. - * - * @see API - * specification - */ - -public class EqlGetRequest extends RequestBase { - private final String id; - - @Nullable - private final Time keepAlive; - - @Nullable - private final Time waitForCompletionTimeout; - - // --------------------------------------------------------------------------------------------- - - private EqlGetRequest(Builder builder) { - - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.keepAlive = builder.keepAlive; - this.waitForCompletionTimeout = builder.waitForCompletionTimeout; - - } - - public static EqlGetRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final String id() { - return this.id; - } - - /** - * Period for which the search and its results are stored on the cluster. - * Defaults to the keep_alive value set by the search’s EQL search API request. - *

    - * API name: {@code keep_alive} - */ - @Nullable - public final Time keepAlive() { - return this.keepAlive; - } - - /** - * Timeout duration to wait for the request to finish. Defaults to no timeout, - * meaning the request waits for complete search results. - *

    - * API name: {@code wait_for_completion_timeout} - */ - @Nullable - public final Time waitForCompletionTimeout() { - return this.waitForCompletionTimeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlGetRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - private String id; - - @Nullable - private Time keepAlive; - - @Nullable - private Time waitForCompletionTimeout; - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - /** - * Period for which the search and its results are stored on the cluster. - * Defaults to the keep_alive value set by the search’s EQL search API request. - *

    - * API name: {@code keep_alive} - */ - public final Builder keepAlive(@Nullable Time value) { - this.keepAlive = value; - return this; - } - - /** - * Period for which the search and its results are stored on the cluster. - * Defaults to the keep_alive value set by the search’s EQL search API request. - *

    - * API name: {@code keep_alive} - */ - public final Builder keepAlive(Function> fn) { - return this.keepAlive(fn.apply(new Time.Builder()).build()); - } - - /** - * Timeout duration to wait for the request to finish. Defaults to no timeout, - * meaning the request waits for complete search results. - *

    - * API name: {@code wait_for_completion_timeout} - */ - public final Builder waitForCompletionTimeout(@Nullable Time value) { - this.waitForCompletionTimeout = value; - return this; - } - - /** - * Timeout duration to wait for the request to finish. Defaults to no timeout, - * meaning the request waits for complete search results. - *

    - * API name: {@code wait_for_completion_timeout} - */ - public final Builder waitForCompletionTimeout(Function> fn) { - return this.waitForCompletionTimeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlGetRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlGetRequest build() { - _checkSingleUse(); - - return new EqlGetRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code eql.get}". - */ - public static final SimpleEndpoint _ENDPOINT = new SimpleEndpoint<>("es/eql.get", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_eql"); - buf.append("/search"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.id, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - params.put("id", request.id); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.keepAlive != null) { - params.put("keep_alive", request.keepAlive._toJsonString()); - } - if (request.waitForCompletionTimeout != null) { - params.put("wait_for_completion_timeout", request.waitForCompletionTimeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, EqlGetResponse._DESERIALIZER); - - /** - * Create an "{@code eql.get}" endpoint. - */ - public static Endpoint, ErrorResponse> createGetEndpoint( - JsonpDeserializer tEventDeserializer) { - return _ENDPOINT.withResponseDeserializer(EqlGetResponse.createEqlGetResponseDeserializer(tEventDeserializer)); - } -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetResponse.java deleted file mode 100644 index e06025629..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlGetResponse.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.get.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EqlGetResponse extends EqlSearchResponseBase { - // --------------------------------------------------------------------------------------------- - - private EqlGetResponse(Builder builder) { - super(builder); - - } - - public static EqlGetResponse of( - Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlGetResponse}. - */ - - public static class Builder extends EqlSearchResponseBase.AbstractBuilder> - implements - ObjectBuilder> { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlGetResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlGetResponse build() { - _checkSingleUse(); - - return new EqlGetResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for EqlGetResponse - */ - public static JsonpDeserializer> createEqlGetResponseDeserializer( - JsonpDeserializer tEventDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> EqlGetResponse.setupEqlGetResponseDeserializer(op, tEventDeserializer)); - }; - - /** - * Json deserializer for {@link EqlGetResponse} based on named deserializers - * provided by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createEqlGetResponseDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:eql.get.Response.TEvent"))); - - protected static void setupEqlGetResponseDeserializer( - ObjectDeserializer> op, JsonpDeserializer tEventDeserializer) { - EqlSearchResponseBase.setupEqlSearchResponseBaseDeserializer(op, tEventDeserializer); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlHits.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlHits.java deleted file mode 100644 index b1731fb74..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlHits.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch.core.search.TotalHits; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpSerializer; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql._types.EqlHits - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EqlHits implements JsonpSerializable { - @Nullable - private final TotalHits total; - - private final List> events; - - private final List> sequences; - - @Nullable - private final JsonpSerializer tEventSerializer; - - // --------------------------------------------------------------------------------------------- - - private EqlHits(Builder builder) { - - this.total = builder.total; - this.events = ApiTypeHelper.unmodifiable(builder.events); - this.sequences = ApiTypeHelper.unmodifiable(builder.sequences); - this.tEventSerializer = builder.tEventSerializer; - - } - - public static EqlHits of(Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - /** - * Metadata about the number of matching events or sequences. - *

    - * API name: {@code total} - */ - @Nullable - public final TotalHits total() { - return this.total; - } - - /** - * Contains events matching the query. Each object represents a matching event. - *

    - * API name: {@code events} - */ - public final List> events() { - return this.events; - } - - /** - * Contains event sequences matching the query. Each object represents a - * matching sequence. This parameter is only returned for EQL queries containing - * a sequence. - *

    - * API name: {@code sequences} - */ - public final List> sequences() { - return this.sequences; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.total != null) { - generator.writeKey("total"); - this.total.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.events)) { - generator.writeKey("events"); - generator.writeStartArray(); - for (HitsEvent item0 : this.events) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.sequences)) { - generator.writeKey("sequences"); - generator.writeStartArray(); - for (HitsSequence item0 : this.sequences) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlHits}. - */ - - public static class Builder extends WithJsonObjectBuilderBase> - implements - ObjectBuilder> { - @Nullable - private TotalHits total; - - @Nullable - private List> events; - - @Nullable - private List> sequences; - - @Nullable - private JsonpSerializer tEventSerializer; - - /** - * Metadata about the number of matching events or sequences. - *

    - * API name: {@code total} - */ - public final Builder total(@Nullable TotalHits value) { - this.total = value; - return this; - } - - /** - * Metadata about the number of matching events or sequences. - *

    - * API name: {@code total} - */ - public final Builder total(Function> fn) { - return this.total(fn.apply(new TotalHits.Builder()).build()); - } - - /** - * Contains events matching the query. Each object represents a matching event. - *

    - * API name: {@code events} - *

    - * Adds all elements of list to events. - */ - public final Builder events(List> list) { - this.events = _listAddAll(this.events, list); - return this; - } - - /** - * Contains events matching the query. Each object represents a matching event. - *

    - * API name: {@code events} - *

    - * Adds one or more values to events. - */ - public final Builder events(HitsEvent value, HitsEvent... values) { - this.events = _listAdd(this.events, value, values); - return this; - } - - /** - * Contains events matching the query. Each object represents a matching event. - *

    - * API name: {@code events} - *

    - * Adds a value to events using a builder lambda. - */ - public final Builder events(Function, ObjectBuilder>> fn) { - return events(fn.apply(new HitsEvent.Builder()).build()); - } - - /** - * Contains event sequences matching the query. Each object represents a - * matching sequence. This parameter is only returned for EQL queries containing - * a sequence. - *

    - * API name: {@code sequences} - *

    - * Adds all elements of list to sequences. - */ - public final Builder sequences(List> list) { - this.sequences = _listAddAll(this.sequences, list); - return this; - } - - /** - * Contains event sequences matching the query. Each object represents a - * matching sequence. This parameter is only returned for EQL queries containing - * a sequence. - *

    - * API name: {@code sequences} - *

    - * Adds one or more values to sequences. - */ - public final Builder sequences(HitsSequence value, HitsSequence... values) { - this.sequences = _listAdd(this.sequences, value, values); - return this; - } - - /** - * Contains event sequences matching the query. Each object represents a - * matching sequence. This parameter is only returned for EQL queries containing - * a sequence. - *

    - * API name: {@code sequences} - *

    - * Adds a value to sequences using a builder lambda. - */ - public final Builder sequences( - Function, ObjectBuilder>> fn) { - return sequences(fn.apply(new HitsSequence.Builder()).build()); - } - - /** - * Serializer for TEvent. If not set, an attempt will be made to find a - * serializer from the JSON context. - */ - public final Builder tEventSerializer(@Nullable JsonpSerializer value) { - this.tEventSerializer = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlHits}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlHits build() { - _checkSingleUse(); - - return new EqlHits(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for EqlHits - */ - public static JsonpDeserializer> createEqlHitsDeserializer( - JsonpDeserializer tEventDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> EqlHits.setupEqlHitsDeserializer(op, tEventDeserializer)); - }; - - /** - * Json deserializer for {@link EqlHits} based on named deserializers provided - * by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createEqlHitsDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:eql._types.EqlHits.TEvent"))); - - protected static void setupEqlHitsDeserializer(ObjectDeserializer> op, - JsonpDeserializer tEventDeserializer) { - - op.add(Builder::total, TotalHits._DESERIALIZER, "total"); - op.add(Builder::events, - JsonpDeserializer.arrayDeserializer(HitsEvent.createHitsEventDeserializer(tEventDeserializer)), - "events"); - op.add(Builder::sequences, - JsonpDeserializer.arrayDeserializer(HitsSequence.createHitsSequenceDeserializer(tEventDeserializer)), - "sequences"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java deleted file mode 100644 index 4002a1336..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java +++ /dev/null @@ -1,875 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; -import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.elasticsearch.eql.search.ResultPosition; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Number; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.search.Request - -/** - * Returns results matching a query expressed in Event Query Language (EQL) - * - * @see API - * specification - */ -@JsonpDeserializable -public class EqlSearchRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Boolean allowNoIndices; - - @Nullable - private final Boolean caseSensitive; - - @Nullable - private final String eventCategoryField; - - private final List expandWildcards; - - @Nullable - private final Number fetchSize; - - private final List fields; - - private final List filter; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Time keepAlive; - - @Nullable - private final Boolean keepOnCompletion; - - private final String query; - - @Nullable - private final ResultPosition resultPosition; - - private final Map runtimeMappings; - - @Nullable - private final Number size; - - @Nullable - private final String tiebreakerField; - - @Nullable - private final String timestampField; - - @Nullable - private final Time waitForCompletionTimeout; - - // --------------------------------------------------------------------------------------------- - - private EqlSearchRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.caseSensitive = builder.caseSensitive; - this.eventCategoryField = builder.eventCategoryField; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.fetchSize = builder.fetchSize; - this.fields = ApiTypeHelper.unmodifiable(builder.fields); - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.keepAlive = builder.keepAlive; - this.keepOnCompletion = builder.keepOnCompletion; - this.query = ApiTypeHelper.requireNonNull(builder.query, this, "query"); - this.resultPosition = builder.resultPosition; - this.runtimeMappings = ApiTypeHelper.unmodifiable(builder.runtimeMappings); - this.size = builder.size; - this.tiebreakerField = builder.tiebreakerField; - this.timestampField = builder.timestampField; - this.waitForCompletionTimeout = builder.waitForCompletionTimeout; - - } - - public static EqlSearchRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * API name: {@code case_sensitive} - */ - @Nullable - public final Boolean caseSensitive() { - return this.caseSensitive; - } - - /** - * Field containing the event classification, such as process, file, or network. - *

    - * API name: {@code event_category_field} - */ - @Nullable - public final String eventCategoryField() { - return this.eventCategoryField; - } - - /** - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Maximum number of events to search at a time for sequence queries. - *

    - * API name: {@code fetch_size} - */ - @Nullable - public final Number fetchSize() { - return this.fetchSize; - } - - /** - * Array of wildcard (*) patterns. The response returns values for field names - * matching these patterns in the fields property of each hit. - *

    - * API name: {@code fields} - */ - public final List fields() { - return this.fields; - } - - /** - * Query, written in Query DSL, used to filter the events on which the EQL query - * runs. - *

    - * API name: {@code filter} - */ - public final List filter() { - return this.filter; - } - - /** - * If true, missing or closed indices are not included in the response. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Required - The name of the index to scope the operation - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * API name: {@code keep_alive} - */ - @Nullable - public final Time keepAlive() { - return this.keepAlive; - } - - /** - * API name: {@code keep_on_completion} - */ - @Nullable - public final Boolean keepOnCompletion() { - return this.keepOnCompletion; - } - - /** - * Required - EQL query you wish to run. - *

    - * API name: {@code query} - */ - public final String query() { - return this.query; - } - - /** - * API name: {@code result_position} - */ - @Nullable - public final ResultPosition resultPosition() { - return this.resultPosition; - } - - /** - * API name: {@code runtime_mappings} - */ - public final Map runtimeMappings() { - return this.runtimeMappings; - } - - /** - * For basic queries, the maximum number of matching events to return. Defaults - * to 10 - *

    - * API name: {@code size} - */ - @Nullable - public final Number size() { - return this.size; - } - - /** - * Field used to sort hits with the same timestamp in ascending order - *

    - * API name: {@code tiebreaker_field} - */ - @Nullable - public final String tiebreakerField() { - return this.tiebreakerField; - } - - /** - * Field containing event timestamp. Default "@timestamp" - *

    - * API name: {@code timestamp_field} - */ - @Nullable - public final String timestampField() { - return this.timestampField; - } - - /** - * API name: {@code wait_for_completion_timeout} - */ - @Nullable - public final Time waitForCompletionTimeout() { - return this.waitForCompletionTimeout; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.caseSensitive != null) { - generator.writeKey("case_sensitive"); - generator.write(this.caseSensitive); - - } - if (this.eventCategoryField != null) { - generator.writeKey("event_category_field"); - generator.write(this.eventCategoryField); - - } - if (this.fetchSize != null) { - generator.writeKey("fetch_size"); - generator.write(this.fetchSize.doubleValue()); - - } - if (ApiTypeHelper.isDefined(this.fields)) { - generator.writeKey("fields"); - generator.writeStartArray(); - for (FieldAndFormat item0 : this.fields) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartArray(); - for (Query item0 : this.filter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.keepAlive != null) { - generator.writeKey("keep_alive"); - this.keepAlive.serialize(generator, mapper); - - } - if (this.keepOnCompletion != null) { - generator.writeKey("keep_on_completion"); - generator.write(this.keepOnCompletion); - - } - generator.writeKey("query"); - generator.write(this.query); - - if (this.resultPosition != null) { - generator.writeKey("result_position"); - this.resultPosition.serialize(generator, mapper); - } - if (ApiTypeHelper.isDefined(this.runtimeMappings)) { - generator.writeKey("runtime_mappings"); - generator.writeStartObject(); - for (Map.Entry item0 : this.runtimeMappings.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.size != null) { - generator.writeKey("size"); - generator.write(this.size.doubleValue()); - - } - if (this.tiebreakerField != null) { - generator.writeKey("tiebreaker_field"); - generator.write(this.tiebreakerField); - - } - if (this.timestampField != null) { - generator.writeKey("timestamp_field"); - generator.write(this.timestampField); - - } - if (this.waitForCompletionTimeout != null) { - generator.writeKey("wait_for_completion_timeout"); - this.waitForCompletionTimeout.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlSearchRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private Boolean caseSensitive; - - @Nullable - private String eventCategoryField; - - @Nullable - private List expandWildcards; - - @Nullable - private Number fetchSize; - - @Nullable - private List fields; - - @Nullable - private List filter; - - @Nullable - private Boolean ignoreUnavailable; - - private List index; - - @Nullable - private Time keepAlive; - - @Nullable - private Boolean keepOnCompletion; - - private String query; - - @Nullable - private ResultPosition resultPosition; - - @Nullable - private Map runtimeMappings; - - @Nullable - private Number size; - - @Nullable - private String tiebreakerField; - - @Nullable - private String timestampField; - - @Nullable - private Time waitForCompletionTimeout; - - /** - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * API name: {@code case_sensitive} - */ - public final Builder caseSensitive(@Nullable Boolean value) { - this.caseSensitive = value; - return this; - } - - /** - * Field containing the event classification, such as process, file, or network. - *

    - * API name: {@code event_category_field} - */ - public final Builder eventCategoryField(@Nullable String value) { - this.eventCategoryField = value; - return this; - } - - /** - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Maximum number of events to search at a time for sequence queries. - *

    - * API name: {@code fetch_size} - */ - public final Builder fetchSize(@Nullable Number value) { - this.fetchSize = value; - return this; - } - - /** - * Array of wildcard (*) patterns. The response returns values for field names - * matching these patterns in the fields property of each hit. - *

    - * API name: {@code fields} - *

    - * Adds all elements of list to fields. - */ - public final Builder fields(List list) { - this.fields = _listAddAll(this.fields, list); - return this; - } - - /** - * Array of wildcard (*) patterns. The response returns values for field names - * matching these patterns in the fields property of each hit. - *

    - * API name: {@code fields} - *

    - * Adds one or more values to fields. - */ - public final Builder fields(FieldAndFormat value, FieldAndFormat... values) { - this.fields = _listAdd(this.fields, value, values); - return this; - } - - /** - * Array of wildcard (*) patterns. The response returns values for field names - * matching these patterns in the fields property of each hit. - *

    - * API name: {@code fields} - *

    - * Adds a value to fields using a builder lambda. - */ - public final Builder fields(Function> fn) { - return fields(fn.apply(new FieldAndFormat.Builder()).build()); - } - - /** - * Query, written in Query DSL, used to filter the events on which the EQL query - * runs. - *

    - * API name: {@code filter} - *

    - * Adds all elements of list to filter. - */ - public final Builder filter(List list) { - this.filter = _listAddAll(this.filter, list); - return this; - } - - /** - * Query, written in Query DSL, used to filter the events on which the EQL query - * runs. - *

    - * API name: {@code filter} - *

    - * Adds one or more values to filter. - */ - public final Builder filter(Query value, Query... values) { - this.filter = _listAdd(this.filter, value, values); - return this; - } - - /** - * Query, written in Query DSL, used to filter the events on which the EQL query - * runs. - *

    - * API name: {@code filter} - *

    - * Adds a value to filter using a builder lambda. - */ - public final Builder filter(Function> fn) { - return filter(fn.apply(new Query.Builder()).build()); - } - - /** - * If true, missing or closed indices are not included in the response. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Required - The name of the index to scope the operation - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - The name of the index to scope the operation - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * API name: {@code keep_alive} - */ - public final Builder keepAlive(@Nullable Time value) { - this.keepAlive = value; - return this; - } - - /** - * API name: {@code keep_alive} - */ - public final Builder keepAlive(Function> fn) { - return this.keepAlive(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code keep_on_completion} - */ - public final Builder keepOnCompletion(@Nullable Boolean value) { - this.keepOnCompletion = value; - return this; - } - - /** - * Required - EQL query you wish to run. - *

    - * API name: {@code query} - */ - public final Builder query(String value) { - this.query = value; - return this; - } - - /** - * API name: {@code result_position} - */ - public final Builder resultPosition(@Nullable ResultPosition value) { - this.resultPosition = value; - return this; - } - - /** - * API name: {@code runtime_mappings} - *

    - * Adds all entries of map to runtimeMappings. - */ - public final Builder runtimeMappings(Map map) { - this.runtimeMappings = _mapPutAll(this.runtimeMappings, map); - return this; - } - - /** - * API name: {@code runtime_mappings} - *

    - * Adds an entry to runtimeMappings. - */ - public final Builder runtimeMappings(String key, RuntimeField value) { - this.runtimeMappings = _mapPut(this.runtimeMappings, key, value); - return this; - } - - /** - * API name: {@code runtime_mappings} - *

    - * Adds an entry to runtimeMappings using a builder lambda. - */ - public final Builder runtimeMappings(String key, - Function> fn) { - return runtimeMappings(key, fn.apply(new RuntimeField.Builder()).build()); - } - - /** - * For basic queries, the maximum number of matching events to return. Defaults - * to 10 - *

    - * API name: {@code size} - */ - public final Builder size(@Nullable Number value) { - this.size = value; - return this; - } - - /** - * Field used to sort hits with the same timestamp in ascending order - *

    - * API name: {@code tiebreaker_field} - */ - public final Builder tiebreakerField(@Nullable String value) { - this.tiebreakerField = value; - return this; - } - - /** - * Field containing event timestamp. Default "@timestamp" - *

    - * API name: {@code timestamp_field} - */ - public final Builder timestampField(@Nullable String value) { - this.timestampField = value; - return this; - } - - /** - * API name: {@code wait_for_completion_timeout} - */ - public final Builder waitForCompletionTimeout(@Nullable Time value) { - this.waitForCompletionTimeout = value; - return this; - } - - /** - * API name: {@code wait_for_completion_timeout} - */ - public final Builder waitForCompletionTimeout(Function> fn) { - return this.waitForCompletionTimeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlSearchRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlSearchRequest build() { - _checkSingleUse(); - - return new EqlSearchRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link EqlSearchRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - EqlSearchRequest::setupEqlSearchRequestDeserializer); - - protected static void setupEqlSearchRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::caseSensitive, JsonpDeserializer.booleanDeserializer(), "case_sensitive"); - op.add(Builder::eventCategoryField, JsonpDeserializer.stringDeserializer(), "event_category_field"); - op.add(Builder::fetchSize, JsonpDeserializer.numberDeserializer(), "fetch_size"); - op.add(Builder::fields, JsonpDeserializer.arrayDeserializer(FieldAndFormat._DESERIALIZER), "fields"); - op.add(Builder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter"); - op.add(Builder::keepAlive, Time._DESERIALIZER, "keep_alive"); - op.add(Builder::keepOnCompletion, JsonpDeserializer.booleanDeserializer(), "keep_on_completion"); - op.add(Builder::query, JsonpDeserializer.stringDeserializer(), "query"); - op.add(Builder::resultPosition, ResultPosition._DESERIALIZER, "result_position"); - op.add(Builder::runtimeMappings, JsonpDeserializer.stringMapDeserializer(RuntimeField._DESERIALIZER), - "runtime_mappings"); - op.add(Builder::size, JsonpDeserializer.numberDeserializer(), "size"); - op.add(Builder::tiebreakerField, JsonpDeserializer.stringDeserializer(), "tiebreaker_field"); - op.add(Builder::timestampField, JsonpDeserializer.stringDeserializer(), "timestamp_field"); - op.add(Builder::waitForCompletionTimeout, Time._DESERIALIZER, "wait_for_completion_timeout"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code eql.search}". - */ - public static final SimpleEndpoint _ENDPOINT = new SimpleEndpoint<>("es/eql.search", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_eql"); - buf.append("/search"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, EqlSearchResponse._DESERIALIZER); - - /** - * Create an "{@code eql.search}" endpoint. - */ - public static Endpoint, ErrorResponse> createSearchEndpoint( - JsonpDeserializer tEventDeserializer) { - return _ENDPOINT - .withResponseDeserializer(EqlSearchResponse.createEqlSearchResponseDeserializer(tEventDeserializer)); - } -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponse.java deleted file mode 100644 index 0ad7f4b8d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponse.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.search.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class EqlSearchResponse extends EqlSearchResponseBase { - // --------------------------------------------------------------------------------------------- - - private EqlSearchResponse(Builder builder) { - super(builder); - - } - - public static EqlSearchResponse of( - Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link EqlSearchResponse}. - */ - - public static class Builder extends EqlSearchResponseBase.AbstractBuilder> - implements - ObjectBuilder> { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link EqlSearchResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public EqlSearchResponse build() { - _checkSingleUse(); - - return new EqlSearchResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for EqlSearchResponse - */ - public static JsonpDeserializer> createEqlSearchResponseDeserializer( - JsonpDeserializer tEventDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> EqlSearchResponse.setupEqlSearchResponseDeserializer(op, tEventDeserializer)); - }; - - /** - * Json deserializer for {@link EqlSearchResponse} based on named deserializers - * provided by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createEqlSearchResponseDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:eql.search.Response.TEvent"))); - - protected static void setupEqlSearchResponseDeserializer( - ObjectDeserializer> op, JsonpDeserializer tEventDeserializer) { - EqlSearchResponseBase.setupEqlSearchResponseBaseDeserializer(op, tEventDeserializer); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponseBase.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponseBase.java deleted file mode 100644 index 558bd99fd..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchResponseBase.java +++ /dev/null @@ -1,326 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpSerializer; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql._types.EqlSearchResponseBase - -/** - * - * @see API - * specification - */ - -public abstract class EqlSearchResponseBase implements JsonpSerializable { - @Nullable - private final String id; - - @Nullable - private final Boolean isPartial; - - @Nullable - private final Boolean isRunning; - - @Nullable - private final Long took; - - @Nullable - private final Boolean timedOut; - - private final EqlHits hits; - - @Nullable - private final JsonpSerializer tEventSerializer; - - // --------------------------------------------------------------------------------------------- - - protected EqlSearchResponseBase(AbstractBuilder builder) { - - this.id = builder.id; - this.isPartial = builder.isPartial; - this.isRunning = builder.isRunning; - this.took = builder.took; - this.timedOut = builder.timedOut; - this.hits = ApiTypeHelper.requireNonNull(builder.hits, this, "hits"); - this.tEventSerializer = builder.tEventSerializer; - - } - - /** - * Identifier for the search. - *

    - * API name: {@code id} - */ - @Nullable - public final String id() { - return this.id; - } - - /** - * If true, the response does not contain complete search results. - *

    - * API name: {@code is_partial} - */ - @Nullable - public final Boolean isPartial() { - return this.isPartial; - } - - /** - * If true, the search request is still executing. - *

    - * API name: {@code is_running} - */ - @Nullable - public final Boolean isRunning() { - return this.isRunning; - } - - /** - * Milliseconds it took Elasticsearch to execute the request. - *

    - * API name: {@code took} - */ - @Nullable - public final Long took() { - return this.took; - } - - /** - * If true, the request timed out before completion. - *

    - * API name: {@code timed_out} - */ - @Nullable - public final Boolean timedOut() { - return this.timedOut; - } - - /** - * Required - Contains matching events and sequences. Also contains related - * metadata. - *

    - * API name: {@code hits} - */ - public final EqlHits hits() { - return this.hits; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.id != null) { - generator.writeKey("id"); - generator.write(this.id); - - } - if (this.isPartial != null) { - generator.writeKey("is_partial"); - generator.write(this.isPartial); - - } - if (this.isRunning != null) { - generator.writeKey("is_running"); - generator.write(this.isRunning); - - } - if (this.took != null) { - generator.writeKey("took"); - generator.write(this.took); - - } - if (this.timedOut != null) { - generator.writeKey("timed_out"); - generator.write(this.timedOut); - - } - generator.writeKey("hits"); - this.hits.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public abstract static class AbstractBuilder> - extends - WithJsonObjectBuilderBase { - @Nullable - private String id; - - @Nullable - private Boolean isPartial; - - @Nullable - private Boolean isRunning; - - @Nullable - private Long took; - - @Nullable - private Boolean timedOut; - - private EqlHits hits; - - @Nullable - private JsonpSerializer tEventSerializer; - - /** - * Identifier for the search. - *

    - * API name: {@code id} - */ - public final BuilderT id(@Nullable String value) { - this.id = value; - return self(); - } - - /** - * If true, the response does not contain complete search results. - *

    - * API name: {@code is_partial} - */ - public final BuilderT isPartial(@Nullable Boolean value) { - this.isPartial = value; - return self(); - } - - /** - * If true, the search request is still executing. - *

    - * API name: {@code is_running} - */ - public final BuilderT isRunning(@Nullable Boolean value) { - this.isRunning = value; - return self(); - } - - /** - * Milliseconds it took Elasticsearch to execute the request. - *

    - * API name: {@code took} - */ - public final BuilderT took(@Nullable Long value) { - this.took = value; - return self(); - } - - /** - * If true, the request timed out before completion. - *

    - * API name: {@code timed_out} - */ - public final BuilderT timedOut(@Nullable Boolean value) { - this.timedOut = value; - return self(); - } - - /** - * Required - Contains matching events and sequences. Also contains related - * metadata. - *

    - * API name: {@code hits} - */ - public final BuilderT hits(EqlHits value) { - this.hits = value; - return self(); - } - - /** - * Required - Contains matching events and sequences. Also contains related - * metadata. - *

    - * API name: {@code hits} - */ - public final BuilderT hits(Function, ObjectBuilder>> fn) { - return this.hits(fn.apply(new EqlHits.Builder()).build()); - } - - /** - * Serializer for TEvent. If not set, an attempt will be made to find a - * serializer from the JSON context. - */ - public final BuilderT tEventSerializer(@Nullable JsonpSerializer value) { - this.tEventSerializer = value; - return self(); - } - - protected abstract BuilderT self(); - - } - - // --------------------------------------------------------------------------------------------- - protected static > void setupEqlSearchResponseBaseDeserializer( - ObjectDeserializer op, JsonpDeserializer tEventDeserializer) { - - op.add(AbstractBuilder::id, JsonpDeserializer.stringDeserializer(), "id"); - op.add(AbstractBuilder::isPartial, JsonpDeserializer.booleanDeserializer(), "is_partial"); - op.add(AbstractBuilder::isRunning, JsonpDeserializer.booleanDeserializer(), "is_running"); - op.add(AbstractBuilder::took, JsonpDeserializer.longDeserializer(), "took"); - op.add(AbstractBuilder::timedOut, JsonpDeserializer.booleanDeserializer(), "timed_out"); - op.add(AbstractBuilder::hits, EqlHits.createEqlHitsDeserializer(tEventDeserializer), "hits"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java deleted file mode 100644 index 2d6aeec92..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusRequest.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.get_status.Request - -/** - * Returns the current status for an async EQL search or a stored synchronous - * EQL search without returning results. - * - * @see API - * specification - */ - -public class GetEqlStatusRequest extends RequestBase { - private final String id; - - // --------------------------------------------------------------------------------------------- - - private GetEqlStatusRequest(Builder builder) { - - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - - } - - public static GetEqlStatusRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final String id() { - return this.id; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetEqlStatusRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private String id; - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetEqlStatusRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetEqlStatusRequest build() { - _checkSingleUse(); - - return new GetEqlStatusRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code eql.get_status}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/eql.get_status", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_eql"); - buf.append("/search"); - buf.append("/status"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.id, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _id = 1 << 0; - - int propsSet = 0; - - propsSet |= _id; - - if (propsSet == (_id)) { - params.put("id", request.id); - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), false, GetEqlStatusResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusResponse.java deleted file mode 100644 index 470814175..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/GetEqlStatusResponse.java +++ /dev/null @@ -1,332 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql.get_status.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetEqlStatusResponse implements JsonpSerializable { - private final String id; - - private final boolean isPartial; - - private final boolean isRunning; - - @Nullable - private final Long startTimeInMillis; - - @Nullable - private final Long expirationTimeInMillis; - - @Nullable - private final Integer completionStatus; - - // --------------------------------------------------------------------------------------------- - - private GetEqlStatusResponse(Builder builder) { - - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.isPartial = ApiTypeHelper.requireNonNull(builder.isPartial, this, "isPartial"); - this.isRunning = ApiTypeHelper.requireNonNull(builder.isRunning, this, "isRunning"); - this.startTimeInMillis = builder.startTimeInMillis; - this.expirationTimeInMillis = builder.expirationTimeInMillis; - this.completionStatus = builder.completionStatus; - - } - - public static GetEqlStatusResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final String id() { - return this.id; - } - - /** - * Required - If true, the search request is still executing. If false, the - * search is completed. - *

    - * API name: {@code is_partial} - */ - public final boolean isPartial() { - return this.isPartial; - } - - /** - * Required - If true, the response does not contain complete search results. - * This could be because either the search is still running (is_running status - * is false), or because it is already completed (is_running status is true) and - * results are partial due to failures or timeouts. - *

    - * API name: {@code is_running} - */ - public final boolean isRunning() { - return this.isRunning; - } - - /** - * For a running search shows a timestamp when the eql search started, in - * milliseconds since the Unix epoch. - *

    - * API name: {@code start_time_in_millis} - */ - @Nullable - public final Long startTimeInMillis() { - return this.startTimeInMillis; - } - - /** - * Shows a timestamp when the eql search will be expired, in milliseconds since - * the Unix epoch. When this time is reached, the search and its results are - * deleted, even if the search is still ongoing. - *

    - * API name: {@code expiration_time_in_millis} - */ - @Nullable - public final Long expirationTimeInMillis() { - return this.expirationTimeInMillis; - } - - /** - * For a completed search shows the http status code of the completed search. - *

    - * API name: {@code completion_status} - */ - @Nullable - public final Integer completionStatus() { - return this.completionStatus; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("id"); - generator.write(this.id); - - generator.writeKey("is_partial"); - generator.write(this.isPartial); - - generator.writeKey("is_running"); - generator.write(this.isRunning); - - if (this.startTimeInMillis != null) { - generator.writeKey("start_time_in_millis"); - generator.write(this.startTimeInMillis); - - } - if (this.expirationTimeInMillis != null) { - generator.writeKey("expiration_time_in_millis"); - generator.write(this.expirationTimeInMillis); - - } - if (this.completionStatus != null) { - generator.writeKey("completion_status"); - generator.write(this.completionStatus); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetEqlStatusResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String id; - - private Boolean isPartial; - - private Boolean isRunning; - - @Nullable - private Long startTimeInMillis; - - @Nullable - private Long expirationTimeInMillis; - - @Nullable - private Integer completionStatus; - - /** - * Required - Identifier for the search. - *

    - * API name: {@code id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - /** - * Required - If true, the search request is still executing. If false, the - * search is completed. - *

    - * API name: {@code is_partial} - */ - public final Builder isPartial(boolean value) { - this.isPartial = value; - return this; - } - - /** - * Required - If true, the response does not contain complete search results. - * This could be because either the search is still running (is_running status - * is false), or because it is already completed (is_running status is true) and - * results are partial due to failures or timeouts. - *

    - * API name: {@code is_running} - */ - public final Builder isRunning(boolean value) { - this.isRunning = value; - return this; - } - - /** - * For a running search shows a timestamp when the eql search started, in - * milliseconds since the Unix epoch. - *

    - * API name: {@code start_time_in_millis} - */ - public final Builder startTimeInMillis(@Nullable Long value) { - this.startTimeInMillis = value; - return this; - } - - /** - * Shows a timestamp when the eql search will be expired, in milliseconds since - * the Unix epoch. When this time is reached, the search and its results are - * deleted, even if the search is still ongoing. - *

    - * API name: {@code expiration_time_in_millis} - */ - public final Builder expirationTimeInMillis(@Nullable Long value) { - this.expirationTimeInMillis = value; - return this; - } - - /** - * For a completed search shows the http status code of the completed search. - *

    - * API name: {@code completion_status} - */ - public final Builder completionStatus(@Nullable Integer value) { - this.completionStatus = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetEqlStatusResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetEqlStatusResponse build() { - _checkSingleUse(); - - return new GetEqlStatusResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GetEqlStatusResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, GetEqlStatusResponse::setupGetEqlStatusResponseDeserializer); - - protected static void setupGetEqlStatusResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id"); - op.add(Builder::isPartial, JsonpDeserializer.booleanDeserializer(), "is_partial"); - op.add(Builder::isRunning, JsonpDeserializer.booleanDeserializer(), "is_running"); - op.add(Builder::startTimeInMillis, JsonpDeserializer.longDeserializer(), "start_time_in_millis"); - op.add(Builder::expirationTimeInMillis, JsonpDeserializer.longDeserializer(), "expiration_time_in_millis"); - op.add(Builder::completionStatus, JsonpDeserializer.integerDeserializer(), "completion_status"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsEvent.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsEvent.java deleted file mode 100644 index cc2b5bf01..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsEvent.java +++ /dev/null @@ -1,342 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpSerializer; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql._types.HitsEvent - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class HitsEvent implements JsonpSerializable { - private final String index; - - private final String id; - - private final TEvent source; - - @Nullable - private final Boolean missing; - - private final Map> fields; - - @Nullable - private final JsonpSerializer tEventSerializer; - - // --------------------------------------------------------------------------------------------- - - private HitsEvent(Builder builder) { - - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.id = ApiTypeHelper.requireNonNull(builder.id, this, "id"); - this.source = ApiTypeHelper.requireNonNull(builder.source, this, "source"); - this.missing = builder.missing; - this.fields = ApiTypeHelper.unmodifiable(builder.fields); - this.tEventSerializer = builder.tEventSerializer; - - } - - public static HitsEvent of(Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - /** - * Required - Name of the index containing the event. - *

    - * API name: {@code _index} - */ - public final String index() { - return this.index; - } - - /** - * Required - Unique identifier for the event. This ID is only unique within the - * index. - *

    - * API name: {@code _id} - */ - public final String id() { - return this.id; - } - - /** - * Required - Original JSON body passed for the event at index time. - *

    - * API name: {@code _source} - */ - public final TEvent source() { - return this.source; - } - - /** - * Set to true for events in a timespan-constrained sequence that - * do not meet a given condition. - *

    - * API name: {@code missing} - */ - @Nullable - public final Boolean missing() { - return this.missing; - } - - /** - * API name: {@code fields} - */ - public final Map> fields() { - return this.fields; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("_index"); - generator.write(this.index); - - generator.writeKey("_id"); - generator.write(this.id); - - generator.writeKey("_source"); - JsonpUtils.serialize(this.source, generator, tEventSerializer, mapper); - - if (this.missing != null) { - generator.writeKey("missing"); - generator.write(this.missing); - - } - if (ApiTypeHelper.isDefined(this.fields)) { - generator.writeKey("fields"); - generator.writeStartObject(); - for (Map.Entry> item0 : this.fields.entrySet()) { - generator.writeKey(item0.getKey()); - generator.writeStartArray(); - if (item0.getValue() != null) { - for (JsonData item1 : item0.getValue()) { - item1.serialize(generator, mapper); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link HitsEvent}. - */ - - public static class Builder extends WithJsonObjectBuilderBase> - implements - ObjectBuilder> { - private String index; - - private String id; - - private TEvent source; - - @Nullable - private Boolean missing; - - @Nullable - private Map> fields; - - @Nullable - private JsonpSerializer tEventSerializer; - - /** - * Required - Name of the index containing the event. - *

    - * API name: {@code _index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Required - Unique identifier for the event. This ID is only unique within the - * index. - *

    - * API name: {@code _id} - */ - public final Builder id(String value) { - this.id = value; - return this; - } - - /** - * Required - Original JSON body passed for the event at index time. - *

    - * API name: {@code _source} - */ - public final Builder source(TEvent value) { - this.source = value; - return this; - } - - /** - * Set to true for events in a timespan-constrained sequence that - * do not meet a given condition. - *

    - * API name: {@code missing} - */ - public final Builder missing(@Nullable Boolean value) { - this.missing = value; - return this; - } - - /** - * API name: {@code fields} - *

    - * Adds all entries of map to fields. - */ - public final Builder fields(Map> map) { - this.fields = _mapPutAll(this.fields, map); - return this; - } - - /** - * API name: {@code fields} - *

    - * Adds an entry to fields. - */ - public final Builder fields(String key, List value) { - this.fields = _mapPut(this.fields, key, value); - return this; - } - - /** - * Serializer for TEvent. If not set, an attempt will be made to find a - * serializer from the JSON context. - */ - public final Builder tEventSerializer(@Nullable JsonpSerializer value) { - this.tEventSerializer = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link HitsEvent}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public HitsEvent build() { - _checkSingleUse(); - - return new HitsEvent(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for HitsEvent - */ - public static JsonpDeserializer> createHitsEventDeserializer( - JsonpDeserializer tEventDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> HitsEvent.setupHitsEventDeserializer(op, tEventDeserializer)); - }; - - /** - * Json deserializer for {@link HitsEvent} based on named deserializers provided - * by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createHitsEventDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:eql._types.HitsEvent.TEvent"))); - - protected static void setupHitsEventDeserializer(ObjectDeserializer> op, - JsonpDeserializer tEventDeserializer) { - - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "_index"); - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "_id"); - op.add(Builder::source, tEventDeserializer, "_source"); - op.add(Builder::missing, JsonpDeserializer.booleanDeserializer(), "missing"); - op.add(Builder::fields, - JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.arrayDeserializer(JsonData._DESERIALIZER)), - "fields"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsSequence.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsSequence.java deleted file mode 100644 index a5fc9e355..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/HitsSequence.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpSerializer; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.NamedDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import java.util.function.Supplier; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: eql._types.HitsSequence - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class HitsSequence implements JsonpSerializable { - private final List> events; - - private final List joinKeys; - - @Nullable - private final JsonpSerializer tEventSerializer; - - // --------------------------------------------------------------------------------------------- - - private HitsSequence(Builder builder) { - - this.events = ApiTypeHelper.unmodifiableRequired(builder.events, this, "events"); - this.joinKeys = ApiTypeHelper.unmodifiable(builder.joinKeys); - this.tEventSerializer = builder.tEventSerializer; - - } - - public static HitsSequence of(Function, ObjectBuilder>> fn) { - return fn.apply(new Builder<>()).build(); - } - - /** - * Required - Contains events matching the query. Each object represents a - * matching event. - *

    - * API name: {@code events} - */ - public final List> events() { - return this.events; - } - - /** - * Shared field values used to constrain matches in the sequence. These are - * defined using the by keyword in the EQL query syntax. - *

    - * API name: {@code join_keys} - */ - public final List joinKeys() { - return this.joinKeys; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.events)) { - generator.writeKey("events"); - generator.writeStartArray(); - for (HitsEvent item0 : this.events) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.joinKeys)) { - generator.writeKey("join_keys"); - generator.writeStartArray(); - for (JsonData item0 : this.joinKeys) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link HitsSequence}. - */ - - public static class Builder extends WithJsonObjectBuilderBase> - implements - ObjectBuilder> { - private List> events; - - @Nullable - private List joinKeys; - - @Nullable - private JsonpSerializer tEventSerializer; - - /** - * Required - Contains events matching the query. Each object represents a - * matching event. - *

    - * API name: {@code events} - *

    - * Adds all elements of list to events. - */ - public final Builder events(List> list) { - this.events = _listAddAll(this.events, list); - return this; - } - - /** - * Required - Contains events matching the query. Each object represents a - * matching event. - *

    - * API name: {@code events} - *

    - * Adds one or more values to events. - */ - public final Builder events(HitsEvent value, HitsEvent... values) { - this.events = _listAdd(this.events, value, values); - return this; - } - - /** - * Required - Contains events matching the query. Each object represents a - * matching event. - *

    - * API name: {@code events} - *

    - * Adds a value to events using a builder lambda. - */ - public final Builder events(Function, ObjectBuilder>> fn) { - return events(fn.apply(new HitsEvent.Builder()).build()); - } - - /** - * Shared field values used to constrain matches in the sequence. These are - * defined using the by keyword in the EQL query syntax. - *

    - * API name: {@code join_keys} - *

    - * Adds all elements of list to joinKeys. - */ - public final Builder joinKeys(List list) { - this.joinKeys = _listAddAll(this.joinKeys, list); - return this; - } - - /** - * Shared field values used to constrain matches in the sequence. These are - * defined using the by keyword in the EQL query syntax. - *

    - * API name: {@code join_keys} - *

    - * Adds one or more values to joinKeys. - */ - public final Builder joinKeys(JsonData value, JsonData... values) { - this.joinKeys = _listAdd(this.joinKeys, value, values); - return this; - } - - /** - * Serializer for TEvent. If not set, an attempt will be made to find a - * serializer from the JSON context. - */ - public final Builder tEventSerializer(@Nullable JsonpSerializer value) { - this.tEventSerializer = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link HitsSequence}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public HitsSequence build() { - _checkSingleUse(); - - return new HitsSequence(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Create a JSON deserializer for HitsSequence - */ - public static JsonpDeserializer> createHitsSequenceDeserializer( - JsonpDeserializer tEventDeserializer) { - return ObjectBuilderDeserializer.createForObject((Supplier>) Builder::new, - op -> HitsSequence.setupHitsSequenceDeserializer(op, tEventDeserializer)); - }; - - /** - * Json deserializer for {@link HitsSequence} based on named deserializers - * provided by the calling {@code JsonMapper}. - */ - public static final JsonpDeserializer> _DESERIALIZER = JsonpDeserializer - .lazy(() -> createHitsSequenceDeserializer( - new NamedDeserializer<>("co.elastic.clients:Deserializer:eql._types.HitsSequence.TEvent"))); - - protected static void setupHitsSequenceDeserializer(ObjectDeserializer> op, - JsonpDeserializer tEventDeserializer) { - - op.add(Builder::events, - JsonpDeserializer.arrayDeserializer(HitsEvent.createHitsEventDeserializer(tEventDeserializer)), - "events"); - op.add(Builder::joinKeys, JsonpDeserializer.arrayDeserializer(JsonData._DESERIALIZER), "join_keys"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/search/ResultPosition.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/search/ResultPosition.java deleted file mode 100644 index c67531c4e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/eql/search/ResultPosition.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.eql.search; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum ResultPosition implements JsonEnum { - /** - * Return the most recent matches, similar to the Unix tail command. - */ - Tail("tail"), - - /** - * Return the earliest matches, similar to the Unix head command. - */ - Head("head"), - - ; - - private final String jsonValue; - - ResultPosition(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - ResultPosition.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java deleted file mode 100644 index dac958485..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlAsyncClient.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._helpers.esql.EsqlAdapter; -import co.elastic.clients.elasticsearch._helpers.esql.EsqlHelper; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BinaryResponse; -import co.elastic.clients.util.ObjectBuilder; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the esql namespace. - */ -public class ElasticsearchEsqlAsyncClient extends ApiClient { - - public ElasticsearchEsqlAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEsqlAsyncClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEsqlAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEsqlAsyncClient(this.transport, transportOptions); - } - - // ----- Endpoint: esql.query - - /** - * Executes an ES|QL request - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture query(QueryRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) QueryRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Executes an ES|QL request - * - * @param fn - * a function that initializes a builder to create the - * {@link QueryRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture query( - Function> fn) { - return query(fn.apply(new QueryRequest.Builder()).build()); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param query - * the ES|QL query - * @param parameters - * values for query parameters, if any - */ - public final CompletableFuture query(EsqlAdapter adapter, String query, Object... parameters) { - return EsqlHelper.queryAsync(this, adapter, query, parameters); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param request - * the ES|QL request - */ - public final CompletableFuture query(EsqlAdapter adapter, QueryRequest request) { - return EsqlHelper.queryAsync(this, adapter, request); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param fn - * the ES|QL request builder - */ - public final CompletableFuture query(EsqlAdapter adapter, - Function> fn) { - return EsqlHelper.queryAsync(this, adapter, fn.apply(new QueryRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java deleted file mode 100644 index 434231f81..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/ElasticsearchEsqlClient.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._helpers.esql.EsqlAdapter; -import co.elastic.clients.elasticsearch._helpers.esql.EsqlHelper; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BinaryResponse; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the esql namespace. - */ -public class ElasticsearchEsqlClient extends ApiClient { - - public ElasticsearchEsqlClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchEsqlClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchEsqlClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchEsqlClient(this.transport, transportOptions); - } - - // ----- Endpoint: esql.query - - /** - * Executes an ES|QL request - * - * @see Documentation - * on elastic.co - */ - - public BinaryResponse query(QueryRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) QueryRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Executes an ES|QL request - * - * @param fn - * a function that initializes a builder to create the - * {@link QueryRequest} - * @see Documentation - * on elastic.co - */ - - public final BinaryResponse query(Function> fn) - throws IOException, ElasticsearchException { - return query(fn.apply(new QueryRequest.Builder()).build()); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param query - * the ES|QL query - * @param parameters - * values for query parameters, if any - */ - public final T query(EsqlAdapter adapter, String query, Object... parameters) - throws IOException, ElasticsearchException { - return EsqlHelper.query(this, adapter, query, parameters); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param request - * the ES|QL request - */ - public final T query(EsqlAdapter adapter, QueryRequest request) throws IOException, ElasticsearchException { - return EsqlHelper.query(this, adapter, request); - } - - /** - * Executes an ES|QL request and adapts its result to a target type. - * - * @param adapter - * the ES|QL response adapter - * @param fn - * the ES|QL request builder - */ - public final T query(EsqlAdapter adapter, Function> fn) - throws IOException, ElasticsearchException { - return query(adapter, fn.apply(new QueryRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java deleted file mode 100644 index 70aa0079b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java +++ /dev/null @@ -1,660 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.FieldValue; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.elasticsearch.esql.query.EsqlFormat; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.BinaryEndpoint; -import co.elastic.clients.transport.endpoints.BinaryResponse; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: esql.query.Request - -/** - * Executes an ES|QL request - * - * @see API - * specification - */ -@JsonpDeserializable -public class QueryRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Boolean columnar; - - @Nullable - private final String delimiter; - - @Nullable - private final Boolean dropNullColumns; - - @Nullable - private final Query filter; - - @Nullable - private final EsqlFormat format; - - @Nullable - private final String locale; - - private final List params; - - @Nullable - private final Boolean profile; - - private final String query; - - private final Map> tables; - - // --------------------------------------------------------------------------------------------- - - private QueryRequest(Builder builder) { - - this.columnar = builder.columnar; - this.delimiter = builder.delimiter; - this.dropNullColumns = builder.dropNullColumns; - this.filter = builder.filter; - this.format = builder.format; - this.locale = builder.locale; - this.params = ApiTypeHelper.unmodifiable(builder.params); - this.profile = builder.profile; - this.query = ApiTypeHelper.requireNonNull(builder.query, this, "query"); - this.tables = ApiTypeHelper.unmodifiable(builder.tables); - - } - - public static QueryRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * By default, ES|QL returns results as rows. For example, FROM returns each - * individual document as one row. For the JSON, YAML, CBOR and smile formats, - * ES|QL can return the results in a columnar fashion where one row represents - * all the values of a certain column in the results. - *

    - * API name: {@code columnar} - */ - @Nullable - public final Boolean columnar() { - return this.columnar; - } - - /** - * The character to use between values within a CSV row. Only valid for the CSV - * format. - *

    - * API name: {@code delimiter} - */ - @Nullable - public final String delimiter() { - return this.delimiter; - } - - /** - * Should columns that are entirely null be removed from the - * columns and values portion of the results? Defaults - * to false. If true then the response will include an - * extra section under the name all_columns which has the name of - * all columns. - *

    - * API name: {@code drop_null_columns} - */ - @Nullable - public final Boolean dropNullColumns() { - return this.dropNullColumns; - } - - /** - * Specify a Query DSL query in the filter parameter to filter the set of - * documents that an ES|QL query runs on. - *

    - * API name: {@code filter} - */ - @Nullable - public final Query filter() { - return this.filter; - } - - /** - * A short version of the Accept header, e.g. json, yaml. - *

    - * API name: {@code format} - */ - @Nullable - public final EsqlFormat format() { - return this.format; - } - - /** - * API name: {@code locale} - */ - @Nullable - public final String locale() { - return this.locale; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - */ - public final List params() { - return this.params; - } - - /** - * If provided and true the response will include an extra - * profile object with information on how the query was executed. - * This information is for human debugging and its format can change at any time - * but it can give some insight into the performance of each part of the query. - *

    - * API name: {@code profile} - */ - @Nullable - public final Boolean profile() { - return this.profile; - } - - /** - * Required - The ES|QL query API accepts an ES|QL query string in the query - * parameter, runs it, and returns the results. - *

    - * API name: {@code query} - */ - public final String query() { - return this.query; - } - - /** - * Tables to use with the LOOKUP operation. The top level key is the table name - * and the next level key is the column name. - *

    - * API name: {@code tables} - */ - public final Map> tables() { - return this.tables; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.columnar != null) { - generator.writeKey("columnar"); - generator.write(this.columnar); - - } - if (this.filter != null) { - generator.writeKey("filter"); - this.filter.serialize(generator, mapper); - - } - if (this.locale != null) { - generator.writeKey("locale"); - generator.write(this.locale); - - } - if (ApiTypeHelper.isDefined(this.params)) { - generator.writeKey("params"); - generator.writeStartArray(); - for (FieldValue item0 : this.params) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.profile != null) { - generator.writeKey("profile"); - generator.write(this.profile); - - } - generator.writeKey("query"); - generator.write(this.query); - - if (ApiTypeHelper.isDefined(this.tables)) { - generator.writeKey("tables"); - generator.writeStartObject(); - for (Map.Entry> item0 : this.tables.entrySet()) { - generator.writeKey(item0.getKey()); - generator.writeStartObject(); - if (item0.getValue() != null) { - for (Map.Entry item1 : item0.getValue().entrySet()) { - generator.writeKey(item1.getKey()); - item1.getValue().serialize(generator, mapper); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link QueryRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean columnar; - - @Nullable - private String delimiter; - - @Nullable - private Boolean dropNullColumns; - - @Nullable - private Query filter; - - @Nullable - private EsqlFormat format; - - @Nullable - private String locale; - - @Nullable - private List params; - - @Nullable - private Boolean profile; - - private String query; - - @Nullable - private Map> tables; - - /** - * By default, ES|QL returns results as rows. For example, FROM returns each - * individual document as one row. For the JSON, YAML, CBOR and smile formats, - * ES|QL can return the results in a columnar fashion where one row represents - * all the values of a certain column in the results. - *

    - * API name: {@code columnar} - */ - public final Builder columnar(@Nullable Boolean value) { - this.columnar = value; - return this; - } - - /** - * The character to use between values within a CSV row. Only valid for the CSV - * format. - *

    - * API name: {@code delimiter} - */ - public final Builder delimiter(@Nullable String value) { - this.delimiter = value; - return this; - } - - /** - * Should columns that are entirely null be removed from the - * columns and values portion of the results? Defaults - * to false. If true then the response will include an - * extra section under the name all_columns which has the name of - * all columns. - *

    - * API name: {@code drop_null_columns} - */ - public final Builder dropNullColumns(@Nullable Boolean value) { - this.dropNullColumns = value; - return this; - } - - /** - * Specify a Query DSL query in the filter parameter to filter the set of - * documents that an ES|QL query runs on. - *

    - * API name: {@code filter} - */ - public final Builder filter(@Nullable Query value) { - this.filter = value; - return this; - } - - /** - * Specify a Query DSL query in the filter parameter to filter the set of - * documents that an ES|QL query runs on. - *

    - * API name: {@code filter} - */ - public final Builder filter(Function> fn) { - return this.filter(fn.apply(new Query.Builder()).build()); - } - - /** - * A short version of the Accept header, e.g. json, yaml. - *

    - * API name: {@code format} - */ - public final Builder format(@Nullable EsqlFormat value) { - this.format = value; - return this; - } - - /** - * API name: {@code locale} - */ - public final Builder locale(@Nullable String value) { - this.locale = value; - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds all elements of list to params. - */ - public final Builder params(List list) { - this.params = _listAddAll(this.params, list); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds one or more values to params. - */ - public final Builder params(FieldValue value, FieldValue... values) { - this.params = _listAdd(this.params, value, values); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds all passed values to params. - */ - public final Builder params(String value, String... values) { - this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); - for (String v : values) { - fieldValues.add(FieldValue.of(v)); - } - this.params = _listAddAll(this.params, fieldValues); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds all passed values to params. - */ - public final Builder params(long value, long... values) { - this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); - for (long v : values) { - fieldValues.add(FieldValue.of(v)); - } - this.params = _listAddAll(this.params, fieldValues); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds all passed values to params. - */ - public final Builder params(double value, double... values) { - this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); - for (double v : values) { - fieldValues.add(FieldValue.of(v)); - } - this.params = _listAddAll(this.params, fieldValues); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds all passed values to params. - */ - public final Builder params(boolean value, boolean... values) { - this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); - for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); - } - this.params = _listAddAll(this.params, fieldValues); - return this; - } - - /** - * To avoid any attempts of hacking or code injection, extract the values in a - * separate list of parameters. Use question mark placeholders (?) in the query - * string for each of the parameters. - *

    - * API name: {@code params} - *

    - * Adds a value to params using a builder lambda. - */ - public final Builder params(Function> fn) { - return params(fn.apply(new FieldValue.Builder()).build()); - } - - /** - * If provided and true the response will include an extra - * profile object with information on how the query was executed. - * This information is for human debugging and its format can change at any time - * but it can give some insight into the performance of each part of the query. - *

    - * API name: {@code profile} - */ - public final Builder profile(@Nullable Boolean value) { - this.profile = value; - return this; - } - - /** - * Required - The ES|QL query API accepts an ES|QL query string in the query - * parameter, runs it, and returns the results. - *

    - * API name: {@code query} - */ - public final Builder query(String value) { - this.query = value; - return this; - } - - /** - * Tables to use with the LOOKUP operation. The top level key is the table name - * and the next level key is the column name. - *

    - * API name: {@code tables} - *

    - * Adds all entries of map to tables. - */ - public final Builder tables(Map> map) { - this.tables = _mapPutAll(this.tables, map); - return this; - } - - /** - * Tables to use with the LOOKUP operation. The top level key is the table name - * and the next level key is the column name. - *

    - * API name: {@code tables} - *

    - * Adds an entry to tables. - */ - public final Builder tables(String key, Map value) { - this.tables = _mapPut(this.tables, key, value); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link QueryRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public QueryRequest build() { - _checkSingleUse(); - - return new QueryRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link QueryRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - QueryRequest::setupQueryRequestDeserializer); - - protected static void setupQueryRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::columnar, JsonpDeserializer.booleanDeserializer(), "columnar"); - op.add(Builder::filter, Query._DESERIALIZER, "filter"); - op.add(Builder::locale, JsonpDeserializer.stringDeserializer(), "locale"); - op.add(Builder::params, JsonpDeserializer.arrayDeserializer(FieldValue._DESERIALIZER), "params"); - op.add(Builder::profile, JsonpDeserializer.booleanDeserializer(), "profile"); - op.add(Builder::query, JsonpDeserializer.stringDeserializer(), "query"); - op.add(Builder::tables, JsonpDeserializer - .stringMapDeserializer(JsonpDeserializer.stringMapDeserializer(TableValues._DESERIALIZER)), "tables"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code esql.query}". - */ - public static final Endpoint _ENDPOINT = new BinaryEndpoint<>( - "es/esql.query", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - return "/_query"; - - }, - - // Path parameters - request -> { - return Collections.emptyMap(); - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.delimiter != null) { - params.put("delimiter", request.delimiter); - } - if (request.format != null) { - params.put("format", request.format.jsonValue()); - } - if (request.dropNullColumns != null) { - params.put("drop_null_columns", String.valueOf(request.dropNullColumns)); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, null); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValues.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValues.java deleted file mode 100644 index 78c10bca9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValues.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.Integer; -import java.lang.Long; -import java.lang.Object; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: esql._types.TableValuesContainer - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class TableValues implements TaggedUnion, JsonpSerializable { - - /** - * {@link TableValues} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - Integer("integer"), - - Keyword("keyword"), - - Long("long"), - - Double("double"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public TableValues(TableValuesVariant value) { - - this._kind = ApiTypeHelper.requireNonNull(value._tableValuesKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); - - } - - private TableValues(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static TableValues of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code integer}? - */ - public boolean isInteger() { - return _kind == Kind.Integer; - } - - /** - * Get the {@code integer} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code integer} kind. - */ - public List> integer() { - return TaggedUnionUtils.get(this, Kind.Integer); - } - - /** - * Is this variant instance of kind {@code keyword}? - */ - public boolean isKeyword() { - return _kind == Kind.Keyword; - } - - /** - * Get the {@code keyword} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code keyword} kind. - */ - public List> keyword() { - return TaggedUnionUtils.get(this, Kind.Keyword); - } - - /** - * Is this variant instance of kind {@code long}? - */ - public boolean isLong() { - return _kind == Kind.Long; - } - - /** - * Get the {@code long} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code long} kind. - */ - public List> long_() { - return TaggedUnionUtils.get(this, Kind.Long); - } - - /** - * Is this variant instance of kind {@code double}? - */ - public boolean isDouble() { - return _kind == Kind.Double; - } - - /** - * Get the {@code double} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code double} kind. - */ - public List> double_() { - return TaggedUnionUtils.get(this, Kind.Double); - } - - @Override - @SuppressWarnings("unchecked") - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeStartObject(); - - generator.writeKey(_kind.jsonValue()); - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } else { - switch (_kind) { - case Integer : - generator.writeStartArray(); - for (List item0 : ((List>) this._value)) { - generator.writeStartArray(); - if (item0 != null) { - for (Integer item1 : item0) { - generator.write(item1); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - break; - case Keyword : - generator.writeStartArray(); - for (List item0 : ((List>) this._value)) { - generator.writeStartArray(); - if (item0 != null) { - for (String item1 : item0) { - generator.write(item1); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - break; - case Long : - generator.writeStartArray(); - for (List item0 : ((List>) this._value)) { - generator.writeStartArray(); - if (item0 != null) { - for (Long item1 : item0) { - generator.write(item1); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - break; - case Double : - generator.writeStartArray(); - for (List item0 : ((List>) this._value)) { - generator.writeStartArray(); - if (item0 != null) { - for (Double item1 : item0) { - generator.write(item1); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - break; - } - } - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - @Override - protected Builder self() { - return this; - } - public ObjectBuilder integer(List> v) { - this._kind = Kind.Integer; - this._value = v; - return this; - } - - public ObjectBuilder keyword(List> v) { - this._kind = Kind.Keyword; - this._value = v; - return this; - } - - public ObjectBuilder long_(List> v) { - this._kind = Kind.Long; - this._value = v; - return this; - } - - public ObjectBuilder double_(List> v) { - this._kind = Kind.Double; - this._value = v; - return this; - } - - public TableValues build() { - _checkSingleUse(); - return new TableValues(this); - } - - } - - protected static void setupTableValuesDeserializer(ObjectDeserializer op) { - - op.add(Builder::integer, JsonpDeserializer.arrayDeserializer( - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.integerDeserializer())), "integer"); - op.add(Builder::keyword, JsonpDeserializer.arrayDeserializer( - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer())), "keyword"); - op.add(Builder::long_, JsonpDeserializer - .arrayDeserializer(JsonpDeserializer.arrayDeserializer(JsonpDeserializer.longDeserializer())), "long"); - op.add(Builder::double_, JsonpDeserializer.arrayDeserializer( - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.doubleDeserializer())), "double"); - - } - - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - TableValues::setupTableValuesDeserializer, Builder::build); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesBuilders.java deleted file mode 100644 index 54f740e44..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesBuilders.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -import co.elastic.clients.util.ObjectBuilder; -import java.lang.Double; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link TableValues} variants. - *

    - * Variants integer, keyword, long, - * double are not available here as they don't have a dedicated - * class. Use {@link TableValues}'s builder for these. - * - */ -public class TableValuesBuilders { - private TableValuesBuilders() { - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesVariant.java deleted file mode 100644 index 7fc6bbd29..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/TableValuesVariant.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Base interface for {@link TableValues} variants. - */ -public interface TableValuesVariant { - - TableValues.Kind _tableValuesKind(); - - default TableValues _toTableValues() { - return new TableValues(this); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/query/EsqlFormat.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/query/EsqlFormat.java deleted file mode 100644 index f8870ad48..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/esql/query/EsqlFormat.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.esql.query; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum EsqlFormat implements JsonEnum { - Csv("csv"), - - Json("json"), - - Tsv("tsv"), - - Txt("txt"), - - Yaml("yaml"), - - Cbor("cbor"), - - Smile("smile"), - - Arrow("arrow"), - - ; - - private final String jsonValue; - - EsqlFormat(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - EsqlFormat.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Connection.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Connection.java deleted file mode 100644 index 91c1fda17..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Connection.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.Connection - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Connection implements JsonpSerializable { - private final long docCount; - - private final long source; - - private final long target; - - private final double weight; - - // --------------------------------------------------------------------------------------------- - - private Connection(Builder builder) { - - this.docCount = ApiTypeHelper.requireNonNull(builder.docCount, this, "docCount"); - this.source = ApiTypeHelper.requireNonNull(builder.source, this, "source"); - this.target = ApiTypeHelper.requireNonNull(builder.target, this, "target"); - this.weight = ApiTypeHelper.requireNonNull(builder.weight, this, "weight"); - - } - - public static Connection of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code doc_count} - */ - public final long docCount() { - return this.docCount; - } - - /** - * Required - API name: {@code source} - */ - public final long source() { - return this.source; - } - - /** - * Required - API name: {@code target} - */ - public final long target() { - return this.target; - } - - /** - * Required - API name: {@code weight} - */ - public final double weight() { - return this.weight; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("doc_count"); - generator.write(this.docCount); - - generator.writeKey("source"); - generator.write(this.source); - - generator.writeKey("target"); - generator.write(this.target); - - generator.writeKey("weight"); - generator.write(this.weight); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Connection}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Long docCount; - - private Long source; - - private Long target; - - private Double weight; - - /** - * Required - API name: {@code doc_count} - */ - public final Builder docCount(long value) { - this.docCount = value; - return this; - } - - /** - * Required - API name: {@code source} - */ - public final Builder source(long value) { - this.source = value; - return this; - } - - /** - * Required - API name: {@code target} - */ - public final Builder target(long value) { - this.target = value; - return this; - } - - /** - * Required - API name: {@code weight} - */ - public final Builder weight(double value) { - this.weight = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Connection}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Connection build() { - _checkSingleUse(); - - return new Connection(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Connection} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Connection::setupConnectionDeserializer); - - protected static void setupConnectionDeserializer(ObjectDeserializer op) { - - op.add(Builder::docCount, JsonpDeserializer.longDeserializer(), "doc_count"); - op.add(Builder::source, JsonpDeserializer.longDeserializer(), "source"); - op.add(Builder::target, JsonpDeserializer.longDeserializer(), "target"); - op.add(Builder::weight, JsonpDeserializer.doubleDeserializer(), "weight"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java deleted file mode 100644 index 77b0c4230..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphAsyncClient.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.util.ObjectBuilder; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the graph namespace. - */ -public class ElasticsearchGraphAsyncClient extends ApiClient { - - public ElasticsearchGraphAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchGraphAsyncClient(ElasticsearchTransport transport, - @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchGraphAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchGraphAsyncClient(this.transport, transportOptions); - } - - // ----- Endpoint: graph.explore - - /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture explore(ExploreRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExploreRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExploreRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture explore( - Function> fn) { - return explore(fn.apply(new ExploreRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java deleted file mode 100644 index af2acaf93..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ElasticsearchGraphClient.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the graph namespace. - */ -public class ElasticsearchGraphClient extends ApiClient { - - public ElasticsearchGraphClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchGraphClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchGraphClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchGraphClient(this.transport, transportOptions); - } - - // ----- Endpoint: graph.explore - - /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. - * - * @see Documentation - * on elastic.co - */ - - public ExploreResponse explore(ExploreRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExploreRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExploreRequest} - * @see Documentation - * on elastic.co - */ - - public final ExploreResponse explore(Function> fn) - throws IOException, ElasticsearchException { - return explore(fn.apply(new ExploreRequest.Builder()).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreControls.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreControls.java deleted file mode 100644 index 80534cc9d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreControls.java +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.ExploreControls - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExploreControls implements JsonpSerializable { - @Nullable - private final SampleDiversity sampleDiversity; - - @Nullable - private final Integer sampleSize; - - @Nullable - private final Time timeout; - - private final boolean useSignificance; - - // --------------------------------------------------------------------------------------------- - - private ExploreControls(Builder builder) { - - this.sampleDiversity = builder.sampleDiversity; - this.sampleSize = builder.sampleSize; - this.timeout = builder.timeout; - this.useSignificance = ApiTypeHelper.requireNonNull(builder.useSignificance, this, "useSignificance"); - - } - - public static ExploreControls of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * To avoid the top-matching documents sample being dominated by a single source - * of results, it is sometimes necessary to request diversity in the sample. You - * can do this by selecting a single-value field and setting a maximum number of - * documents per value for that field. - *

    - * API name: {@code sample_diversity} - */ - @Nullable - public final SampleDiversity sampleDiversity() { - return this.sampleDiversity; - } - - /** - * Each hop considers a sample of the best-matching documents on each shard. - * Using samples improves the speed of execution and keeps exploration focused - * on meaningfully-connected terms. Very small values (less than 50) might not - * provide sufficient weight-of-evidence to identify significant connections - * between terms. Very large sample sizes can dilute the quality of the results - * and increase execution times. - *

    - * API name: {@code sample_size} - */ - @Nullable - public final Integer sampleSize() { - return this.sampleSize; - } - - /** - * The length of time in milliseconds after which exploration will be halted and - * the results gathered so far are returned. This timeout is honored on a - * best-effort basis. Execution might overrun this timeout if, for example, a - * long pause is encountered while FieldData is loaded for a field. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Required - Filters associated terms so only those that are significantly - * associated with your query are included. - *

    - * API name: {@code use_significance} - */ - public final boolean useSignificance() { - return this.useSignificance; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.sampleDiversity != null) { - generator.writeKey("sample_diversity"); - this.sampleDiversity.serialize(generator, mapper); - - } - if (this.sampleSize != null) { - generator.writeKey("sample_size"); - generator.write(this.sampleSize); - - } - if (this.timeout != null) { - generator.writeKey("timeout"); - this.timeout.serialize(generator, mapper); - - } - generator.writeKey("use_significance"); - generator.write(this.useSignificance); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExploreControls}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private SampleDiversity sampleDiversity; - - @Nullable - private Integer sampleSize; - - @Nullable - private Time timeout; - - private Boolean useSignificance; - - /** - * To avoid the top-matching documents sample being dominated by a single source - * of results, it is sometimes necessary to request diversity in the sample. You - * can do this by selecting a single-value field and setting a maximum number of - * documents per value for that field. - *

    - * API name: {@code sample_diversity} - */ - public final Builder sampleDiversity(@Nullable SampleDiversity value) { - this.sampleDiversity = value; - return this; - } - - /** - * To avoid the top-matching documents sample being dominated by a single source - * of results, it is sometimes necessary to request diversity in the sample. You - * can do this by selecting a single-value field and setting a maximum number of - * documents per value for that field. - *

    - * API name: {@code sample_diversity} - */ - public final Builder sampleDiversity(Function> fn) { - return this.sampleDiversity(fn.apply(new SampleDiversity.Builder()).build()); - } - - /** - * Each hop considers a sample of the best-matching documents on each shard. - * Using samples improves the speed of execution and keeps exploration focused - * on meaningfully-connected terms. Very small values (less than 50) might not - * provide sufficient weight-of-evidence to identify significant connections - * between terms. Very large sample sizes can dilute the quality of the results - * and increase execution times. - *

    - * API name: {@code sample_size} - */ - public final Builder sampleSize(@Nullable Integer value) { - this.sampleSize = value; - return this; - } - - /** - * The length of time in milliseconds after which exploration will be halted and - * the results gathered so far are returned. This timeout is honored on a - * best-effort basis. Execution might overrun this timeout if, for example, a - * long pause is encountered while FieldData is loaded for a field. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * The length of time in milliseconds after which exploration will be halted and - * the results gathered so far are returned. This timeout is honored on a - * best-effort basis. Execution might overrun this timeout if, for example, a - * long pause is encountered while FieldData is loaded for a field. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Filters associated terms so only those that are significantly - * associated with your query are included. - *

    - * API name: {@code use_significance} - */ - public final Builder useSignificance(boolean value) { - this.useSignificance = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExploreControls}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExploreControls build() { - _checkSingleUse(); - - return new ExploreControls(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExploreControls} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ExploreControls::setupExploreControlsDeserializer); - - protected static void setupExploreControlsDeserializer(ObjectDeserializer op) { - - op.add(Builder::sampleDiversity, SampleDiversity._DESERIALIZER, "sample_diversity"); - op.add(Builder::sampleSize, JsonpDeserializer.integerDeserializer(), "sample_size"); - op.add(Builder::timeout, Time._DESERIALIZER, "timeout"); - op.add(Builder::useSignificance, JsonpDeserializer.booleanDeserializer(), "use_significance"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java deleted file mode 100644 index 601f88927..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java +++ /dev/null @@ -1,500 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph.explore.Request - -/** - * Extracts and summarizes information about the documents and terms in an - * Elasticsearch data stream or index. - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExploreRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Hop connections; - - @Nullable - private final ExploreControls controls; - - private final List index; - - @Nullable - private final Query query; - - @Nullable - private final String routing; - - @Nullable - private final Time timeout; - - private final List vertices; - - // --------------------------------------------------------------------------------------------- - - private ExploreRequest(Builder builder) { - - this.connections = builder.connections; - this.controls = builder.controls; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.query = builder.query; - this.routing = builder.routing; - this.timeout = builder.timeout; - this.vertices = ApiTypeHelper.unmodifiable(builder.vertices); - - } - - public static ExploreRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Specifies or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - @Nullable - public final Hop connections() { - return this.connections; - } - - /** - * Direct the Graph API how to build the graph. - *

    - * API name: {@code controls} - */ - @Nullable - public final ExploreControls controls() { - return this.controls; - } - - /** - * Required - Name of the index. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * A seed query that identifies the documents of interest. Can be any valid - * Elasticsearch query. - *

    - * API name: {@code query} - */ - @Nullable - public final Query query() { - return this.query; - } - - /** - * Custom value used to route operations to a specific shard. - *

    - * API name: {@code routing} - */ - @Nullable - public final String routing() { - return this.routing; - } - - /** - * Specifies the period of time to wait for a response from each shard. If no - * response is received before the timeout expires, the request fails and - * returns an error. Defaults to no timeout. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Specifies one or more fields that contain the terms you want to include in - * the graph as vertices. - *

    - * API name: {@code vertices} - */ - public final List vertices() { - return this.vertices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.connections != null) { - generator.writeKey("connections"); - this.connections.serialize(generator, mapper); - - } - if (this.controls != null) { - generator.writeKey("controls"); - this.controls.serialize(generator, mapper); - - } - if (this.query != null) { - generator.writeKey("query"); - this.query.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.vertices)) { - generator.writeKey("vertices"); - generator.writeStartArray(); - for (VertexDefinition item0 : this.vertices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExploreRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Hop connections; - - @Nullable - private ExploreControls controls; - - private List index; - - @Nullable - private Query query; - - @Nullable - private String routing; - - @Nullable - private Time timeout; - - @Nullable - private List vertices; - - /** - * Specifies or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - public final Builder connections(@Nullable Hop value) { - this.connections = value; - return this; - } - - /** - * Specifies or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - public final Builder connections(Function> fn) { - return this.connections(fn.apply(new Hop.Builder()).build()); - } - - /** - * Direct the Graph API how to build the graph. - *

    - * API name: {@code controls} - */ - public final Builder controls(@Nullable ExploreControls value) { - this.controls = value; - return this; - } - - /** - * Direct the Graph API how to build the graph. - *

    - * API name: {@code controls} - */ - public final Builder controls(Function> fn) { - return this.controls(fn.apply(new ExploreControls.Builder()).build()); - } - - /** - * Required - Name of the index. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Name of the index. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * A seed query that identifies the documents of interest. Can be any valid - * Elasticsearch query. - *

    - * API name: {@code query} - */ - public final Builder query(@Nullable Query value) { - this.query = value; - return this; - } - - /** - * A seed query that identifies the documents of interest. Can be any valid - * Elasticsearch query. - *

    - * API name: {@code query} - */ - public final Builder query(Function> fn) { - return this.query(fn.apply(new Query.Builder()).build()); - } - - /** - * Custom value used to route operations to a specific shard. - *

    - * API name: {@code routing} - */ - public final Builder routing(@Nullable String value) { - this.routing = value; - return this; - } - - /** - * Specifies the period of time to wait for a response from each shard. If no - * response is received before the timeout expires, the request fails and - * returns an error. Defaults to no timeout. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Specifies the period of time to wait for a response from each shard. If no - * response is received before the timeout expires, the request fails and - * returns an error. Defaults to no timeout. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Specifies one or more fields that contain the terms you want to include in - * the graph as vertices. - *

    - * API name: {@code vertices} - *

    - * Adds all elements of list to vertices. - */ - public final Builder vertices(List list) { - this.vertices = _listAddAll(this.vertices, list); - return this; - } - - /** - * Specifies one or more fields that contain the terms you want to include in - * the graph as vertices. - *

    - * API name: {@code vertices} - *

    - * Adds one or more values to vertices. - */ - public final Builder vertices(VertexDefinition value, VertexDefinition... values) { - this.vertices = _listAdd(this.vertices, value, values); - return this; - } - - /** - * Specifies one or more fields that contain the terms you want to include in - * the graph as vertices. - *

    - * API name: {@code vertices} - *

    - * Adds a value to vertices using a builder lambda. - */ - public final Builder vertices(Function> fn) { - return vertices(fn.apply(new VertexDefinition.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExploreRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExploreRequest build() { - _checkSingleUse(); - - return new ExploreRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExploreRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ExploreRequest::setupExploreRequestDeserializer); - - protected static void setupExploreRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::connections, Hop._DESERIALIZER, "connections"); - op.add(Builder::controls, ExploreControls._DESERIALIZER, "controls"); - op.add(Builder::query, Query._DESERIALIZER, "query"); - op.add(Builder::vertices, JsonpDeserializer.arrayDeserializer(VertexDefinition._DESERIALIZER), "vertices"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code graph.explore}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/graph.explore", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_graph"); - buf.append("/explore"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.routing != null) { - params.put("routing", request.routing); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, ExploreResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreResponse.java deleted file mode 100644 index 0631b2350..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreResponse.java +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.elasticsearch._types.ShardFailure; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph.explore.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExploreResponse implements JsonpSerializable { - private final List connections; - - private final List failures; - - private final boolean timedOut; - - private final long took; - - private final List vertices; - - // --------------------------------------------------------------------------------------------- - - private ExploreResponse(Builder builder) { - - this.connections = ApiTypeHelper.unmodifiableRequired(builder.connections, this, "connections"); - this.failures = ApiTypeHelper.unmodifiableRequired(builder.failures, this, "failures"); - this.timedOut = ApiTypeHelper.requireNonNull(builder.timedOut, this, "timedOut"); - this.took = ApiTypeHelper.requireNonNull(builder.took, this, "took"); - this.vertices = ApiTypeHelper.unmodifiableRequired(builder.vertices, this, "vertices"); - - } - - public static ExploreResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code connections} - */ - public final List connections() { - return this.connections; - } - - /** - * Required - API name: {@code failures} - */ - public final List failures() { - return this.failures; - } - - /** - * Required - API name: {@code timed_out} - */ - public final boolean timedOut() { - return this.timedOut; - } - - /** - * Required - API name: {@code took} - */ - public final long took() { - return this.took; - } - - /** - * Required - API name: {@code vertices} - */ - public final List vertices() { - return this.vertices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.connections)) { - generator.writeKey("connections"); - generator.writeStartArray(); - for (Connection item0 : this.connections) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.failures)) { - generator.writeKey("failures"); - generator.writeStartArray(); - for (ShardFailure item0 : this.failures) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("timed_out"); - generator.write(this.timedOut); - - generator.writeKey("took"); - generator.write(this.took); - - if (ApiTypeHelper.isDefined(this.vertices)) { - generator.writeKey("vertices"); - generator.writeStartArray(); - for (Vertex item0 : this.vertices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExploreResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List connections; - - private List failures; - - private Boolean timedOut; - - private Long took; - - private List vertices; - - /** - * Required - API name: {@code connections} - *

    - * Adds all elements of list to connections. - */ - public final Builder connections(List list) { - this.connections = _listAddAll(this.connections, list); - return this; - } - - /** - * Required - API name: {@code connections} - *

    - * Adds one or more values to connections. - */ - public final Builder connections(Connection value, Connection... values) { - this.connections = _listAdd(this.connections, value, values); - return this; - } - - /** - * Required - API name: {@code connections} - *

    - * Adds a value to connections using a builder lambda. - */ - public final Builder connections(Function> fn) { - return connections(fn.apply(new Connection.Builder()).build()); - } - - /** - * Required - API name: {@code failures} - *

    - * Adds all elements of list to failures. - */ - public final Builder failures(List list) { - this.failures = _listAddAll(this.failures, list); - return this; - } - - /** - * Required - API name: {@code failures} - *

    - * Adds one or more values to failures. - */ - public final Builder failures(ShardFailure value, ShardFailure... values) { - this.failures = _listAdd(this.failures, value, values); - return this; - } - - /** - * Required - API name: {@code failures} - *

    - * Adds a value to failures using a builder lambda. - */ - public final Builder failures(Function> fn) { - return failures(fn.apply(new ShardFailure.Builder()).build()); - } - - /** - * Required - API name: {@code timed_out} - */ - public final Builder timedOut(boolean value) { - this.timedOut = value; - return this; - } - - /** - * Required - API name: {@code took} - */ - public final Builder took(long value) { - this.took = value; - return this; - } - - /** - * Required - API name: {@code vertices} - *

    - * Adds all elements of list to vertices. - */ - public final Builder vertices(List list) { - this.vertices = _listAddAll(this.vertices, list); - return this; - } - - /** - * Required - API name: {@code vertices} - *

    - * Adds one or more values to vertices. - */ - public final Builder vertices(Vertex value, Vertex... values) { - this.vertices = _listAdd(this.vertices, value, values); - return this; - } - - /** - * Required - API name: {@code vertices} - *

    - * Adds a value to vertices using a builder lambda. - */ - public final Builder vertices(Function> fn) { - return vertices(fn.apply(new Vertex.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExploreResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExploreResponse build() { - _checkSingleUse(); - - return new ExploreResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExploreResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ExploreResponse::setupExploreResponseDeserializer); - - protected static void setupExploreResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::connections, JsonpDeserializer.arrayDeserializer(Connection._DESERIALIZER), "connections"); - op.add(Builder::failures, JsonpDeserializer.arrayDeserializer(ShardFailure._DESERIALIZER), "failures"); - op.add(Builder::timedOut, JsonpDeserializer.booleanDeserializer(), "timed_out"); - op.add(Builder::took, JsonpDeserializer.longDeserializer(), "took"); - op.add(Builder::vertices, JsonpDeserializer.arrayDeserializer(Vertex._DESERIALIZER), "vertices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java deleted file mode 100644 index 8429c193a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.Hop - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Hop implements JsonpSerializable { - @Nullable - private final Hop connections; - - private final Query query; - - private final List vertices; - - // --------------------------------------------------------------------------------------------- - - private Hop(Builder builder) { - - this.connections = builder.connections; - this.query = ApiTypeHelper.requireNonNull(builder.query, this, "query"); - this.vertices = ApiTypeHelper.unmodifiableRequired(builder.vertices, this, "vertices"); - - } - - public static Hop of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Specifies one or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - @Nullable - public final Hop connections() { - return this.connections; - } - - /** - * Required - An optional guiding query that constrains the Graph API as it - * explores connected terms. - *

    - * API name: {@code query} - */ - public final Query query() { - return this.query; - } - - /** - * Required - Contains the fields you are interested in. - *

    - * API name: {@code vertices} - */ - public final List vertices() { - return this.vertices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.connections != null) { - generator.writeKey("connections"); - this.connections.serialize(generator, mapper); - - } - generator.writeKey("query"); - this.query.serialize(generator, mapper); - - if (ApiTypeHelper.isDefined(this.vertices)) { - generator.writeKey("vertices"); - generator.writeStartArray(); - for (VertexDefinition item0 : this.vertices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Hop}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Hop connections; - - private Query query; - - private List vertices; - - /** - * Specifies one or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - public final Builder connections(@Nullable Hop value) { - this.connections = value; - return this; - } - - /** - * Specifies one or more fields from which you want to extract terms that are - * associated with the specified vertices. - *

    - * API name: {@code connections} - */ - public final Builder connections(Function> fn) { - return this.connections(fn.apply(new Hop.Builder()).build()); - } - - /** - * Required - An optional guiding query that constrains the Graph API as it - * explores connected terms. - *

    - * API name: {@code query} - */ - public final Builder query(Query value) { - this.query = value; - return this; - } - - /** - * Required - An optional guiding query that constrains the Graph API as it - * explores connected terms. - *

    - * API name: {@code query} - */ - public final Builder query(Function> fn) { - return this.query(fn.apply(new Query.Builder()).build()); - } - - /** - * Required - Contains the fields you are interested in. - *

    - * API name: {@code vertices} - *

    - * Adds all elements of list to vertices. - */ - public final Builder vertices(List list) { - this.vertices = _listAddAll(this.vertices, list); - return this; - } - - /** - * Required - Contains the fields you are interested in. - *

    - * API name: {@code vertices} - *

    - * Adds one or more values to vertices. - */ - public final Builder vertices(VertexDefinition value, VertexDefinition... values) { - this.vertices = _listAdd(this.vertices, value, values); - return this; - } - - /** - * Required - Contains the fields you are interested in. - *

    - * API name: {@code vertices} - *

    - * Adds a value to vertices using a builder lambda. - */ - public final Builder vertices(Function> fn) { - return vertices(fn.apply(new VertexDefinition.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Hop}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Hop build() { - _checkSingleUse(); - - return new Hop(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Hop} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Hop::setupHopDeserializer); - - protected static void setupHopDeserializer(ObjectDeserializer op) { - - op.add(Builder::connections, Hop._DESERIALIZER, "connections"); - op.add(Builder::query, Query._DESERIALIZER, "query"); - op.add(Builder::vertices, JsonpDeserializer.arrayDeserializer(VertexDefinition._DESERIALIZER), "vertices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/SampleDiversity.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/SampleDiversity.java deleted file mode 100644 index f4f61e711..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/SampleDiversity.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.SampleDiversity - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SampleDiversity implements JsonpSerializable { - private final String field; - - private final int maxDocsPerValue; - - // --------------------------------------------------------------------------------------------- - - private SampleDiversity(Builder builder) { - - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.maxDocsPerValue = ApiTypeHelper.requireNonNull(builder.maxDocsPerValue, this, "maxDocsPerValue"); - - } - - public static SampleDiversity of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * Required - API name: {@code max_docs_per_value} - */ - public final int maxDocsPerValue() { - return this.maxDocsPerValue; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("field"); - generator.write(this.field); - - generator.writeKey("max_docs_per_value"); - generator.write(this.maxDocsPerValue); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SampleDiversity}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String field; - - private Integer maxDocsPerValue; - - /** - * Required - API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * Required - API name: {@code max_docs_per_value} - */ - public final Builder maxDocsPerValue(int value) { - this.maxDocsPerValue = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SampleDiversity}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SampleDiversity build() { - _checkSingleUse(); - - return new SampleDiversity(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SampleDiversity} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SampleDiversity::setupSampleDiversityDeserializer); - - protected static void setupSampleDiversityDeserializer(ObjectDeserializer op) { - - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::maxDocsPerValue, JsonpDeserializer.integerDeserializer(), "max_docs_per_value"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Vertex.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Vertex.java deleted file mode 100644 index 6322fcd31..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/Vertex.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.Vertex - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Vertex implements JsonpSerializable { - private final long depth; - - private final String field; - - private final String term; - - private final double weight; - - // --------------------------------------------------------------------------------------------- - - private Vertex(Builder builder) { - - this.depth = ApiTypeHelper.requireNonNull(builder.depth, this, "depth"); - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.term = ApiTypeHelper.requireNonNull(builder.term, this, "term"); - this.weight = ApiTypeHelper.requireNonNull(builder.weight, this, "weight"); - - } - - public static Vertex of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code depth} - */ - public final long depth() { - return this.depth; - } - - /** - * Required - API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * Required - API name: {@code term} - */ - public final String term() { - return this.term; - } - - /** - * Required - API name: {@code weight} - */ - public final double weight() { - return this.weight; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("depth"); - generator.write(this.depth); - - generator.writeKey("field"); - generator.write(this.field); - - generator.writeKey("term"); - generator.write(this.term); - - generator.writeKey("weight"); - generator.write(this.weight); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Vertex}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Long depth; - - private String field; - - private String term; - - private Double weight; - - /** - * Required - API name: {@code depth} - */ - public final Builder depth(long value) { - this.depth = value; - return this; - } - - /** - * Required - API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * Required - API name: {@code term} - */ - public final Builder term(String value) { - this.term = value; - return this; - } - - /** - * Required - API name: {@code weight} - */ - public final Builder weight(double value) { - this.weight = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Vertex}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Vertex build() { - _checkSingleUse(); - - return new Vertex(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Vertex} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Vertex::setupVertexDeserializer); - - protected static void setupVertexDeserializer(ObjectDeserializer op) { - - op.add(Builder::depth, JsonpDeserializer.longDeserializer(), "depth"); - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::term, JsonpDeserializer.stringDeserializer(), "term"); - op.add(Builder::weight, JsonpDeserializer.doubleDeserializer(), "weight"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexDefinition.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexDefinition.java deleted file mode 100644 index f06ac89af..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexDefinition.java +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.VertexDefinition - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class VertexDefinition implements JsonpSerializable { - private final List exclude; - - private final String field; - - private final List include; - - @Nullable - private final Long minDocCount; - - @Nullable - private final Long shardMinDocCount; - - @Nullable - private final Integer size; - - // --------------------------------------------------------------------------------------------- - - private VertexDefinition(Builder builder) { - - this.exclude = ApiTypeHelper.unmodifiable(builder.exclude); - this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field"); - this.include = ApiTypeHelper.unmodifiable(builder.include); - this.minDocCount = builder.minDocCount; - this.shardMinDocCount = builder.shardMinDocCount; - this.size = builder.size; - - } - - public static VertexDefinition of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Prevents the specified terms from being included in the results. - *

    - * API name: {@code exclude} - */ - public final List exclude() { - return this.exclude; - } - - /** - * Required - Identifies a field in the documents of interest. - *

    - * API name: {@code field} - */ - public final String field() { - return this.field; - } - - /** - * Identifies the terms of interest that form the starting points from which you - * want to spider out. - *

    - * API name: {@code include} - */ - public final List include() { - return this.include; - } - - /** - * Specifies how many documents must contain a pair of terms before it is - * considered to be a useful connection. This setting acts as a certainty - * threshold. - *

    - * API name: {@code min_doc_count} - */ - @Nullable - public final Long minDocCount() { - return this.minDocCount; - } - - /** - * Controls how many documents on a particular shard have to contain a pair of - * terms before the connection is returned for global consideration. - *

    - * API name: {@code shard_min_doc_count} - */ - @Nullable - public final Long shardMinDocCount() { - return this.shardMinDocCount; - } - - /** - * Specifies the maximum number of vertex terms returned for each field. - *

    - * API name: {@code size} - */ - @Nullable - public final Integer size() { - return this.size; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.exclude)) { - generator.writeKey("exclude"); - generator.writeStartArray(); - for (String item0 : this.exclude) { - generator.write(item0); - - } - generator.writeEnd(); - - } - generator.writeKey("field"); - generator.write(this.field); - - if (ApiTypeHelper.isDefined(this.include)) { - generator.writeKey("include"); - generator.writeStartArray(); - for (VertexInclude item0 : this.include) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.minDocCount != null) { - generator.writeKey("min_doc_count"); - generator.write(this.minDocCount); - - } - if (this.shardMinDocCount != null) { - generator.writeKey("shard_min_doc_count"); - generator.write(this.shardMinDocCount); - - } - if (this.size != null) { - generator.writeKey("size"); - generator.write(this.size); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link VertexDefinition}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private List exclude; - - private String field; - - @Nullable - private List include; - - @Nullable - private Long minDocCount; - - @Nullable - private Long shardMinDocCount; - - @Nullable - private Integer size; - - /** - * Prevents the specified terms from being included in the results. - *

    - * API name: {@code exclude} - *

    - * Adds all elements of list to exclude. - */ - public final Builder exclude(List list) { - this.exclude = _listAddAll(this.exclude, list); - return this; - } - - /** - * Prevents the specified terms from being included in the results. - *

    - * API name: {@code exclude} - *

    - * Adds one or more values to exclude. - */ - public final Builder exclude(String value, String... values) { - this.exclude = _listAdd(this.exclude, value, values); - return this; - } - - /** - * Required - Identifies a field in the documents of interest. - *

    - * API name: {@code field} - */ - public final Builder field(String value) { - this.field = value; - return this; - } - - /** - * Identifies the terms of interest that form the starting points from which you - * want to spider out. - *

    - * API name: {@code include} - *

    - * Adds all elements of list to include. - */ - public final Builder include(List list) { - this.include = _listAddAll(this.include, list); - return this; - } - - /** - * Identifies the terms of interest that form the starting points from which you - * want to spider out. - *

    - * API name: {@code include} - *

    - * Adds one or more values to include. - */ - public final Builder include(VertexInclude value, VertexInclude... values) { - this.include = _listAdd(this.include, value, values); - return this; - } - - /** - * Identifies the terms of interest that form the starting points from which you - * want to spider out. - *

    - * API name: {@code include} - *

    - * Adds a value to include using a builder lambda. - */ - public final Builder include(Function> fn) { - return include(fn.apply(new VertexInclude.Builder()).build()); - } - - /** - * Specifies how many documents must contain a pair of terms before it is - * considered to be a useful connection. This setting acts as a certainty - * threshold. - *

    - * API name: {@code min_doc_count} - */ - public final Builder minDocCount(@Nullable Long value) { - this.minDocCount = value; - return this; - } - - /** - * Controls how many documents on a particular shard have to contain a pair of - * terms before the connection is returned for global consideration. - *

    - * API name: {@code shard_min_doc_count} - */ - public final Builder shardMinDocCount(@Nullable Long value) { - this.shardMinDocCount = value; - return this; - } - - /** - * Specifies the maximum number of vertex terms returned for each field. - *

    - * API name: {@code size} - */ - public final Builder size(@Nullable Integer value) { - this.size = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link VertexDefinition}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public VertexDefinition build() { - _checkSingleUse(); - - return new VertexDefinition(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link VertexDefinition} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - VertexDefinition::setupVertexDefinitionDeserializer); - - protected static void setupVertexDefinitionDeserializer(ObjectDeserializer op) { - - op.add(Builder::exclude, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "exclude"); - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::include, JsonpDeserializer.arrayDeserializer(VertexInclude._DESERIALIZER), "include"); - op.add(Builder::minDocCount, JsonpDeserializer.longDeserializer(), "min_doc_count"); - op.add(Builder::shardMinDocCount, JsonpDeserializer.longDeserializer(), "shard_min_doc_count"); - op.add(Builder::size, JsonpDeserializer.integerDeserializer(), "size"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexInclude.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexInclude.java deleted file mode 100644 index 04c7203c5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/graph/VertexInclude.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.graph; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: graph._types.VertexInclude - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class VertexInclude implements JsonpSerializable { - private final double boost; - - private final String term; - - // --------------------------------------------------------------------------------------------- - - private VertexInclude(Builder builder) { - - this.boost = ApiTypeHelper.requireNonNull(builder.boost, this, "boost"); - this.term = ApiTypeHelper.requireNonNull(builder.term, this, "term"); - - } - - public static VertexInclude of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code boost} - */ - public final double boost() { - return this.boost; - } - - /** - * Required - API name: {@code term} - */ - public final String term() { - return this.term; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("boost"); - generator.write(this.boost); - - generator.writeKey("term"); - generator.write(this.term); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link VertexInclude}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Double boost; - - private String term; - - /** - * Required - API name: {@code boost} - */ - public final Builder boost(double value) { - this.boost = value; - return this; - } - - /** - * Required - API name: {@code term} - */ - public final Builder term(String value) { - this.term = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link VertexInclude}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public VertexInclude build() { - _checkSingleUse(); - - return new VertexInclude(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link VertexInclude} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - VertexInclude::setupVertexIncludeDeserializer); - - protected static void setupVertexIncludeDeserializer(ObjectDeserializer op) { - - op.add(Builder::boost, JsonpDeserializer.doubleDeserializer(), "boost"); - op.add(Builder::term, JsonpDeserializer.stringDeserializer(), "term"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockRequest.java deleted file mode 100644 index 575697586..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockRequest.java +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.add_block.IndicesBlockOptions; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.add_block.Request - -/** - * Add an index block. Limits the operations allowed on an index by blocking - * specific operation types. - * - * @see API - * specification - */ - -public class AddBlockRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final IndicesBlockOptions block; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final String index; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private AddBlockRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.block = ApiTypeHelper.requireNonNull(builder.block, this, "block"); - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.masterTimeout = builder.masterTimeout; - this.timeout = builder.timeout; - - } - - public static AddBlockRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Whether to ignore if a wildcard indices expression resolves into no concrete - * indices. (This includes _all string or when no indices have been - * specified) - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Required - The block to add (one of read, write, read_only or metadata) - *

    - * API name: {@code block} - */ - public final IndicesBlockOptions block() { - return this.block; - } - - /** - * Whether to expand wildcard expression to concrete indices that are open, - * closed or both. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Whether specified concrete indices should be ignored when unavailable - * (missing or closed) - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Required - A comma separated list of indices to add a block to - *

    - * API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Explicit operation timeout - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AddBlockRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - private IndicesBlockOptions block; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - private String index; - - @Nullable - private Time masterTimeout; - - @Nullable - private Time timeout; - - /** - * Whether to ignore if a wildcard indices expression resolves into no concrete - * indices. (This includes _all string or when no indices have been - * specified) - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Required - The block to add (one of read, write, read_only or metadata) - *

    - * API name: {@code block} - */ - public final Builder block(IndicesBlockOptions value) { - this.block = value; - return this; - } - - /** - * Whether to expand wildcard expression to concrete indices that are open, - * closed or both. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Whether to expand wildcard expression to concrete indices that are open, - * closed or both. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Whether specified concrete indices should be ignored when unavailable - * (missing or closed) - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Required - A comma separated list of indices to add a block to - *

    - * API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Explicit operation timeout - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Explicit operation timeout - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AddBlockRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AddBlockRequest build() { - _checkSingleUse(); - - return new AddBlockRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.add_block}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.add_block", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - final int _block = 1 << 1; - - int propsSet = 0; - - propsSet |= _index; - propsSet |= _block; - - if (propsSet == (_index | _block)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index, buf); - buf.append("/_block"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.block.jsonValue(), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - final int _block = 1 << 1; - - int propsSet = 0; - - propsSet |= _index; - propsSet |= _block; - - if (propsSet == (_index | _block)) { - params.put("index", request.index); - params.put("block", request.block.jsonValue()); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, AddBlockResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockResponse.java deleted file mode 100644 index c25c87be1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AddBlockResponse.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponse; -import co.elastic.clients.elasticsearch.indices.add_block.IndicesBlockStatus; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.add_block.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AddBlockResponse implements AcknowledgedResponse, JsonpSerializable { - private final boolean acknowledged; - - private final boolean shardsAcknowledged; - - private final List indices; - - // --------------------------------------------------------------------------------------------- - - private AddBlockResponse(Builder builder) { - - this.acknowledged = ApiTypeHelper.requireNonNull(builder.acknowledged, this, "acknowledged"); - this.shardsAcknowledged = ApiTypeHelper.requireNonNull(builder.shardsAcknowledged, this, "shardsAcknowledged"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - - } - - public static AddBlockResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code acknowledged} - */ - public final boolean acknowledged() { - return this.acknowledged; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final boolean shardsAcknowledged() { - return this.shardsAcknowledged; - } - - /** - * Required - API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("acknowledged"); - generator.write(this.acknowledged); - - generator.writeKey("shards_acknowledged"); - generator.write(this.shardsAcknowledged); - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (IndicesBlockStatus item0 : this.indices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AddBlockResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Boolean acknowledged; - - private Boolean shardsAcknowledged; - - private List indices; - - /** - * Required - API name: {@code acknowledged} - */ - public final Builder acknowledged(boolean value) { - this.acknowledged = value; - return this; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final Builder shardsAcknowledged(boolean value) { - this.shardsAcknowledged = value; - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(IndicesBlockStatus value, IndicesBlockStatus... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds a value to indices using a builder lambda. - */ - public final Builder indices(Function> fn) { - return indices(fn.apply(new IndicesBlockStatus.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AddBlockResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AddBlockResponse build() { - _checkSingleUse(); - - return new AddBlockResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AddBlockResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AddBlockResponse::setupAddBlockResponseDeserializer); - - protected static void setupAddBlockResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::acknowledged, JsonpDeserializer.booleanDeserializer(), "acknowledged"); - op.add(Builder::shardsAcknowledged, JsonpDeserializer.booleanDeserializer(), "shards_acknowledged"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(IndicesBlockStatus._DESERIALIZER), "indices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java deleted file mode 100644 index 8c0790e01..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java +++ /dev/null @@ -1,344 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.Alias - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Alias implements JsonpSerializable { - @Nullable - private final Query filter; - - @Nullable - private final String indexRouting; - - @Nullable - private final Boolean isHidden; - - @Nullable - private final Boolean isWriteIndex; - - @Nullable - private final String routing; - - @Nullable - private final String searchRouting; - - // --------------------------------------------------------------------------------------------- - - private Alias(Builder builder) { - - this.filter = builder.filter; - this.indexRouting = builder.indexRouting; - this.isHidden = builder.isHidden; - this.isWriteIndex = builder.isWriteIndex; - this.routing = builder.routing; - this.searchRouting = builder.searchRouting; - - } - - public static Alias of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - @Nullable - public final Query filter() { - return this.filter; - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. - *

    - * API name: {@code index_routing} - */ - @Nullable - public final String indexRouting() { - return this.indexRouting; - } - - /** - * If true, the alias is hidden. All indices for the alias must - * have the same is_hidden value. - *

    - * API name: {@code is_hidden} - */ - @Nullable - public final Boolean isHidden() { - return this.isHidden; - } - - /** - * If true, the index is the write index for the alias. - *

    - * API name: {@code is_write_index} - */ - @Nullable - public final Boolean isWriteIndex() { - return this.isWriteIndex; - } - - /** - * Value used to route indexing and search operations to a specific shard. - *

    - * API name: {@code routing} - */ - @Nullable - public final String routing() { - return this.routing; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. - *

    - * API name: {@code search_routing} - */ - @Nullable - public final String searchRouting() { - return this.searchRouting; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.filter != null) { - generator.writeKey("filter"); - this.filter.serialize(generator, mapper); - - } - if (this.indexRouting != null) { - generator.writeKey("index_routing"); - generator.write(this.indexRouting); - - } - if (this.isHidden != null) { - generator.writeKey("is_hidden"); - generator.write(this.isHidden); - - } - if (this.isWriteIndex != null) { - generator.writeKey("is_write_index"); - generator.write(this.isWriteIndex); - - } - if (this.routing != null) { - generator.writeKey("routing"); - generator.write(this.routing); - - } - if (this.searchRouting != null) { - generator.writeKey("search_routing"); - generator.write(this.searchRouting); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Alias}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Query filter; - - @Nullable - private String indexRouting; - - @Nullable - private Boolean isHidden; - - @Nullable - private Boolean isWriteIndex; - - @Nullable - private String routing; - - @Nullable - private String searchRouting; - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(@Nullable Query value) { - this.filter = value; - return this; - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(Function> fn) { - return this.filter(fn.apply(new Query.Builder()).build()); - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. - *

    - * API name: {@code index_routing} - */ - public final Builder indexRouting(@Nullable String value) { - this.indexRouting = value; - return this; - } - - /** - * If true, the alias is hidden. All indices for the alias must - * have the same is_hidden value. - *

    - * API name: {@code is_hidden} - */ - public final Builder isHidden(@Nullable Boolean value) { - this.isHidden = value; - return this; - } - - /** - * If true, the index is the write index for the alias. - *

    - * API name: {@code is_write_index} - */ - public final Builder isWriteIndex(@Nullable Boolean value) { - this.isWriteIndex = value; - return this; - } - - /** - * Value used to route indexing and search operations to a specific shard. - *

    - * API name: {@code routing} - */ - public final Builder routing(@Nullable String value) { - this.routing = value; - return this; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. - *

    - * API name: {@code search_routing} - */ - public final Builder searchRouting(@Nullable String value) { - this.searchRouting = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Alias}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Alias build() { - _checkSingleUse(); - - return new Alias(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Alias} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Alias::setupAliasDeserializer); - - protected static void setupAliasDeserializer(ObjectDeserializer op) { - - op.add(Builder::filter, Query._DESERIALIZER, "filter"); - op.add(Builder::indexRouting, JsonpDeserializer.stringDeserializer(), "index_routing"); - op.add(Builder::isHidden, JsonpDeserializer.booleanDeserializer(), "is_hidden"); - op.add(Builder::isWriteIndex, JsonpDeserializer.booleanDeserializer(), "is_write_index"); - op.add(Builder::routing, JsonpDeserializer.stringDeserializer(), "routing"); - op.add(Builder::searchRouting, JsonpDeserializer.stringDeserializer(), "search_routing"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java deleted file mode 100644 index 85365490e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java +++ /dev/null @@ -1,344 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.AliasDefinition - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AliasDefinition implements JsonpSerializable { - @Nullable - private final Query filter; - - @Nullable - private final String indexRouting; - - @Nullable - private final Boolean isWriteIndex; - - @Nullable - private final String routing; - - @Nullable - private final String searchRouting; - - @Nullable - private final Boolean isHidden; - - // --------------------------------------------------------------------------------------------- - - private AliasDefinition(Builder builder) { - - this.filter = builder.filter; - this.indexRouting = builder.indexRouting; - this.isWriteIndex = builder.isWriteIndex; - this.routing = builder.routing; - this.searchRouting = builder.searchRouting; - this.isHidden = builder.isHidden; - - } - - public static AliasDefinition of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - @Nullable - public final Query filter() { - return this.filter; - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. - *

    - * API name: {@code index_routing} - */ - @Nullable - public final String indexRouting() { - return this.indexRouting; - } - - /** - * If true, the index is the write index for the alias. - *

    - * API name: {@code is_write_index} - */ - @Nullable - public final Boolean isWriteIndex() { - return this.isWriteIndex; - } - - /** - * Value used to route indexing and search operations to a specific shard. - *

    - * API name: {@code routing} - */ - @Nullable - public final String routing() { - return this.routing; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. - *

    - * API name: {@code search_routing} - */ - @Nullable - public final String searchRouting() { - return this.searchRouting; - } - - /** - * If true, the alias is hidden. All indices for the alias must - * have the same is_hidden value. - *

    - * API name: {@code is_hidden} - */ - @Nullable - public final Boolean isHidden() { - return this.isHidden; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.filter != null) { - generator.writeKey("filter"); - this.filter.serialize(generator, mapper); - - } - if (this.indexRouting != null) { - generator.writeKey("index_routing"); - generator.write(this.indexRouting); - - } - if (this.isWriteIndex != null) { - generator.writeKey("is_write_index"); - generator.write(this.isWriteIndex); - - } - if (this.routing != null) { - generator.writeKey("routing"); - generator.write(this.routing); - - } - if (this.searchRouting != null) { - generator.writeKey("search_routing"); - generator.write(this.searchRouting); - - } - if (this.isHidden != null) { - generator.writeKey("is_hidden"); - generator.write(this.isHidden); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AliasDefinition}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Query filter; - - @Nullable - private String indexRouting; - - @Nullable - private Boolean isWriteIndex; - - @Nullable - private String routing; - - @Nullable - private String searchRouting; - - @Nullable - private Boolean isHidden; - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(@Nullable Query value) { - this.filter = value; - return this; - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(Function> fn) { - return this.filter(fn.apply(new Query.Builder()).build()); - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. - *

    - * API name: {@code index_routing} - */ - public final Builder indexRouting(@Nullable String value) { - this.indexRouting = value; - return this; - } - - /** - * If true, the index is the write index for the alias. - *

    - * API name: {@code is_write_index} - */ - public final Builder isWriteIndex(@Nullable Boolean value) { - this.isWriteIndex = value; - return this; - } - - /** - * Value used to route indexing and search operations to a specific shard. - *

    - * API name: {@code routing} - */ - public final Builder routing(@Nullable String value) { - this.routing = value; - return this; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. - *

    - * API name: {@code search_routing} - */ - public final Builder searchRouting(@Nullable String value) { - this.searchRouting = value; - return this; - } - - /** - * If true, the alias is hidden. All indices for the alias must - * have the same is_hidden value. - *

    - * API name: {@code is_hidden} - */ - public final Builder isHidden(@Nullable Boolean value) { - this.isHidden = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AliasDefinition}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AliasDefinition build() { - _checkSingleUse(); - - return new AliasDefinition(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AliasDefinition} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AliasDefinition::setupAliasDefinitionDeserializer); - - protected static void setupAliasDefinitionDeserializer(ObjectDeserializer op) { - - op.add(Builder::filter, Query._DESERIALIZER, "filter"); - op.add(Builder::indexRouting, JsonpDeserializer.stringDeserializer(), "index_routing"); - op.add(Builder::isWriteIndex, JsonpDeserializer.booleanDeserializer(), "is_write_index"); - op.add(Builder::routing, JsonpDeserializer.stringDeserializer(), "routing"); - op.add(Builder::searchRouting, JsonpDeserializer.stringDeserializer(), "search_routing"); - op.add(Builder::isHidden, JsonpDeserializer.booleanDeserializer(), "is_hidden"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeRequest.java deleted file mode 100644 index a53cc84ad..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeRequest.java +++ /dev/null @@ -1,646 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.analysis.CharFilter; -import co.elastic.clients.elasticsearch._types.analysis.TokenFilter; -import co.elastic.clients.elasticsearch._types.analysis.Tokenizer; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.Request - -/** - * Performs analysis on a text string and returns the resulting tokens. - * - * @see API - * specification - */ -@JsonpDeserializable -public class AnalyzeRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final String analyzer; - - private final List attributes; - - private final List charFilter; - - @Nullable - private final Boolean explain; - - @Nullable - private final String field; - - private final List filter; - - @Nullable - private final String index; - - @Nullable - private final String normalizer; - - private final List text; - - @Nullable - private final Tokenizer tokenizer; - - // --------------------------------------------------------------------------------------------- - - private AnalyzeRequest(Builder builder) { - - this.analyzer = builder.analyzer; - this.attributes = ApiTypeHelper.unmodifiable(builder.attributes); - this.charFilter = ApiTypeHelper.unmodifiable(builder.charFilter); - this.explain = builder.explain; - this.field = builder.field; - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - this.index = builder.index; - this.normalizer = builder.normalizer; - this.text = ApiTypeHelper.unmodifiable(builder.text); - this.tokenizer = builder.tokenizer; - - } - - public static AnalyzeRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The name of the analyzer that should be applied to the provided - * text. This could be a built-in analyzer, or an analyzer that’s - * been configured in the index. - *

    - * API name: {@code analyzer} - */ - @Nullable - public final String analyzer() { - return this.analyzer; - } - - /** - * Array of token attributes used to filter the output of the - * explain parameter. - *

    - * API name: {@code attributes} - */ - public final List attributes() { - return this.attributes; - } - - /** - * Array of character filters used to preprocess characters before the - * tokenizer. - *

    - * API name: {@code char_filter} - */ - public final List charFilter() { - return this.charFilter; - } - - /** - * If true, the response includes token attributes and additional - * details. - *

    - * API name: {@code explain} - */ - @Nullable - public final Boolean explain() { - return this.explain; - } - - /** - * Field used to derive the analyzer. To use this parameter, you must specify an - * index. If specified, the analyzer parameter overrides this - * value. - *

    - * API name: {@code field} - */ - @Nullable - public final String field() { - return this.field; - } - - /** - * Array of token filters used to apply after the tokenizer. - *

    - * API name: {@code filter} - */ - public final List filter() { - return this.filter; - } - - /** - * Index used to derive the analyzer. If specified, the analyzer or - * field parameter overrides this value. If no index is specified or the index - * does not have a default analyzer, the analyze API uses the standard analyzer. - *

    - * API name: {@code index} - */ - @Nullable - public final String index() { - return this.index; - } - - /** - * Normalizer to use to convert text into a single token. - *

    - * API name: {@code normalizer} - */ - @Nullable - public final String normalizer() { - return this.normalizer; - } - - /** - * Text to analyze. If an array of strings is provided, it is analyzed as a - * multi-value field. - *

    - * API name: {@code text} - */ - public final List text() { - return this.text; - } - - /** - * Tokenizer to use to convert text into tokens. - *

    - * API name: {@code tokenizer} - */ - @Nullable - public final Tokenizer tokenizer() { - return this.tokenizer; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.analyzer != null) { - generator.writeKey("analyzer"); - generator.write(this.analyzer); - - } - if (ApiTypeHelper.isDefined(this.attributes)) { - generator.writeKey("attributes"); - generator.writeStartArray(); - for (String item0 : this.attributes) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.charFilter)) { - generator.writeKey("char_filter"); - generator.writeStartArray(); - for (CharFilter item0 : this.charFilter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.explain != null) { - generator.writeKey("explain"); - generator.write(this.explain); - - } - if (this.field != null) { - generator.writeKey("field"); - generator.write(this.field); - - } - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartArray(); - for (TokenFilter item0 : this.filter) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.normalizer != null) { - generator.writeKey("normalizer"); - generator.write(this.normalizer); - - } - if (ApiTypeHelper.isDefined(this.text)) { - generator.writeKey("text"); - generator.writeStartArray(); - for (String item0 : this.text) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.tokenizer != null) { - generator.writeKey("tokenizer"); - this.tokenizer.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AnalyzeRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private String analyzer; - - @Nullable - private List attributes; - - @Nullable - private List charFilter; - - @Nullable - private Boolean explain; - - @Nullable - private String field; - - @Nullable - private List filter; - - @Nullable - private String index; - - @Nullable - private String normalizer; - - @Nullable - private List text; - - @Nullable - private Tokenizer tokenizer; - - /** - * The name of the analyzer that should be applied to the provided - * text. This could be a built-in analyzer, or an analyzer that’s - * been configured in the index. - *

    - * API name: {@code analyzer} - */ - public final Builder analyzer(@Nullable String value) { - this.analyzer = value; - return this; - } - - /** - * Array of token attributes used to filter the output of the - * explain parameter. - *

    - * API name: {@code attributes} - *

    - * Adds all elements of list to attributes. - */ - public final Builder attributes(List list) { - this.attributes = _listAddAll(this.attributes, list); - return this; - } - - /** - * Array of token attributes used to filter the output of the - * explain parameter. - *

    - * API name: {@code attributes} - *

    - * Adds one or more values to attributes. - */ - public final Builder attributes(String value, String... values) { - this.attributes = _listAdd(this.attributes, value, values); - return this; - } - - /** - * Array of character filters used to preprocess characters before the - * tokenizer. - *

    - * API name: {@code char_filter} - *

    - * Adds all elements of list to charFilter. - */ - public final Builder charFilter(List list) { - this.charFilter = _listAddAll(this.charFilter, list); - return this; - } - - /** - * Array of character filters used to preprocess characters before the - * tokenizer. - *

    - * API name: {@code char_filter} - *

    - * Adds one or more values to charFilter. - */ - public final Builder charFilter(CharFilter value, CharFilter... values) { - this.charFilter = _listAdd(this.charFilter, value, values); - return this; - } - - /** - * Array of character filters used to preprocess characters before the - * tokenizer. - *

    - * API name: {@code char_filter} - *

    - * Adds a value to charFilter using a builder lambda. - */ - public final Builder charFilter(Function> fn) { - return charFilter(fn.apply(new CharFilter.Builder()).build()); - } - - /** - * If true, the response includes token attributes and additional - * details. - *

    - * API name: {@code explain} - */ - public final Builder explain(@Nullable Boolean value) { - this.explain = value; - return this; - } - - /** - * Field used to derive the analyzer. To use this parameter, you must specify an - * index. If specified, the analyzer parameter overrides this - * value. - *

    - * API name: {@code field} - */ - public final Builder field(@Nullable String value) { - this.field = value; - return this; - } - - /** - * Array of token filters used to apply after the tokenizer. - *

    - * API name: {@code filter} - *

    - * Adds all elements of list to filter. - */ - public final Builder filter(List list) { - this.filter = _listAddAll(this.filter, list); - return this; - } - - /** - * Array of token filters used to apply after the tokenizer. - *

    - * API name: {@code filter} - *

    - * Adds one or more values to filter. - */ - public final Builder filter(TokenFilter value, TokenFilter... values) { - this.filter = _listAdd(this.filter, value, values); - return this; - } - - /** - * Array of token filters used to apply after the tokenizer. - *

    - * API name: {@code filter} - *

    - * Adds a value to filter using a builder lambda. - */ - public final Builder filter(Function> fn) { - return filter(fn.apply(new TokenFilter.Builder()).build()); - } - - /** - * Index used to derive the analyzer. If specified, the analyzer or - * field parameter overrides this value. If no index is specified or the index - * does not have a default analyzer, the analyze API uses the standard analyzer. - *

    - * API name: {@code index} - */ - public final Builder index(@Nullable String value) { - this.index = value; - return this; - } - - /** - * Normalizer to use to convert text into a single token. - *

    - * API name: {@code normalizer} - */ - public final Builder normalizer(@Nullable String value) { - this.normalizer = value; - return this; - } - - /** - * Text to analyze. If an array of strings is provided, it is analyzed as a - * multi-value field. - *

    - * API name: {@code text} - *

    - * Adds all elements of list to text. - */ - public final Builder text(List list) { - this.text = _listAddAll(this.text, list); - return this; - } - - /** - * Text to analyze. If an array of strings is provided, it is analyzed as a - * multi-value field. - *

    - * API name: {@code text} - *

    - * Adds one or more values to text. - */ - public final Builder text(String value, String... values) { - this.text = _listAdd(this.text, value, values); - return this; - } - - /** - * Tokenizer to use to convert text into tokens. - *

    - * API name: {@code tokenizer} - */ - public final Builder tokenizer(@Nullable Tokenizer value) { - this.tokenizer = value; - return this; - } - - /** - * Tokenizer to use to convert text into tokens. - *

    - * API name: {@code tokenizer} - */ - public final Builder tokenizer(Function> fn) { - return this.tokenizer(fn.apply(new Tokenizer.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AnalyzeRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AnalyzeRequest build() { - _checkSingleUse(); - - return new AnalyzeRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AnalyzeRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AnalyzeRequest::setupAnalyzeRequestDeserializer); - - protected static void setupAnalyzeRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::analyzer, JsonpDeserializer.stringDeserializer(), "analyzer"); - op.add(Builder::attributes, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "attributes"); - op.add(Builder::charFilter, JsonpDeserializer.arrayDeserializer(CharFilter._DESERIALIZER), "char_filter"); - op.add(Builder::explain, JsonpDeserializer.booleanDeserializer(), "explain"); - op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field"); - op.add(Builder::filter, JsonpDeserializer.arrayDeserializer(TokenFilter._DESERIALIZER), "filter"); - op.add(Builder::normalizer, JsonpDeserializer.stringDeserializer(), "normalizer"); - op.add(Builder::text, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "text"); - op.add(Builder::tokenizer, Tokenizer._DESERIALIZER, "tokenizer"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.analyze}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.analyze", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - if (request.index() != null) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_analyze"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index, buf); - buf.append("/_analyze"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - if (request.index() != null) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index); - } - return params; - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), true, AnalyzeResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeResponse.java deleted file mode 100644 index dc61d9e70..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/AnalyzeResponse.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.analyze.AnalyzeDetail; -import co.elastic.clients.elasticsearch.indices.analyze.AnalyzeToken; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AnalyzeResponse implements JsonpSerializable { - @Nullable - private final AnalyzeDetail detail; - - private final List tokens; - - // --------------------------------------------------------------------------------------------- - - private AnalyzeResponse(Builder builder) { - - this.detail = builder.detail; - this.tokens = ApiTypeHelper.unmodifiable(builder.tokens); - - } - - public static AnalyzeResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code detail} - */ - @Nullable - public final AnalyzeDetail detail() { - return this.detail; - } - - /** - * API name: {@code tokens} - */ - public final List tokens() { - return this.tokens; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.detail != null) { - generator.writeKey("detail"); - this.detail.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.tokens)) { - generator.writeKey("tokens"); - generator.writeStartArray(); - for (AnalyzeToken item0 : this.tokens) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AnalyzeResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private AnalyzeDetail detail; - - @Nullable - private List tokens; - - /** - * API name: {@code detail} - */ - public final Builder detail(@Nullable AnalyzeDetail value) { - this.detail = value; - return this; - } - - /** - * API name: {@code detail} - */ - public final Builder detail(Function> fn) { - return this.detail(fn.apply(new AnalyzeDetail.Builder()).build()); - } - - /** - * API name: {@code tokens} - *

    - * Adds all elements of list to tokens. - */ - public final Builder tokens(List list) { - this.tokens = _listAddAll(this.tokens, list); - return this; - } - - /** - * API name: {@code tokens} - *

    - * Adds one or more values to tokens. - */ - public final Builder tokens(AnalyzeToken value, AnalyzeToken... values) { - this.tokens = _listAdd(this.tokens, value, values); - return this; - } - - /** - * API name: {@code tokens} - *

    - * Adds a value to tokens using a builder lambda. - */ - public final Builder tokens(Function> fn) { - return tokens(fn.apply(new AnalyzeToken.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AnalyzeResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AnalyzeResponse build() { - _checkSingleUse(); - - return new AnalyzeResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AnalyzeResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AnalyzeResponse::setupAnalyzeResponseDeserializer); - - protected static void setupAnalyzeResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::detail, AnalyzeDetail._DESERIALIZER, "detail"); - op.add(Builder::tokens, JsonpDeserializer.arrayDeserializer(AnalyzeToken._DESERIALIZER), "tokens"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CacheQueries.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CacheQueries.java deleted file mode 100644 index e8e882782..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CacheQueries.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.CacheQueries - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CacheQueries implements JsonpSerializable { - private final boolean enabled; - - // --------------------------------------------------------------------------------------------- - - private CacheQueries(Builder builder) { - - this.enabled = ApiTypeHelper.requireNonNull(builder.enabled, this, "enabled"); - - } - - public static CacheQueries of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code enabled} - */ - public final boolean enabled() { - return this.enabled; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("enabled"); - generator.write(this.enabled); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CacheQueries}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Boolean enabled; - - /** - * Required - API name: {@code enabled} - */ - public final Builder enabled(boolean value) { - this.enabled = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CacheQueries}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CacheQueries build() { - _checkSingleUse(); - - return new CacheQueries(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CacheQueries} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - CacheQueries::setupCacheQueriesDeserializer); - - protected static void setupCacheQueriesDeserializer(ObjectDeserializer op) { - - op.add(Builder::enabled, JsonpDeserializer.booleanDeserializer(), "enabled"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamRequest.java deleted file mode 100644 index a93f1bbe0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamRequest.java +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.create_data_stream.Request - -/** - * Create a data stream. Creates a data stream. You must have a matching index - * template with data stream enabled. - * - * @see API - * specification - */ - -public class CreateDataStreamRequest extends RequestBase { - @Nullable - private final Time masterTimeout; - - private final String name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private CreateDataStreamRequest(Builder builder) { - - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static CreateDataStreamRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Name of the data stream, which must meet the following criteria: - * Lowercase only; Cannot include \, /, - * *, ?, ", <, - * >, |, ,, #, - * :, or a space character; Cannot start with -, - * _, +, or .ds-; Cannot be - * . or ..; Cannot be longer than 255 bytes. - * Multi-byte characters count towards this limit faster. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CreateDataStreamRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Time masterTimeout; - - private String name; - - @Nullable - private Time timeout; - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Name of the data stream, which must meet the following criteria: - * Lowercase only; Cannot include \, /, - * *, ?, ", <, - * >, |, ,, #, - * :, or a space character; Cannot start with -, - * _, +, or .ds-; Cannot be - * . or ..; Cannot be longer than 255 bytes. - * Multi-byte characters count towards this limit faster. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CreateDataStreamRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CreateDataStreamRequest build() { - _checkSingleUse(); - - return new CreateDataStreamRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.create_data_stream}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.create_data_stream", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, CreateDataStreamResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamResponse.java deleted file mode 100644 index 9b5e2b043..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateDataStreamResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.create_data_stream.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CreateDataStreamResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private CreateDataStreamResponse(Builder builder) { - super(builder); - - } - - public static CreateDataStreamResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CreateDataStreamResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CreateDataStreamResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CreateDataStreamResponse build() { - _checkSingleUse(); - - return new CreateDataStreamResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CreateDataStreamResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, CreateDataStreamResponse::setupCreateDataStreamResponseDeserializer); - - protected static void setupCreateDataStreamResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexRequest.java deleted file mode 100644 index 1a9e5011e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexRequest.java +++ /dev/null @@ -1,503 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.WaitForActiveShards; -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.create.Request - -/** - * Create an index. Creates a new index. - * - * @see API - * specification - */ -@JsonpDeserializable -public class CreateIndexRequest extends RequestBase implements JsonpSerializable { - private final Map aliases; - - private final String index; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final Time timeout; - - @Nullable - private final WaitForActiveShards waitForActiveShards; - - // --------------------------------------------------------------------------------------------- - - private CreateIndexRequest(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.mappings = builder.mappings; - this.masterTimeout = builder.masterTimeout; - this.settings = builder.settings; - this.timeout = builder.timeout; - this.waitForActiveShards = builder.waitForActiveShards; - - } - - public static CreateIndexRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Required - Name of the index you wish to create. - *

    - * API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include: - *

      - *
    • Field names
    • - *
    • Field data types
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total - * number of shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - @Nullable - public final WaitForActiveShards waitForActiveShards() { - return this.waitForActiveShards; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CreateIndexRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Map aliases; - - private String index; - - @Nullable - private TypeMapping mappings; - - @Nullable - private Time masterTimeout; - - @Nullable - private IndexSettings settings; - - @Nullable - private Time timeout; - - @Nullable - private WaitForActiveShards waitForActiveShards; - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * Required - Name of the index you wish to create. - *

    - * API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include: - *

      - *
    • Field names
    • - *
    • Field data types
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include: - *

      - *
    • Field names
    • - *
    • Field data types
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total - * number of shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - public final Builder waitForActiveShards(@Nullable WaitForActiveShards value) { - this.waitForActiveShards = value; - return this; - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total - * number of shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - public final Builder waitForActiveShards( - Function> fn) { - return this.waitForActiveShards(fn.apply(new WaitForActiveShards.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CreateIndexRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CreateIndexRequest build() { - _checkSingleUse(); - - return new CreateIndexRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CreateIndexRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, CreateIndexRequest::setupCreateIndexRequestDeserializer); - - protected static void setupCreateIndexRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.create}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.create", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.waitForActiveShards != null) { - params.put("wait_for_active_shards", request.waitForActiveShards._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, CreateIndexResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexResponse.java deleted file mode 100644 index 1eb6fe168..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/CreateIndexResponse.java +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponse; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.create.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CreateIndexResponse implements AcknowledgedResponse, JsonpSerializable { - private final String index; - - private final boolean shardsAcknowledged; - - private final boolean acknowledged; - - // --------------------------------------------------------------------------------------------- - - private CreateIndexResponse(Builder builder) { - - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.shardsAcknowledged = ApiTypeHelper.requireNonNull(builder.shardsAcknowledged, this, "shardsAcknowledged"); - this.acknowledged = ApiTypeHelper.requireNonNull(builder.acknowledged, this, "acknowledged"); - - } - - public static CreateIndexResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final boolean shardsAcknowledged() { - return this.shardsAcknowledged; - } - - /** - * Required - API name: {@code acknowledged} - */ - public final boolean acknowledged() { - return this.acknowledged; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("index"); - generator.write(this.index); - - generator.writeKey("shards_acknowledged"); - generator.write(this.shardsAcknowledged); - - generator.writeKey("acknowledged"); - generator.write(this.acknowledged); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CreateIndexResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String index; - - private Boolean shardsAcknowledged; - - private Boolean acknowledged; - - /** - * Required - API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final Builder shardsAcknowledged(boolean value) { - this.shardsAcknowledged = value; - return this; - } - - /** - * Required - API name: {@code acknowledged} - */ - public final Builder acknowledged(boolean value) { - this.acknowledged = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CreateIndexResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CreateIndexResponse build() { - _checkSingleUse(); - - return new CreateIndexResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CreateIndexResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, CreateIndexResponse::setupCreateIndexResponseDeserializer); - - protected static void setupCreateIndexResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index"); - op.add(Builder::shardsAcknowledged, JsonpDeserializer.booleanDeserializer(), "shards_acknowledged"); - op.add(Builder::acknowledged, JsonpDeserializer.booleanDeserializer(), "acknowledged"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStream.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStream.java deleted file mode 100644 index caedfe618..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStream.java +++ /dev/null @@ -1,775 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.HealthStatus; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStream - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStream implements JsonpSerializable { - private final Map meta; - - @Nullable - private final Boolean allowCustomRouting; - - @Nullable - private final FailureStore failureStore; - - private final int generation; - - private final boolean hidden; - - @Nullable - private final String ilmPolicy; - - private final ManagedBy nextGenerationManagedBy; - - private final boolean preferIlm; - - private final List indices; - - @Nullable - private final DataStreamLifecycleWithRollover lifecycle; - - private final String name; - - @Nullable - private final Boolean replicated; - - private final boolean rolloverOnWrite; - - private final HealthStatus status; - - @Nullable - private final Boolean system; - - private final String template; - - private final DataStreamTimestampField timestampField; - - // --------------------------------------------------------------------------------------------- - - private DataStream(Builder builder) { - - this.meta = ApiTypeHelper.unmodifiable(builder.meta); - this.allowCustomRouting = builder.allowCustomRouting; - this.failureStore = builder.failureStore; - this.generation = ApiTypeHelper.requireNonNull(builder.generation, this, "generation"); - this.hidden = ApiTypeHelper.requireNonNull(builder.hidden, this, "hidden"); - this.ilmPolicy = builder.ilmPolicy; - this.nextGenerationManagedBy = ApiTypeHelper.requireNonNull(builder.nextGenerationManagedBy, this, - "nextGenerationManagedBy"); - this.preferIlm = ApiTypeHelper.requireNonNull(builder.preferIlm, this, "preferIlm"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - this.lifecycle = builder.lifecycle; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.replicated = builder.replicated; - this.rolloverOnWrite = ApiTypeHelper.requireNonNull(builder.rolloverOnWrite, this, "rolloverOnWrite"); - this.status = ApiTypeHelper.requireNonNull(builder.status, this, "status"); - this.system = builder.system; - this.template = ApiTypeHelper.requireNonNull(builder.template, this, "template"); - this.timestampField = ApiTypeHelper.requireNonNull(builder.timestampField, this, "timestampField"); - - } - - public static DataStream of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Custom metadata for the stream, copied from the _meta object of - * the stream’s matching index template. If empty, the response omits this - * property. - *

    - * API name: {@code _meta} - */ - public final Map meta() { - return this.meta; - } - - /** - * If true, the data stream allows custom routing on write request. - *

    - * API name: {@code allow_custom_routing} - */ - @Nullable - public final Boolean allowCustomRouting() { - return this.allowCustomRouting; - } - - /** - * Information about failure store backing indices - *

    - * API name: {@code failure_store} - */ - @Nullable - public final FailureStore failureStore() { - return this.failureStore; - } - - /** - * Required - Current generation for the data stream. This number acts as a - * cumulative count of the stream’s rollovers, starting at 1. - *

    - * API name: {@code generation} - */ - public final int generation() { - return this.generation; - } - - /** - * Required - If true, the data stream is hidden. - *

    - * API name: {@code hidden} - */ - public final boolean hidden() { - return this.hidden; - } - - /** - * Name of the current ILM lifecycle policy in the stream’s matching index - * template. This lifecycle policy is set in the - * index.lifecycle.name setting. If the template does not include a - * lifecycle policy, this property is not included in the response. NOTE: A data - * stream’s backing indices may be assigned different lifecycle policies. To - * retrieve the lifecycle policy for individual backing indices, use the get - * index settings API. - *

    - * API name: {@code ilm_policy} - */ - @Nullable - public final String ilmPolicy() { - return this.ilmPolicy; - } - - /** - * Required - Name of the lifecycle system that'll manage the next generation of - * the data stream. - *

    - * API name: {@code next_generation_managed_by} - */ - public final ManagedBy nextGenerationManagedBy() { - return this.nextGenerationManagedBy; - } - - /** - * Required - Indicates if ILM should take precedence over DSL in case both are - * configured to managed this data stream. - *

    - * API name: {@code prefer_ilm} - */ - public final boolean preferIlm() { - return this.preferIlm; - } - - /** - * Required - Array of objects containing information about the data stream’s - * backing indices. The last item in this array contains information about the - * stream’s current write index. - *

    - * API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Contains the configuration for the data stream lifecycle of this data stream. - *

    - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycleWithRollover lifecycle() { - return this.lifecycle; - } - - /** - * Required - Name of the data stream. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * If true, the data stream is created and managed by cross-cluster - * replication and the local cluster can not write into this data stream or - * change its mappings. - *

    - * API name: {@code replicated} - */ - @Nullable - public final Boolean replicated() { - return this.replicated; - } - - /** - * Required - If true, the next write to this data stream will - * trigger a rollover first and the document will be indexed in the new backing - * index. If the rollover fails the indexing request will fail too. - *

    - * API name: {@code rollover_on_write} - */ - public final boolean rolloverOnWrite() { - return this.rolloverOnWrite; - } - - /** - * Required - Health status of the data stream. This health status is based on - * the state of the primary and replica shards of the stream’s backing indices. - *

    - * API name: {@code status} - */ - public final HealthStatus status() { - return this.status; - } - - /** - * If true, the data stream is created and managed by an Elastic - * stack component and cannot be modified through normal user interaction. - *

    - * API name: {@code system} - */ - @Nullable - public final Boolean system() { - return this.system; - } - - /** - * Required - Name of the index template used to create the data stream’s - * backing indices. The template’s index pattern must match the name of this - * data stream. - *

    - * API name: {@code template} - */ - public final String template() { - return this.template; - } - - /** - * Required - Information about the @timestamp field in the data - * stream. - *

    - * API name: {@code timestamp_field} - */ - public final DataStreamTimestampField timestampField() { - return this.timestampField; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.meta)) { - generator.writeKey("_meta"); - generator.writeStartObject(); - for (Map.Entry item0 : this.meta.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.allowCustomRouting != null) { - generator.writeKey("allow_custom_routing"); - generator.write(this.allowCustomRouting); - - } - if (this.failureStore != null) { - generator.writeKey("failure_store"); - this.failureStore.serialize(generator, mapper); - - } - generator.writeKey("generation"); - generator.write(this.generation); - - generator.writeKey("hidden"); - generator.write(this.hidden); - - if (this.ilmPolicy != null) { - generator.writeKey("ilm_policy"); - generator.write(this.ilmPolicy); - - } - generator.writeKey("next_generation_managed_by"); - this.nextGenerationManagedBy.serialize(generator, mapper); - generator.writeKey("prefer_ilm"); - generator.write(this.preferIlm); - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (DataStreamIndex item0 : this.indices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - generator.writeKey("name"); - generator.write(this.name); - - if (this.replicated != null) { - generator.writeKey("replicated"); - generator.write(this.replicated); - - } - generator.writeKey("rollover_on_write"); - generator.write(this.rolloverOnWrite); - - generator.writeKey("status"); - this.status.serialize(generator, mapper); - if (this.system != null) { - generator.writeKey("system"); - generator.write(this.system); - - } - generator.writeKey("template"); - generator.write(this.template); - - generator.writeKey("timestamp_field"); - this.timestampField.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStream}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Map meta; - - @Nullable - private Boolean allowCustomRouting; - - @Nullable - private FailureStore failureStore; - - private Integer generation; - - private Boolean hidden; - - @Nullable - private String ilmPolicy; - - private ManagedBy nextGenerationManagedBy; - - private Boolean preferIlm; - - private List indices; - - @Nullable - private DataStreamLifecycleWithRollover lifecycle; - - private String name; - - @Nullable - private Boolean replicated; - - private Boolean rolloverOnWrite; - - private HealthStatus status; - - @Nullable - private Boolean system; - - private String template; - - private DataStreamTimestampField timestampField; - - /** - * Custom metadata for the stream, copied from the _meta object of - * the stream’s matching index template. If empty, the response omits this - * property. - *

    - * API name: {@code _meta} - *

    - * Adds all entries of map to meta. - */ - public final Builder meta(Map map) { - this.meta = _mapPutAll(this.meta, map); - return this; - } - - /** - * Custom metadata for the stream, copied from the _meta object of - * the stream’s matching index template. If empty, the response omits this - * property. - *

    - * API name: {@code _meta} - *

    - * Adds an entry to meta. - */ - public final Builder meta(String key, JsonData value) { - this.meta = _mapPut(this.meta, key, value); - return this; - } - - /** - * If true, the data stream allows custom routing on write request. - *

    - * API name: {@code allow_custom_routing} - */ - public final Builder allowCustomRouting(@Nullable Boolean value) { - this.allowCustomRouting = value; - return this; - } - - /** - * Information about failure store backing indices - *

    - * API name: {@code failure_store} - */ - public final Builder failureStore(@Nullable FailureStore value) { - this.failureStore = value; - return this; - } - - /** - * Information about failure store backing indices - *

    - * API name: {@code failure_store} - */ - public final Builder failureStore(Function> fn) { - return this.failureStore(fn.apply(new FailureStore.Builder()).build()); - } - - /** - * Required - Current generation for the data stream. This number acts as a - * cumulative count of the stream’s rollovers, starting at 1. - *

    - * API name: {@code generation} - */ - public final Builder generation(int value) { - this.generation = value; - return this; - } - - /** - * Required - If true, the data stream is hidden. - *

    - * API name: {@code hidden} - */ - public final Builder hidden(boolean value) { - this.hidden = value; - return this; - } - - /** - * Name of the current ILM lifecycle policy in the stream’s matching index - * template. This lifecycle policy is set in the - * index.lifecycle.name setting. If the template does not include a - * lifecycle policy, this property is not included in the response. NOTE: A data - * stream’s backing indices may be assigned different lifecycle policies. To - * retrieve the lifecycle policy for individual backing indices, use the get - * index settings API. - *

    - * API name: {@code ilm_policy} - */ - public final Builder ilmPolicy(@Nullable String value) { - this.ilmPolicy = value; - return this; - } - - /** - * Required - Name of the lifecycle system that'll manage the next generation of - * the data stream. - *

    - * API name: {@code next_generation_managed_by} - */ - public final Builder nextGenerationManagedBy(ManagedBy value) { - this.nextGenerationManagedBy = value; - return this; - } - - /** - * Required - Indicates if ILM should take precedence over DSL in case both are - * configured to managed this data stream. - *

    - * API name: {@code prefer_ilm} - */ - public final Builder preferIlm(boolean value) { - this.preferIlm = value; - return this; - } - - /** - * Required - Array of objects containing information about the data stream’s - * backing indices. The last item in this array contains information about the - * stream’s current write index. - *

    - * API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - Array of objects containing information about the data stream’s - * backing indices. The last item in this array contains information about the - * stream’s current write index. - *

    - * API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(DataStreamIndex value, DataStreamIndex... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - /** - * Required - Array of objects containing information about the data stream’s - * backing indices. The last item in this array contains information about the - * stream’s current write index. - *

    - * API name: {@code indices} - *

    - * Adds a value to indices using a builder lambda. - */ - public final Builder indices(Function> fn) { - return indices(fn.apply(new DataStreamIndex.Builder()).build()); - } - - /** - * Contains the configuration for the data stream lifecycle of this data stream. - *

    - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycleWithRollover value) { - this.lifecycle = value; - return this; - } - - /** - * Contains the configuration for the data stream lifecycle of this data stream. - *

    - * API name: {@code lifecycle} - */ - public final Builder lifecycle( - Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycleWithRollover.Builder()).build()); - } - - /** - * Required - Name of the data stream. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * If true, the data stream is created and managed by cross-cluster - * replication and the local cluster can not write into this data stream or - * change its mappings. - *

    - * API name: {@code replicated} - */ - public final Builder replicated(@Nullable Boolean value) { - this.replicated = value; - return this; - } - - /** - * Required - If true, the next write to this data stream will - * trigger a rollover first and the document will be indexed in the new backing - * index. If the rollover fails the indexing request will fail too. - *

    - * API name: {@code rollover_on_write} - */ - public final Builder rolloverOnWrite(boolean value) { - this.rolloverOnWrite = value; - return this; - } - - /** - * Required - Health status of the data stream. This health status is based on - * the state of the primary and replica shards of the stream’s backing indices. - *

    - * API name: {@code status} - */ - public final Builder status(HealthStatus value) { - this.status = value; - return this; - } - - /** - * If true, the data stream is created and managed by an Elastic - * stack component and cannot be modified through normal user interaction. - *

    - * API name: {@code system} - */ - public final Builder system(@Nullable Boolean value) { - this.system = value; - return this; - } - - /** - * Required - Name of the index template used to create the data stream’s - * backing indices. The template’s index pattern must match the name of this - * data stream. - *

    - * API name: {@code template} - */ - public final Builder template(String value) { - this.template = value; - return this; - } - - /** - * Required - Information about the @timestamp field in the data - * stream. - *

    - * API name: {@code timestamp_field} - */ - public final Builder timestampField(DataStreamTimestampField value) { - this.timestampField = value; - return this; - } - - /** - * Required - Information about the @timestamp field in the data - * stream. - *

    - * API name: {@code timestamp_field} - */ - public final Builder timestampField( - Function> fn) { - return this.timestampField(fn.apply(new DataStreamTimestampField.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStream}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStream build() { - _checkSingleUse(); - - return new DataStream(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStream} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - DataStream::setupDataStreamDeserializer); - - protected static void setupDataStreamDeserializer(ObjectDeserializer op) { - - op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); - op.add(Builder::allowCustomRouting, JsonpDeserializer.booleanDeserializer(), "allow_custom_routing"); - op.add(Builder::failureStore, FailureStore._DESERIALIZER, "failure_store"); - op.add(Builder::generation, JsonpDeserializer.integerDeserializer(), "generation"); - op.add(Builder::hidden, JsonpDeserializer.booleanDeserializer(), "hidden"); - op.add(Builder::ilmPolicy, JsonpDeserializer.stringDeserializer(), "ilm_policy"); - op.add(Builder::nextGenerationManagedBy, ManagedBy._DESERIALIZER, "next_generation_managed_by"); - op.add(Builder::preferIlm, JsonpDeserializer.booleanDeserializer(), "prefer_ilm"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(DataStreamIndex._DESERIALIZER), "indices"); - op.add(Builder::lifecycle, DataStreamLifecycleWithRollover._DESERIALIZER, "lifecycle"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::replicated, JsonpDeserializer.booleanDeserializer(), "replicated"); - op.add(Builder::rolloverOnWrite, JsonpDeserializer.booleanDeserializer(), "rollover_on_write"); - op.add(Builder::status, HealthStatus._DESERIALIZER, "status"); - op.add(Builder::system, JsonpDeserializer.booleanDeserializer(), "system"); - op.add(Builder::template, JsonpDeserializer.stringDeserializer(), "template"); - op.add(Builder::timestampField, DataStreamTimestampField._DESERIALIZER, "timestamp_field"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamIndex.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamIndex.java deleted file mode 100644 index 3e6e64506..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamIndex.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamIndex - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamIndex implements JsonpSerializable { - private final String indexName; - - private final String indexUuid; - - @Nullable - private final String ilmPolicy; - - @Nullable - private final ManagedBy managedBy; - - @Nullable - private final Boolean preferIlm; - - // --------------------------------------------------------------------------------------------- - - private DataStreamIndex(Builder builder) { - - this.indexName = ApiTypeHelper.requireNonNull(builder.indexName, this, "indexName"); - this.indexUuid = ApiTypeHelper.requireNonNull(builder.indexUuid, this, "indexUuid"); - this.ilmPolicy = builder.ilmPolicy; - this.managedBy = builder.managedBy; - this.preferIlm = builder.preferIlm; - - } - - public static DataStreamIndex of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Name of the backing index. - *

    - * API name: {@code index_name} - */ - public final String indexName() { - return this.indexName; - } - - /** - * Required - Universally unique identifier (UUID) for the index. - *

    - * API name: {@code index_uuid} - */ - public final String indexUuid() { - return this.indexUuid; - } - - /** - * Name of the current ILM lifecycle policy configured for this backing index. - *

    - * API name: {@code ilm_policy} - */ - @Nullable - public final String ilmPolicy() { - return this.ilmPolicy; - } - - /** - * Name of the lifecycle system that's currently managing this backing index. - *

    - * API name: {@code managed_by} - */ - @Nullable - public final ManagedBy managedBy() { - return this.managedBy; - } - - /** - * Indicates if ILM should take precedence over DSL in case both are configured - * to manage this index. - *

    - * API name: {@code prefer_ilm} - */ - @Nullable - public final Boolean preferIlm() { - return this.preferIlm; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("index_name"); - generator.write(this.indexName); - - generator.writeKey("index_uuid"); - generator.write(this.indexUuid); - - if (this.ilmPolicy != null) { - generator.writeKey("ilm_policy"); - generator.write(this.ilmPolicy); - - } - if (this.managedBy != null) { - generator.writeKey("managed_by"); - this.managedBy.serialize(generator, mapper); - } - if (this.preferIlm != null) { - generator.writeKey("prefer_ilm"); - generator.write(this.preferIlm); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamIndex}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String indexName; - - private String indexUuid; - - @Nullable - private String ilmPolicy; - - @Nullable - private ManagedBy managedBy; - - @Nullable - private Boolean preferIlm; - - /** - * Required - Name of the backing index. - *

    - * API name: {@code index_name} - */ - public final Builder indexName(String value) { - this.indexName = value; - return this; - } - - /** - * Required - Universally unique identifier (UUID) for the index. - *

    - * API name: {@code index_uuid} - */ - public final Builder indexUuid(String value) { - this.indexUuid = value; - return this; - } - - /** - * Name of the current ILM lifecycle policy configured for this backing index. - *

    - * API name: {@code ilm_policy} - */ - public final Builder ilmPolicy(@Nullable String value) { - this.ilmPolicy = value; - return this; - } - - /** - * Name of the lifecycle system that's currently managing this backing index. - *

    - * API name: {@code managed_by} - */ - public final Builder managedBy(@Nullable ManagedBy value) { - this.managedBy = value; - return this; - } - - /** - * Indicates if ILM should take precedence over DSL in case both are configured - * to manage this index. - *

    - * API name: {@code prefer_ilm} - */ - public final Builder preferIlm(@Nullable Boolean value) { - this.preferIlm = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamIndex}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamIndex build() { - _checkSingleUse(); - - return new DataStreamIndex(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamIndex} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - DataStreamIndex::setupDataStreamIndexDeserializer); - - protected static void setupDataStreamIndexDeserializer(ObjectDeserializer op) { - - op.add(Builder::indexName, JsonpDeserializer.stringDeserializer(), "index_name"); - op.add(Builder::indexUuid, JsonpDeserializer.stringDeserializer(), "index_uuid"); - op.add(Builder::ilmPolicy, JsonpDeserializer.stringDeserializer(), "ilm_policy"); - op.add(Builder::managedBy, ManagedBy._DESERIALIZER, "managed_by"); - op.add(Builder::preferIlm, JsonpDeserializer.booleanDeserializer(), "prefer_ilm"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java deleted file mode 100644 index 7d8973e75..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycle.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamLifecycle - -/** - * Data stream lifecycle denotes that a data stream is managed by the data - * stream lifecycle and contains the configuration. - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamLifecycle implements JsonpSerializable { - @Nullable - private final Time dataRetention; - - @Nullable - private final DataStreamLifecycleDownsampling downsampling; - - // --------------------------------------------------------------------------------------------- - - private DataStreamLifecycle(Builder builder) { - - this.dataRetention = builder.dataRetention; - this.downsampling = builder.downsampling; - - } - - public static DataStreamLifecycle of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code data_retention} - */ - @Nullable - public final Time dataRetention() { - return this.dataRetention; - } - - /** - * API name: {@code downsampling} - */ - @Nullable - public final DataStreamLifecycleDownsampling downsampling() { - return this.downsampling; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.dataRetention != null) { - generator.writeKey("data_retention"); - this.dataRetention.serialize(generator, mapper); - - } - if (this.downsampling != null) { - generator.writeKey("downsampling"); - this.downsampling.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamLifecycle}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time dataRetention; - - @Nullable - private DataStreamLifecycleDownsampling downsampling; - - /** - * API name: {@code data_retention} - */ - public final Builder dataRetention(@Nullable Time value) { - this.dataRetention = value; - return this; - } - - /** - * API name: {@code data_retention} - */ - public final Builder dataRetention(Function> fn) { - return this.dataRetention(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code downsampling} - */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { - this.downsampling = value; - return this; - } - - /** - * API name: {@code downsampling} - */ - public final Builder downsampling( - Function> fn) { - return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamLifecycle}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamLifecycle build() { - _checkSingleUse(); - - return new DataStreamLifecycle(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamLifecycle} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamLifecycle::setupDataStreamLifecycleDeserializer); - - protected static void setupDataStreamLifecycleDeserializer(ObjectDeserializer op) { - - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleDownsampling.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleDownsampling.java deleted file mode 100644 index b1f5696c4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleDownsampling.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamLifecycleDownsampling - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamLifecycleDownsampling implements JsonpSerializable { - private final List rounds; - - // --------------------------------------------------------------------------------------------- - - private DataStreamLifecycleDownsampling(Builder builder) { - - this.rounds = ApiTypeHelper.unmodifiableRequired(builder.rounds, this, "rounds"); - - } - - public static DataStreamLifecycleDownsampling of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - The list of downsampling rounds to execute as part of this - * downsampling configuration - *

    - * API name: {@code rounds} - */ - public final List rounds() { - return this.rounds; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.rounds)) { - generator.writeKey("rounds"); - generator.writeStartArray(); - for (DownsamplingRound item0 : this.rounds) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamLifecycleDownsampling}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List rounds; - - /** - * Required - The list of downsampling rounds to execute as part of this - * downsampling configuration - *

    - * API name: {@code rounds} - *

    - * Adds all elements of list to rounds. - */ - public final Builder rounds(List list) { - this.rounds = _listAddAll(this.rounds, list); - return this; - } - - /** - * Required - The list of downsampling rounds to execute as part of this - * downsampling configuration - *

    - * API name: {@code rounds} - *

    - * Adds one or more values to rounds. - */ - public final Builder rounds(DownsamplingRound value, DownsamplingRound... values) { - this.rounds = _listAdd(this.rounds, value, values); - return this; - } - - /** - * Required - The list of downsampling rounds to execute as part of this - * downsampling configuration - *

    - * API name: {@code rounds} - *

    - * Adds a value to rounds using a builder lambda. - */ - public final Builder rounds(Function> fn) { - return rounds(fn.apply(new DownsamplingRound.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamLifecycleDownsampling}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamLifecycleDownsampling build() { - _checkSingleUse(); - - return new DataStreamLifecycleDownsampling(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamLifecycleDownsampling} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamLifecycleDownsampling::setupDataStreamLifecycleDownsamplingDeserializer); - - protected static void setupDataStreamLifecycleDownsamplingDeserializer( - ObjectDeserializer op) { - - op.add(Builder::rounds, JsonpDeserializer.arrayDeserializer(DownsamplingRound._DESERIALIZER), "rounds"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleRolloverConditions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleRolloverConditions.java deleted file mode 100644 index 96605215d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleRolloverConditions.java +++ /dev/null @@ -1,434 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamLifecycleRolloverConditions - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamLifecycleRolloverConditions implements JsonpSerializable { - @Nullable - private final Time minAge; - - @Nullable - private final String maxAge; - - @Nullable - private final Long minDocs; - - @Nullable - private final Long maxDocs; - - @Nullable - private final String minSize; - - @Nullable - private final String maxSize; - - @Nullable - private final String minPrimaryShardSize; - - @Nullable - private final String maxPrimaryShardSize; - - @Nullable - private final Long minPrimaryShardDocs; - - @Nullable - private final Long maxPrimaryShardDocs; - - // --------------------------------------------------------------------------------------------- - - private DataStreamLifecycleRolloverConditions(Builder builder) { - - this.minAge = builder.minAge; - this.maxAge = builder.maxAge; - this.minDocs = builder.minDocs; - this.maxDocs = builder.maxDocs; - this.minSize = builder.minSize; - this.maxSize = builder.maxSize; - this.minPrimaryShardSize = builder.minPrimaryShardSize; - this.maxPrimaryShardSize = builder.maxPrimaryShardSize; - this.minPrimaryShardDocs = builder.minPrimaryShardDocs; - this.maxPrimaryShardDocs = builder.maxPrimaryShardDocs; - - } - - public static DataStreamLifecycleRolloverConditions of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code min_age} - */ - @Nullable - public final Time minAge() { - return this.minAge; - } - - /** - * API name: {@code max_age} - */ - @Nullable - public final String maxAge() { - return this.maxAge; - } - - /** - * API name: {@code min_docs} - */ - @Nullable - public final Long minDocs() { - return this.minDocs; - } - - /** - * API name: {@code max_docs} - */ - @Nullable - public final Long maxDocs() { - return this.maxDocs; - } - - /** - * API name: {@code min_size} - */ - @Nullable - public final String minSize() { - return this.minSize; - } - - /** - * API name: {@code max_size} - */ - @Nullable - public final String maxSize() { - return this.maxSize; - } - - /** - * API name: {@code min_primary_shard_size} - */ - @Nullable - public final String minPrimaryShardSize() { - return this.minPrimaryShardSize; - } - - /** - * API name: {@code max_primary_shard_size} - */ - @Nullable - public final String maxPrimaryShardSize() { - return this.maxPrimaryShardSize; - } - - /** - * API name: {@code min_primary_shard_docs} - */ - @Nullable - public final Long minPrimaryShardDocs() { - return this.minPrimaryShardDocs; - } - - /** - * API name: {@code max_primary_shard_docs} - */ - @Nullable - public final Long maxPrimaryShardDocs() { - return this.maxPrimaryShardDocs; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.minAge != null) { - generator.writeKey("min_age"); - this.minAge.serialize(generator, mapper); - - } - if (this.maxAge != null) { - generator.writeKey("max_age"); - generator.write(this.maxAge); - - } - if (this.minDocs != null) { - generator.writeKey("min_docs"); - generator.write(this.minDocs); - - } - if (this.maxDocs != null) { - generator.writeKey("max_docs"); - generator.write(this.maxDocs); - - } - if (this.minSize != null) { - generator.writeKey("min_size"); - generator.write(this.minSize); - - } - if (this.maxSize != null) { - generator.writeKey("max_size"); - generator.write(this.maxSize); - - } - if (this.minPrimaryShardSize != null) { - generator.writeKey("min_primary_shard_size"); - generator.write(this.minPrimaryShardSize); - - } - if (this.maxPrimaryShardSize != null) { - generator.writeKey("max_primary_shard_size"); - generator.write(this.maxPrimaryShardSize); - - } - if (this.minPrimaryShardDocs != null) { - generator.writeKey("min_primary_shard_docs"); - generator.write(this.minPrimaryShardDocs); - - } - if (this.maxPrimaryShardDocs != null) { - generator.writeKey("max_primary_shard_docs"); - generator.write(this.maxPrimaryShardDocs); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamLifecycleRolloverConditions}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time minAge; - - @Nullable - private String maxAge; - - @Nullable - private Long minDocs; - - @Nullable - private Long maxDocs; - - @Nullable - private String minSize; - - @Nullable - private String maxSize; - - @Nullable - private String minPrimaryShardSize; - - @Nullable - private String maxPrimaryShardSize; - - @Nullable - private Long minPrimaryShardDocs; - - @Nullable - private Long maxPrimaryShardDocs; - - /** - * API name: {@code min_age} - */ - public final Builder minAge(@Nullable Time value) { - this.minAge = value; - return this; - } - - /** - * API name: {@code min_age} - */ - public final Builder minAge(Function> fn) { - return this.minAge(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code max_age} - */ - public final Builder maxAge(@Nullable String value) { - this.maxAge = value; - return this; - } - - /** - * API name: {@code min_docs} - */ - public final Builder minDocs(@Nullable Long value) { - this.minDocs = value; - return this; - } - - /** - * API name: {@code max_docs} - */ - public final Builder maxDocs(@Nullable Long value) { - this.maxDocs = value; - return this; - } - - /** - * API name: {@code min_size} - */ - public final Builder minSize(@Nullable String value) { - this.minSize = value; - return this; - } - - /** - * API name: {@code max_size} - */ - public final Builder maxSize(@Nullable String value) { - this.maxSize = value; - return this; - } - - /** - * API name: {@code min_primary_shard_size} - */ - public final Builder minPrimaryShardSize(@Nullable String value) { - this.minPrimaryShardSize = value; - return this; - } - - /** - * API name: {@code max_primary_shard_size} - */ - public final Builder maxPrimaryShardSize(@Nullable String value) { - this.maxPrimaryShardSize = value; - return this; - } - - /** - * API name: {@code min_primary_shard_docs} - */ - public final Builder minPrimaryShardDocs(@Nullable Long value) { - this.minPrimaryShardDocs = value; - return this; - } - - /** - * API name: {@code max_primary_shard_docs} - */ - public final Builder maxPrimaryShardDocs(@Nullable Long value) { - this.maxPrimaryShardDocs = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamLifecycleRolloverConditions}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamLifecycleRolloverConditions build() { - _checkSingleUse(); - - return new DataStreamLifecycleRolloverConditions(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamLifecycleRolloverConditions} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, - DataStreamLifecycleRolloverConditions::setupDataStreamLifecycleRolloverConditionsDeserializer); - - protected static void setupDataStreamLifecycleRolloverConditionsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::minAge, Time._DESERIALIZER, "min_age"); - op.add(Builder::maxAge, JsonpDeserializer.stringDeserializer(), "max_age"); - op.add(Builder::minDocs, JsonpDeserializer.longDeserializer(), "min_docs"); - op.add(Builder::maxDocs, JsonpDeserializer.longDeserializer(), "max_docs"); - op.add(Builder::minSize, JsonpDeserializer.stringDeserializer(), "min_size"); - op.add(Builder::maxSize, JsonpDeserializer.stringDeserializer(), "max_size"); - op.add(Builder::minPrimaryShardSize, JsonpDeserializer.stringDeserializer(), "min_primary_shard_size"); - op.add(Builder::maxPrimaryShardSize, JsonpDeserializer.stringDeserializer(), "max_primary_shard_size"); - op.add(Builder::minPrimaryShardDocs, JsonpDeserializer.longDeserializer(), "min_primary_shard_docs"); - op.add(Builder::maxPrimaryShardDocs, JsonpDeserializer.longDeserializer(), "max_primary_shard_docs"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java deleted file mode 100644 index 14e94e6e1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamLifecycleWithRollover.java +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamLifecycleWithRollover - -/** - * Data stream lifecycle with rollover can be used to display the configuration - * including the default rollover conditions, if asked. - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamLifecycleWithRollover implements JsonpSerializable { - @Nullable - private final Time dataRetention; - - @Nullable - private final DataStreamLifecycleDownsampling downsampling; - - @Nullable - private final DataStreamLifecycleRolloverConditions rollover; - - // --------------------------------------------------------------------------------------------- - - private DataStreamLifecycleWithRollover(Builder builder) { - - this.dataRetention = builder.dataRetention; - this.downsampling = builder.downsampling; - this.rollover = builder.rollover; - - } - - public static DataStreamLifecycleWithRollover of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - @Nullable - public final Time dataRetention() { - return this.dataRetention; - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

    - * API name: {@code downsampling} - */ - @Nullable - public final DataStreamLifecycleDownsampling downsampling() { - return this.downsampling; - } - - /** - * The conditions which will trigger the rollover of a backing index as - * configured by the cluster setting - * cluster.lifecycle.default.rollover. This property is an - * implementation detail and it will only be retrieved when the query param - * include_defaults is set to true. The contents of this field are - * subject to change. - *

    - * API name: {@code rollover} - */ - @Nullable - public final DataStreamLifecycleRolloverConditions rollover() { - return this.rollover; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.dataRetention != null) { - generator.writeKey("data_retention"); - this.dataRetention.serialize(generator, mapper); - - } - if (this.downsampling != null) { - generator.writeKey("downsampling"); - this.downsampling.serialize(generator, mapper); - - } - if (this.rollover != null) { - generator.writeKey("rollover"); - this.rollover.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamLifecycleWithRollover}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time dataRetention; - - @Nullable - private DataStreamLifecycleDownsampling downsampling; - - @Nullable - private DataStreamLifecycleRolloverConditions rollover; - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - public final Builder dataRetention(@Nullable Time value) { - this.dataRetention = value; - return this; - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - public final Builder dataRetention(Function> fn) { - return this.dataRetention(fn.apply(new Time.Builder()).build()); - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

    - * API name: {@code downsampling} - */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { - this.downsampling = value; - return this; - } - - /** - * The downsampling configuration to execute for the managed backing index after - * rollover. - *

    - * API name: {@code downsampling} - */ - public final Builder downsampling( - Function> fn) { - return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); - } - - /** - * The conditions which will trigger the rollover of a backing index as - * configured by the cluster setting - * cluster.lifecycle.default.rollover. This property is an - * implementation detail and it will only be retrieved when the query param - * include_defaults is set to true. The contents of this field are - * subject to change. - *

    - * API name: {@code rollover} - */ - public final Builder rollover(@Nullable DataStreamLifecycleRolloverConditions value) { - this.rollover = value; - return this; - } - - /** - * The conditions which will trigger the rollover of a backing index as - * configured by the cluster setting - * cluster.lifecycle.default.rollover. This property is an - * implementation detail and it will only be retrieved when the query param - * include_defaults is set to true. The contents of this field are - * subject to change. - *

    - * API name: {@code rollover} - */ - public final Builder rollover( - Function> fn) { - return this.rollover(fn.apply(new DataStreamLifecycleRolloverConditions.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamLifecycleWithRollover}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamLifecycleWithRollover build() { - _checkSingleUse(); - - return new DataStreamLifecycleWithRollover(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamLifecycleWithRollover} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamLifecycleWithRollover::setupDataStreamLifecycleWithRolloverDeserializer); - - protected static void setupDataStreamLifecycleWithRolloverDeserializer( - ObjectDeserializer op) { - - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); - op.add(Builder::rollover, DataStreamLifecycleRolloverConditions._DESERIALIZER, "rollover"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamTimestampField.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamTimestampField.java deleted file mode 100644 index ae0ea8287..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamTimestampField.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamTimestampField - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamTimestampField implements JsonpSerializable { - private final String name; - - // --------------------------------------------------------------------------------------------- - - private DataStreamTimestampField(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - - } - - public static DataStreamTimestampField of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Name of the timestamp field for the data stream, which must be - * @timestamp. The @timestamp field must be included - * in every document indexed to the data stream. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamTimestampField}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String name; - - /** - * Required - Name of the timestamp field for the data stream, which must be - * @timestamp. The @timestamp field must be included - * in every document indexed to the data stream. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamTimestampField}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamTimestampField build() { - _checkSingleUse(); - - return new DataStreamTimestampField(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamTimestampField} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamTimestampField::setupDataStreamTimestampFieldDeserializer); - - protected static void setupDataStreamTimestampFieldDeserializer( - ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java deleted file mode 100644 index 9f562c19d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamVisibility.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DataStreamVisibility - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamVisibility implements JsonpSerializable { - @Nullable - private final Boolean hidden; - - // --------------------------------------------------------------------------------------------- - - private DataStreamVisibility(Builder builder) { - - this.hidden = builder.hidden; - - } - - public static DataStreamVisibility of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code hidden} - */ - @Nullable - public final Boolean hidden() { - return this.hidden; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.hidden != null) { - generator.writeKey("hidden"); - generator.write(this.hidden); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamVisibility}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Boolean hidden; - - /** - * API name: {@code hidden} - */ - public final Builder hidden(@Nullable Boolean value) { - this.hidden = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamVisibility}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamVisibility build() { - _checkSingleUse(); - - return new DataStreamVisibility(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamVisibility} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamVisibility::setupDataStreamVisibilityDeserializer); - - protected static void setupDataStreamVisibilityDeserializer(ObjectDeserializer op) { - - op.add(Builder::hidden, JsonpDeserializer.booleanDeserializer(), "hidden"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsRequest.java deleted file mode 100644 index 04e7ed9f3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsRequest.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.data_streams_stats.Request - -/** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @see API - * specification - */ - -public class DataStreamsStatsRequest extends RequestBase { - private final List expandWildcards; - - @Nullable - private final String name; - - // --------------------------------------------------------------------------------------------- - - private DataStreamsStatsRequest(Builder builder) { - - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.name = builder.name; - - } - - public static DataStreamsStatsRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Comma-separated list of data streams used to limit the request. Wildcard - * expressions (*) are supported. To target all data streams in a - * cluster, omit this parameter or use *. - *

    - * API name: {@code name} - */ - @Nullable - public final String name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamsStatsRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List expandWildcards; - - @Nullable - private String name; - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Comma-separated list of data streams used to limit the request. Wildcard - * expressions (*) are supported. To target all data streams in a - * cluster, omit this parameter or use *. - *

    - * API name: {@code name} - */ - public final Builder name(@Nullable String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamsStatsRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamsStatsRequest build() { - _checkSingleUse(); - - return new DataStreamsStatsRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.data_streams_stats}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.data_streams_stats", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/_stats"); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - buf.append("/_stats"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - } - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DataStreamsStatsResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsResponse.java deleted file mode 100644 index efd8a3023..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DataStreamsStatsResponse.java +++ /dev/null @@ -1,360 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ShardStatistics; -import co.elastic.clients.elasticsearch.indices.data_streams_stats.DataStreamsStatsItem; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.data_streams_stats.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamsStatsResponse implements JsonpSerializable { - private final ShardStatistics shards; - - private final int backingIndices; - - private final int dataStreamCount; - - private final List dataStreams; - - @Nullable - private final String totalStoreSizes; - - private final long totalStoreSizeBytes; - - // --------------------------------------------------------------------------------------------- - - private DataStreamsStatsResponse(Builder builder) { - - this.shards = ApiTypeHelper.requireNonNull(builder.shards, this, "shards"); - this.backingIndices = ApiTypeHelper.requireNonNull(builder.backingIndices, this, "backingIndices"); - this.dataStreamCount = ApiTypeHelper.requireNonNull(builder.dataStreamCount, this, "dataStreamCount"); - this.dataStreams = ApiTypeHelper.unmodifiableRequired(builder.dataStreams, this, "dataStreams"); - this.totalStoreSizes = builder.totalStoreSizes; - this.totalStoreSizeBytes = ApiTypeHelper.requireNonNull(builder.totalStoreSizeBytes, this, - "totalStoreSizeBytes"); - - } - - public static DataStreamsStatsResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Contains information about shards that attempted to execute the - * request. - *

    - * API name: {@code _shards} - */ - public final ShardStatistics shards() { - return this.shards; - } - - /** - * Required - Total number of backing indices for the selected data streams. - *

    - * API name: {@code backing_indices} - */ - public final int backingIndices() { - return this.backingIndices; - } - - /** - * Required - Total number of selected data streams. - *

    - * API name: {@code data_stream_count} - */ - public final int dataStreamCount() { - return this.dataStreamCount; - } - - /** - * Required - Contains statistics for the selected data streams. - *

    - * API name: {@code data_streams} - */ - public final List dataStreams() { - return this.dataStreams; - } - - /** - * Total size of all shards for the selected data streams. This property is - * included only if the human query parameter is true - *

    - * API name: {@code total_store_sizes} - */ - @Nullable - public final String totalStoreSizes() { - return this.totalStoreSizes; - } - - /** - * Required - Total size, in bytes, of all shards for the selected data streams. - *

    - * API name: {@code total_store_size_bytes} - */ - public final long totalStoreSizeBytes() { - return this.totalStoreSizeBytes; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); - - generator.writeKey("backing_indices"); - generator.write(this.backingIndices); - - generator.writeKey("data_stream_count"); - generator.write(this.dataStreamCount); - - if (ApiTypeHelper.isDefined(this.dataStreams)) { - generator.writeKey("data_streams"); - generator.writeStartArray(); - for (DataStreamsStatsItem item0 : this.dataStreams) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.totalStoreSizes != null) { - generator.writeKey("total_store_sizes"); - generator.write(this.totalStoreSizes); - - } - generator.writeKey("total_store_size_bytes"); - generator.write(this.totalStoreSizeBytes); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamsStatsResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private ShardStatistics shards; - - private Integer backingIndices; - - private Integer dataStreamCount; - - private List dataStreams; - - @Nullable - private String totalStoreSizes; - - private Long totalStoreSizeBytes; - - /** - * Required - Contains information about shards that attempted to execute the - * request. - *

    - * API name: {@code _shards} - */ - public final Builder shards(ShardStatistics value) { - this.shards = value; - return this; - } - - /** - * Required - Contains information about shards that attempted to execute the - * request. - *

    - * API name: {@code _shards} - */ - public final Builder shards(Function> fn) { - return this.shards(fn.apply(new ShardStatistics.Builder()).build()); - } - - /** - * Required - Total number of backing indices for the selected data streams. - *

    - * API name: {@code backing_indices} - */ - public final Builder backingIndices(int value) { - this.backingIndices = value; - return this; - } - - /** - * Required - Total number of selected data streams. - *

    - * API name: {@code data_stream_count} - */ - public final Builder dataStreamCount(int value) { - this.dataStreamCount = value; - return this; - } - - /** - * Required - Contains statistics for the selected data streams. - *

    - * API name: {@code data_streams} - *

    - * Adds all elements of list to dataStreams. - */ - public final Builder dataStreams(List list) { - this.dataStreams = _listAddAll(this.dataStreams, list); - return this; - } - - /** - * Required - Contains statistics for the selected data streams. - *

    - * API name: {@code data_streams} - *

    - * Adds one or more values to dataStreams. - */ - public final Builder dataStreams(DataStreamsStatsItem value, DataStreamsStatsItem... values) { - this.dataStreams = _listAdd(this.dataStreams, value, values); - return this; - } - - /** - * Required - Contains statistics for the selected data streams. - *

    - * API name: {@code data_streams} - *

    - * Adds a value to dataStreams using a builder lambda. - */ - public final Builder dataStreams( - Function> fn) { - return dataStreams(fn.apply(new DataStreamsStatsItem.Builder()).build()); - } - - /** - * Total size of all shards for the selected data streams. This property is - * included only if the human query parameter is true - *

    - * API name: {@code total_store_sizes} - */ - public final Builder totalStoreSizes(@Nullable String value) { - this.totalStoreSizes = value; - return this; - } - - /** - * Required - Total size, in bytes, of all shards for the selected data streams. - *

    - * API name: {@code total_store_size_bytes} - */ - public final Builder totalStoreSizeBytes(long value) { - this.totalStoreSizeBytes = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamsStatsResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamsStatsResponse build() { - _checkSingleUse(); - - return new DataStreamsStatsResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamsStatsResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamsStatsResponse::setupDataStreamsStatsResponseDeserializer); - - protected static void setupDataStreamsStatsResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::shards, ShardStatistics._DESERIALIZER, "_shards"); - op.add(Builder::backingIndices, JsonpDeserializer.integerDeserializer(), "backing_indices"); - op.add(Builder::dataStreamCount, JsonpDeserializer.integerDeserializer(), "data_stream_count"); - op.add(Builder::dataStreams, JsonpDeserializer.arrayDeserializer(DataStreamsStatsItem._DESERIALIZER), - "data_streams"); - op.add(Builder::totalStoreSizes, JsonpDeserializer.stringDeserializer(), "total_store_sizes"); - op.add(Builder::totalStoreSizeBytes, JsonpDeserializer.longDeserializer(), "total_store_size_bytes"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasRequest.java deleted file mode 100644 index 711ef9bb2..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasRequest.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_alias.Request - -/** - * Delete an alias. Removes a data stream or index from an alias. - * - * @see API - * specification - */ - -public class DeleteAliasRequest extends RequestBase { - private final List index; - - @Nullable - private final Time masterTimeout; - - private final List name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private DeleteAliasRequest(Builder builder) { - - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static DeleteAliasRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Comma-separated list of data streams or indices used to limit the - * request. Supports wildcards (*). - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of aliases to remove. Supports wildcards - * (*). To remove all aliases, use * or - * _all. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteAliasRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private List index; - - @Nullable - private Time masterTimeout; - - private List name; - - @Nullable - private Time timeout; - - /** - * Required - Comma-separated list of data streams or indices used to limit the - * request. Supports wildcards (*). - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Comma-separated list of data streams or indices used to limit the - * request. Supports wildcards (*). - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of aliases to remove. Supports wildcards - * (*). To remove all aliases, use * or - * _all. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of aliases to remove. Supports wildcards - * (*). To remove all aliases, use * or - * _all. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteAliasRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteAliasRequest build() { - _checkSingleUse(); - - return new DeleteAliasRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.delete_alias}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.delete_alias", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - propsSet |= _index; - - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_aliases"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - propsSet |= _index; - - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DeleteAliasResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasResponse.java deleted file mode 100644 index 1255191ab..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteAliasResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_alias.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeleteAliasResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeleteAliasResponse(Builder builder) { - super(builder); - - } - - public static DeleteAliasResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteAliasResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteAliasResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteAliasResponse build() { - _checkSingleUse(); - - return new DeleteAliasResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeleteAliasResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeleteAliasResponse::setupDeleteAliasResponseDeserializer); - - protected static void setupDeleteAliasResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleRequest.java deleted file mode 100644 index 806db4c28..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleRequest.java +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_data_lifecycle.Request - -/** - * Delete data stream lifecycles. Removes the data stream lifecycle from a data - * stream, rendering it not managed by the data stream lifecycle. - * - * @see API - * specification - */ - -public class DeleteDataLifecycleRequest extends RequestBase { - private final List expandWildcards; - - @Nullable - private final Time masterTimeout; - - private final List name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private DeleteDataLifecycleRequest(Builder builder) { - - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static DeleteDataLifecycleRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Whether wildcard expressions should get expanded to open or closed indices - * (default: open) - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - A comma-separated list of data streams of which the data stream - * lifecycle will be deleted; use * to get all data streams - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - /** - * Explicit timestamp for the document - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteDataLifecycleRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List expandWildcards; - - @Nullable - private Time masterTimeout; - - private List name; - - @Nullable - private Time timeout; - - /** - * Whether wildcard expressions should get expanded to open or closed indices - * (default: open) - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Whether wildcard expressions should get expanded to open or closed indices - * (default: open) - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - A comma-separated list of data streams of which the data stream - * lifecycle will be deleted; use * to get all data streams - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - A comma-separated list of data streams of which the data stream - * lifecycle will be deleted; use * to get all data streams - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - /** - * Explicit timestamp for the document - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Explicit timestamp for the document - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteDataLifecycleRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteDataLifecycleRequest build() { - _checkSingleUse(); - - return new DeleteDataLifecycleRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.delete_data_lifecycle}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.delete_data_lifecycle", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_lifecycle"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DeleteDataLifecycleResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleResponse.java deleted file mode 100644 index e1f782794..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataLifecycleResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_data_lifecycle.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeleteDataLifecycleResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeleteDataLifecycleResponse(Builder builder) { - super(builder); - - } - - public static DeleteDataLifecycleResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteDataLifecycleResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteDataLifecycleResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteDataLifecycleResponse build() { - _checkSingleUse(); - - return new DeleteDataLifecycleResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeleteDataLifecycleResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeleteDataLifecycleResponse::setupDeleteDataLifecycleResponseDeserializer); - - protected static void setupDeleteDataLifecycleResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamRequest.java deleted file mode 100644 index 4b048ef15..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamRequest.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_data_stream.Request - -/** - * Delete data streams. Deletes one or more data streams and their backing - * indices. - * - * @see API - * specification - */ - -public class DeleteDataStreamRequest extends RequestBase { - private final List expandWildcards; - - @Nullable - private final Time masterTimeout; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private DeleteDataStreamRequest(Builder builder) { - - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - - } - - public static DeleteDataStreamRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values,such as open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of data streams to delete. Wildcard - * (*) expressions are supported. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteDataStreamRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List expandWildcards; - - @Nullable - private Time masterTimeout; - - private List name; - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values,such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values,such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of data streams to delete. Wildcard - * (*) expressions are supported. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of data streams to delete. Wildcard - * (*) expressions are supported. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteDataStreamRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteDataStreamRequest build() { - _checkSingleUse(); - - return new DeleteDataStreamRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.delete_data_stream}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.delete_data_stream", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DeleteDataStreamResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamResponse.java deleted file mode 100644 index a31ed5d30..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteDataStreamResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_data_stream.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeleteDataStreamResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeleteDataStreamResponse(Builder builder) { - super(builder); - - } - - public static DeleteDataStreamResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteDataStreamResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteDataStreamResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteDataStreamResponse build() { - _checkSingleUse(); - - return new DeleteDataStreamResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeleteDataStreamResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeleteDataStreamResponse::setupDeleteDataStreamResponseDeserializer); - - protected static void setupDeleteDataStreamResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexRequest.java deleted file mode 100644 index 65b550b03..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexRequest.java +++ /dev/null @@ -1,421 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete.Request - -/** - * Delete indices. Deletes one or more indices. - * - * @see API - * specification - */ - -public class DeleteIndexRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private DeleteIndexRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.masterTimeout = builder.masterTimeout; - this.timeout = builder.timeout; - - } - - public static DeleteIndexRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Required - Comma-separated list of indices to delete. You cannot specify - * index aliases. By default, this parameter does not support wildcards - * (*) or _all. To use wildcards or _all, - * set the action.destructive_requires_name cluster setting to - * false. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteIndexRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - private List index; - - @Nullable - private Time masterTimeout; - - @Nullable - private Time timeout; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Required - Comma-separated list of indices to delete. You cannot specify - * index aliases. By default, this parameter does not support wildcards - * (*) or _all. To use wildcards or _all, - * set the action.destructive_requires_name cluster setting to - * false. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Comma-separated list of indices to delete. You cannot specify - * index aliases. By default, this parameter does not support wildcards - * (*) or _all. To use wildcards or _all, - * set the action.destructive_requires_name cluster setting to - * false. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteIndexRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteIndexRequest build() { - _checkSingleUse(); - - return new DeleteIndexRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.delete}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.delete", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DeleteIndexResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexResponse.java deleted file mode 100644 index 9a982fd93..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.IndicesResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeleteIndexResponse extends IndicesResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeleteIndexResponse(Builder builder) { - super(builder); - - } - - public static DeleteIndexResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteIndexResponse}. - */ - - public static class Builder extends IndicesResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteIndexResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteIndexResponse build() { - _checkSingleUse(); - - return new DeleteIndexResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeleteIndexResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeleteIndexResponse::setupDeleteIndexResponseDeserializer); - - protected static void setupDeleteIndexResponseDeserializer(ObjectDeserializer op) { - IndicesResponseBase.setupIndicesResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateRequest.java deleted file mode 100644 index 95e207025..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateRequest.java +++ /dev/null @@ -1,289 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_index_template.Request - -/** - * Delete an index template. The provided <index-template> may contain - * multiple template names separated by a comma. If multiple template names are - * specified then there is no wildcard support and the provided names should - * match completely with existing templates. - * - * @see API - * specification - */ - -public class DeleteIndexTemplateRequest extends RequestBase { - @Nullable - private final Time masterTimeout; - - private final List name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private DeleteIndexTemplateRequest(Builder builder) { - - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static DeleteIndexTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of index template names used to limit the - * request. Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteIndexTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Time masterTimeout; - - private List name; - - @Nullable - private Time timeout; - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of index template names used to limit the - * request. Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of index template names used to limit the - * request. Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteIndexTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteIndexTemplateRequest build() { - _checkSingleUse(); - - return new DeleteIndexTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.delete_index_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.delete_index_template", - - // Request method - request -> { - return "DELETE"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, DeleteIndexTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateResponse.java deleted file mode 100644 index 521988450..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DeleteIndexTemplateResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.delete_index_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DeleteIndexTemplateResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private DeleteIndexTemplateResponse(Builder builder) { - super(builder); - - } - - public static DeleteIndexTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DeleteIndexTemplateResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DeleteIndexTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DeleteIndexTemplateResponse build() { - _checkSingleUse(); - - return new DeleteIndexTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DeleteIndexTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DeleteIndexTemplateResponse::setupDeleteIndexTemplateResponseDeserializer); - - protected static void setupDeleteIndexTemplateResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleConfig.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleConfig.java deleted file mode 100644 index 0b9f04da8..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsampleConfig.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DownsampleConfig - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DownsampleConfig implements JsonpSerializable { - private final Time fixedInterval; - - // --------------------------------------------------------------------------------------------- - - private DownsampleConfig(Builder builder) { - - this.fixedInterval = ApiTypeHelper.requireNonNull(builder.fixedInterval, this, "fixedInterval"); - - } - - public static DownsampleConfig of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - The interval at which to aggregate the original time series index. - *

    - * API name: {@code fixed_interval} - */ - public final Time fixedInterval() { - return this.fixedInterval; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("fixed_interval"); - this.fixedInterval.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DownsampleConfig}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Time fixedInterval; - - /** - * Required - The interval at which to aggregate the original time series index. - *

    - * API name: {@code fixed_interval} - */ - public final Builder fixedInterval(Time value) { - this.fixedInterval = value; - return this; - } - - /** - * Required - The interval at which to aggregate the original time series index. - *

    - * API name: {@code fixed_interval} - */ - public final Builder fixedInterval(Function> fn) { - return this.fixedInterval(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DownsampleConfig}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DownsampleConfig build() { - _checkSingleUse(); - - return new DownsampleConfig(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DownsampleConfig} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - DownsampleConfig::setupDownsampleConfigDeserializer); - - protected static void setupDownsampleConfigDeserializer(ObjectDeserializer op) { - - op.add(Builder::fixedInterval, Time._DESERIALIZER, "fixed_interval"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsamplingRound.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsamplingRound.java deleted file mode 100644 index 047b3a94c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/DownsamplingRound.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.DownsamplingRound - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DownsamplingRound implements JsonpSerializable { - private final Time after; - - private final DownsampleConfig config; - - // --------------------------------------------------------------------------------------------- - - private DownsamplingRound(Builder builder) { - - this.after = ApiTypeHelper.requireNonNull(builder.after, this, "after"); - this.config = ApiTypeHelper.requireNonNull(builder.config, this, "config"); - - } - - public static DownsamplingRound of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - The duration since rollover when this downsampling round should - * execute - *

    - * API name: {@code after} - */ - public final Time after() { - return this.after; - } - - /** - * Required - The downsample configuration to execute. - *

    - * API name: {@code config} - */ - public final DownsampleConfig config() { - return this.config; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("after"); - this.after.serialize(generator, mapper); - - generator.writeKey("config"); - this.config.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DownsamplingRound}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Time after; - - private DownsampleConfig config; - - /** - * Required - The duration since rollover when this downsampling round should - * execute - *

    - * API name: {@code after} - */ - public final Builder after(Time value) { - this.after = value; - return this; - } - - /** - * Required - The duration since rollover when this downsampling round should - * execute - *

    - * API name: {@code after} - */ - public final Builder after(Function> fn) { - return this.after(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - The downsample configuration to execute. - *

    - * API name: {@code config} - */ - public final Builder config(DownsampleConfig value) { - this.config = value; - return this; - } - - /** - * Required - The downsample configuration to execute. - *

    - * API name: {@code config} - */ - public final Builder config(Function> fn) { - return this.config(fn.apply(new DownsampleConfig.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DownsamplingRound}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DownsamplingRound build() { - _checkSingleUse(); - - return new DownsamplingRound(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DownsamplingRound} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DownsamplingRound::setupDownsamplingRoundDeserializer); - - protected static void setupDownsamplingRoundDeserializer(ObjectDeserializer op) { - - op.add(Builder::after, Time._DESERIALIZER, "after"); - op.add(Builder::config, DownsampleConfig._DESERIALIZER, "config"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java deleted file mode 100644 index fe5ed34cb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesAsyncClient.java +++ /dev/null @@ -1,1502 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.util.ObjectBuilder; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the indices namespace. - */ -public class ElasticsearchIndicesAsyncClient - extends - ApiClient { - - public ElasticsearchIndicesAsyncClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchIndicesAsyncClient(ElasticsearchTransport transport, - @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchIndicesAsyncClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchIndicesAsyncClient(this.transport, transportOptions); - } - - // ----- Endpoint: indices.add_block - - /** - * Add an index block. Limits the operations allowed on an index by blocking - * specific operation types. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture addBlock(AddBlockRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) AddBlockRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Add an index block. Limits the operations allowed on an index by blocking - * specific operation types. - * - * @param fn - * a function that initializes a builder to create the - * {@link AddBlockRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture addBlock( - Function> fn) { - return addBlock(fn.apply(new AddBlockRequest.Builder()).build()); - } - - // ----- Endpoint: indices.analyze - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture analyze(AnalyzeRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) AnalyzeRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @param fn - * a function that initializes a builder to create the - * {@link AnalyzeRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture analyze( - Function> fn) { - return analyze(fn.apply(new AnalyzeRequest.Builder()).build()); - } - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture analyze() { - return this.transport.performRequestAsync(new AnalyzeRequest.Builder().build(), AnalyzeRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.create - - /** - * Create an index. Creates a new index. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture create(CreateIndexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CreateIndexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create an index. Creates a new index. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture create( - Function> fn) { - return create(fn.apply(new CreateIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.create_data_stream - - /** - * Create a data stream. Creates a data stream. You must have a matching index - * template with data stream enabled. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture createDataStream(CreateDataStreamRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CreateDataStreamRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create a data stream. Creates a data stream. You must have a matching index - * template with data stream enabled. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture createDataStream( - Function> fn) { - return createDataStream(fn.apply(new CreateDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.data_streams_stats - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture dataStreamsStats(DataStreamsStatsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DataStreamsStatsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link DataStreamsStatsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture dataStreamsStats( - Function> fn) { - return dataStreamsStats(fn.apply(new DataStreamsStatsRequest.Builder()).build()); - } - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture dataStreamsStats() { - return this.transport.performRequestAsync(new DataStreamsStatsRequest.Builder().build(), - DataStreamsStatsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.delete - - /** - * Delete indices. Deletes one or more indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture delete(DeleteIndexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteIndexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete indices. Deletes one or more indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture delete( - Function> fn) { - return delete(fn.apply(new DeleteIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_alias - - /** - * Delete an alias. Removes a data stream or index from an alias. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteAlias(DeleteAliasRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteAliasRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete an alias. Removes a data stream or index from an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteAlias( - Function> fn) { - return deleteAlias(fn.apply(new DeleteAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_data_lifecycle - - /** - * Delete data stream lifecycles. Removes the data stream lifecycle from a data - * stream, rendering it not managed by the data stream lifecycle. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteDataLifecycle(DeleteDataLifecycleRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete data stream lifecycles. Removes the data stream lifecycle from a data - * stream, rendering it not managed by the data stream lifecycle. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteDataLifecycle( - Function> fn) { - return deleteDataLifecycle(fn.apply(new DeleteDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_data_stream - - /** - * Delete data streams. Deletes one or more data streams and their backing - * indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteDataStream(DeleteDataStreamRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteDataStreamRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete data streams. Deletes one or more data streams and their backing - * indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteDataStream( - Function> fn) { - return deleteDataStream(fn.apply(new DeleteDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_index_template - - /** - * Delete an index template. The provided <index-template> may contain - * multiple template names separated by a comma. If multiple template names are - * specified then there is no wildcard support and the provided names should - * match completely with existing templates. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture deleteIndexTemplate(DeleteIndexTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Delete an index template. The provided <index-template> may contain - * multiple template names separated by a comma. If multiple template names are - * specified then there is no wildcard support and the provided names should - * match completely with existing templates. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture deleteIndexTemplate( - Function> fn) { - return deleteIndexTemplate(fn.apply(new DeleteIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists - - /** - * Check indices. Checks if one or more indices, index aliases, or data streams - * exist. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture exists(ExistsRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Check indices. Checks if one or more indices, index aliases, or data streams - * exist. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture exists( - Function> fn) { - return exists(fn.apply(new ExistsRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists_alias - - /** - * Check aliases. Checks if one or more data stream or index aliases exist. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture existsAlias(ExistsAliasRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsAliasRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Check aliases. Checks if one or more data stream or index aliases exist. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture existsAlias( - Function> fn) { - return existsAlias(fn.apply(new ExistsAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists_index_template - - /** - * Returns information about whether a particular index template exists. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture existsIndexTemplate(ExistsIndexTemplateRequest request) { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Returns information about whether a particular index template exists. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture existsIndexTemplate( - Function> fn) { - return existsIndexTemplate(fn.apply(new ExistsIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.explain_data_lifecycle - - /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture explainDataLifecycle(ExplainDataLifecycleRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExplainDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture explainDataLifecycle( - Function> fn) { - return explainDataLifecycle(fn.apply(new ExplainDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get - - /** - * Get index information. Returns information about one or more indices. For - * data streams, the API returns information about the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture get(GetIndexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get index information. Returns information about one or more indices. For - * data streams, the API returns information about the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture get( - Function> fn) { - return get(fn.apply(new GetIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get_alias - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getAlias(GetAliasRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetAliasRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getAlias( - Function> fn) { - return getAlias(fn.apply(new GetAliasRequest.Builder()).build()); - } - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getAlias() { - return this.transport.performRequestAsync(new GetAliasRequest.Builder().build(), GetAliasRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.get_data_lifecycle - - /** - * Get data stream lifecycles. Retrieves the data stream lifecycle configuration - * of one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getDataLifecycle(GetDataLifecycleRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get data stream lifecycles. Retrieves the data stream lifecycle configuration - * of one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getDataLifecycle( - Function> fn) { - return getDataLifecycle(fn.apply(new GetDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get_data_stream - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getDataStream(GetDataStreamRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetDataStreamRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getDataStream( - Function> fn) { - return getDataStream(fn.apply(new GetDataStreamRequest.Builder()).build()); - } - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getDataStream() { - return this.transport.performRequestAsync(new GetDataStreamRequest.Builder().build(), - GetDataStreamRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.get_index_template - - /** - * Get index templates. Returns information about one or more index templates. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getIndexTemplate(GetIndexTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get index templates. Returns information about one or more index templates. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getIndexTemplate( - Function> fn) { - return getIndexTemplate(fn.apply(new GetIndexTemplateRequest.Builder()).build()); - } - - /** - * Get index templates. Returns information about one or more index templates. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getIndexTemplate() { - return this.transport.performRequestAsync(new GetIndexTemplateRequest.Builder().build(), - GetIndexTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.get_mapping - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getMapping(GetMappingRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetMappingRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetMappingRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getMapping( - Function> fn) { - return getMapping(fn.apply(new GetMappingRequest.Builder()).build()); - } - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getMapping() { - return this.transport.performRequestAsync(new GetMappingRequest.Builder().build(), GetMappingRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.get_settings - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getSettings(GetIndicesSettingsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndicesSettingsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndicesSettingsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture getSettings( - Function> fn) { - return getSettings(fn.apply(new GetIndicesSettingsRequest.Builder()).build()); - } - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture getSettings() { - return this.transport.performRequestAsync(new GetIndicesSettingsRequest.Builder().build(), - GetIndicesSettingsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.migrate_to_data_stream - - /** - * Convert an index alias to a data stream. Converts an index alias to a data - * stream. You must have a matching index template that is data stream enabled. - * The alias must meet the following criteria: The alias must have a write - * index; All indices for the alias must have a @timestamp field - * mapping of a date or date_nanos field type; The - * alias must not have any filters; The alias must not use custom routing. If - * successful, the request removes the alias and creates a data stream with the - * same name. The indices for the alias become hidden backing indices for the - * stream. The write index for the alias becomes the write index for the stream. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture migrateToDataStream(MigrateToDataStreamRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) MigrateToDataStreamRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Convert an index alias to a data stream. Converts an index alias to a data - * stream. You must have a matching index template that is data stream enabled. - * The alias must meet the following criteria: The alias must have a write - * index; All indices for the alias must have a @timestamp field - * mapping of a date or date_nanos field type; The - * alias must not have any filters; The alias must not use custom routing. If - * successful, the request removes the alias and creates a data stream with the - * same name. The indices for the alias become hidden backing indices for the - * stream. The write index for the alias becomes the write index for the stream. - * - * @param fn - * a function that initializes a builder to create the - * {@link MigrateToDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture migrateToDataStream( - Function> fn) { - return migrateToDataStream(fn.apply(new MigrateToDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.modify_data_stream - - /** - * Update data streams. Performs one or more data stream modification actions in - * a single atomic operation. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture modifyDataStream(ModifyDataStreamRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ModifyDataStreamRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update data streams. Performs one or more data stream modification actions in - * a single atomic operation. - * - * @param fn - * a function that initializes a builder to create the - * {@link ModifyDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture modifyDataStream( - Function> fn) { - return modifyDataStream(fn.apply(new ModifyDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_alias - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putAlias(PutAliasRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutAliasRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putAlias( - Function> fn) { - return putAlias(fn.apply(new PutAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_data_lifecycle - - /** - * Update data stream lifecycles. Update the data stream lifecycle of the - * specified data streams. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putDataLifecycle(PutDataLifecycleRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update data stream lifecycles. Update the data stream lifecycle of the - * specified data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putDataLifecycle( - Function> fn) { - return putDataLifecycle(fn.apply(new PutDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_index_template - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putIndexTemplate(PutIndexTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putIndexTemplate( - Function> fn) { - return putIndexTemplate(fn.apply(new PutIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_mapping - - /** - * Update field mappings. Adds new fields to an existing data stream or index. - * You can also use this API to change the search settings of existing fields. - * For data streams, these changes are applied to all backing indices by - * default. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putMapping(PutMappingRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutMappingRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update field mappings. Adds new fields to an existing data stream or index. - * You can also use this API to change the search settings of existing fields. - * For data streams, these changes are applied to all backing indices by - * default. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutMappingRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putMapping( - Function> fn) { - return putMapping(fn.apply(new PutMappingRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_settings - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putSettings(PutIndicesSettingsRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutIndicesSettingsRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutIndicesSettingsRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putSettings( - Function> fn) { - return putSettings(fn.apply(new PutIndicesSettingsRequest.Builder()).build()); - } - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putSettings() { - return this.transport.performRequestAsync(new PutIndicesSettingsRequest.Builder().build(), - PutIndicesSettingsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.put_template - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture putTemplate(PutTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture putTemplate( - Function> fn) { - return putTemplate(fn.apply(new PutTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.refresh - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture refresh(RefreshRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RefreshRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link RefreshRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture refresh( - Function> fn) { - return refresh(fn.apply(new RefreshRequest.Builder()).build()); - } - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture refresh() { - return this.transport.performRequestAsync(new RefreshRequest.Builder().build(), RefreshRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.resolve_index - - /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture resolveIndex(ResolveIndexRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ResolveIndexRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. - * - * @param fn - * a function that initializes a builder to create the - * {@link ResolveIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture resolveIndex( - Function> fn) { - return resolveIndex(fn.apply(new ResolveIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.rollover - - /** - * Roll over to a new index. Creates a new index for a data stream or index - * alias. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture rollover(RolloverRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RolloverRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Roll over to a new index. Creates a new index for a data stream or index - * alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link RolloverRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture rollover( - Function> fn) { - return rollover(fn.apply(new RolloverRequest.Builder()).build()); - } - - // ----- Endpoint: indices.simulate_index_template - - /** - * Simulate an index. Returns the index configuration that would be applied to - * the specified index from an existing index template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture simulateIndexTemplate( - SimulateIndexTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) SimulateIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Simulate an index. Returns the index configuration that would be applied to - * the specified index from an existing index template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SimulateIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture simulateIndexTemplate( - Function> fn) { - return simulateIndexTemplate(fn.apply(new SimulateIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.simulate_template - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture simulateTemplate(SimulateTemplateRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) SimulateTemplateRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SimulateTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture simulateTemplate( - Function> fn) { - return simulateTemplate(fn.apply(new SimulateTemplateRequest.Builder()).build()); - } - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture simulateTemplate() { - return this.transport.performRequestAsync(new SimulateTemplateRequest.Builder().build(), - SimulateTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.update_aliases - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture updateAliases(UpdateAliasesRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) UpdateAliasesRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateAliasesRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture updateAliases( - Function> fn) { - return updateAliases(fn.apply(new UpdateAliasesRequest.Builder()).build()); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture updateAliases() { - return this.transport.performRequestAsync(new UpdateAliasesRequest.Builder().build(), - UpdateAliasesRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.validate_query - - /** - * Validate a query. Validates a query without running it. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture validateQuery(ValidateQueryRequest request) { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ValidateQueryRequest._ENDPOINT; - - return this.transport.performRequestAsync(request, endpoint, this.transportOptions); - } - - /** - * Validate a query. Validates a query without running it. - * - * @param fn - * a function that initializes a builder to create the - * {@link ValidateQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final CompletableFuture validateQuery( - Function> fn) { - return validateQuery(fn.apply(new ValidateQueryRequest.Builder()).build()); - } - - /** - * Validate a query. Validates a query without running it. - * - * @see Documentation - * on elastic.co - */ - - public CompletableFuture validateQuery() { - return this.transport.performRequestAsync(new ValidateQueryRequest.Builder().build(), - ValidateQueryRequest._ENDPOINT, this.transportOptions); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java deleted file mode 100644 index f9c544a6a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ElasticsearchIndicesClient.java +++ /dev/null @@ -1,1542 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.ApiClient; -import co.elastic.clients.elasticsearch._types.ElasticsearchException; -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.transport.ElasticsearchTransport; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.JsonEndpoint; -import co.elastic.clients.transport.Transport; -import co.elastic.clients.transport.TransportOptions; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.util.ObjectBuilder; -import java.io.IOException; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Client for the indices namespace. - */ -public class ElasticsearchIndicesClient extends ApiClient { - - public ElasticsearchIndicesClient(ElasticsearchTransport transport) { - super(transport, null); - } - - public ElasticsearchIndicesClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions) { - super(transport, transportOptions); - } - - @Override - public ElasticsearchIndicesClient withTransportOptions(@Nullable TransportOptions transportOptions) { - return new ElasticsearchIndicesClient(this.transport, transportOptions); - } - - // ----- Endpoint: indices.add_block - - /** - * Add an index block. Limits the operations allowed on an index by blocking - * specific operation types. - * - * @see Documentation - * on elastic.co - */ - - public AddBlockResponse addBlock(AddBlockRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) AddBlockRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Add an index block. Limits the operations allowed on an index by blocking - * specific operation types. - * - * @param fn - * a function that initializes a builder to create the - * {@link AddBlockRequest} - * @see Documentation - * on elastic.co - */ - - public final AddBlockResponse addBlock(Function> fn) - throws IOException, ElasticsearchException { - return addBlock(fn.apply(new AddBlockRequest.Builder()).build()); - } - - // ----- Endpoint: indices.analyze - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @see Documentation - * on elastic.co - */ - - public AnalyzeResponse analyze(AnalyzeRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) AnalyzeRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @param fn - * a function that initializes a builder to create the - * {@link AnalyzeRequest} - * @see Documentation - * on elastic.co - */ - - public final AnalyzeResponse analyze(Function> fn) - throws IOException, ElasticsearchException { - return analyze(fn.apply(new AnalyzeRequest.Builder()).build()); - } - - /** - * Performs analysis on a text string and returns the resulting tokens. - * - * @see Documentation - * on elastic.co - */ - - public AnalyzeResponse analyze() throws IOException, ElasticsearchException { - return this.transport.performRequest(new AnalyzeRequest.Builder().build(), AnalyzeRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.create - - /** - * Create an index. Creates a new index. - * - * @see Documentation - * on elastic.co - */ - - public CreateIndexResponse create(CreateIndexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CreateIndexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create an index. Creates a new index. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final CreateIndexResponse create(Function> fn) - throws IOException, ElasticsearchException { - return create(fn.apply(new CreateIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.create_data_stream - - /** - * Create a data stream. Creates a data stream. You must have a matching index - * template with data stream enabled. - * - * @see Documentation - * on elastic.co - */ - - public CreateDataStreamResponse createDataStream(CreateDataStreamRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) CreateDataStreamRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create a data stream. Creates a data stream. You must have a matching index - * template with data stream enabled. - * - * @param fn - * a function that initializes a builder to create the - * {@link CreateDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final CreateDataStreamResponse createDataStream( - Function> fn) - throws IOException, ElasticsearchException { - return createDataStream(fn.apply(new CreateDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.data_streams_stats - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public DataStreamsStatsResponse dataStreamsStats(DataStreamsStatsRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DataStreamsStatsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link DataStreamsStatsRequest} - * @see Documentation - * on elastic.co - */ - - public final DataStreamsStatsResponse dataStreamsStats( - Function> fn) - throws IOException, ElasticsearchException { - return dataStreamsStats(fn.apply(new DataStreamsStatsRequest.Builder()).build()); - } - - /** - * Get data stream stats. Retrieves statistics for one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public DataStreamsStatsResponse dataStreamsStats() throws IOException, ElasticsearchException { - return this.transport.performRequest(new DataStreamsStatsRequest.Builder().build(), - DataStreamsStatsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.delete - - /** - * Delete indices. Deletes one or more indices. - * - * @see Documentation - * on elastic.co - */ - - public DeleteIndexResponse delete(DeleteIndexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteIndexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete indices. Deletes one or more indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteIndexResponse delete(Function> fn) - throws IOException, ElasticsearchException { - return delete(fn.apply(new DeleteIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_alias - - /** - * Delete an alias. Removes a data stream or index from an alias. - * - * @see Documentation - * on elastic.co - */ - - public DeleteAliasResponse deleteAlias(DeleteAliasRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteAliasRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete an alias. Removes a data stream or index from an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteAliasResponse deleteAlias( - Function> fn) - throws IOException, ElasticsearchException { - return deleteAlias(fn.apply(new DeleteAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_data_lifecycle - - /** - * Delete data stream lifecycles. Removes the data stream lifecycle from a data - * stream, rendering it not managed by the data stream lifecycle. - * - * @see Documentation - * on elastic.co - */ - - public DeleteDataLifecycleResponse deleteDataLifecycle(DeleteDataLifecycleRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete data stream lifecycles. Removes the data stream lifecycle from a data - * stream, rendering it not managed by the data stream lifecycle. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteDataLifecycleResponse deleteDataLifecycle( - Function> fn) - throws IOException, ElasticsearchException { - return deleteDataLifecycle(fn.apply(new DeleteDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_data_stream - - /** - * Delete data streams. Deletes one or more data streams and their backing - * indices. - * - * @see Documentation - * on elastic.co - */ - - public DeleteDataStreamResponse deleteDataStream(DeleteDataStreamRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteDataStreamRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete data streams. Deletes one or more data streams and their backing - * indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteDataStreamResponse deleteDataStream( - Function> fn) - throws IOException, ElasticsearchException { - return deleteDataStream(fn.apply(new DeleteDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.delete_index_template - - /** - * Delete an index template. The provided <index-template> may contain - * multiple template names separated by a comma. If multiple template names are - * specified then there is no wildcard support and the provided names should - * match completely with existing templates. - * - * @see Documentation - * on elastic.co - */ - - public DeleteIndexTemplateResponse deleteIndexTemplate(DeleteIndexTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) DeleteIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Delete an index template. The provided <index-template> may contain - * multiple template names separated by a comma. If multiple template names are - * specified then there is no wildcard support and the provided names should - * match completely with existing templates. - * - * @param fn - * a function that initializes a builder to create the - * {@link DeleteIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final DeleteIndexTemplateResponse deleteIndexTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return deleteIndexTemplate(fn.apply(new DeleteIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists - - /** - * Check indices. Checks if one or more indices, index aliases, or data streams - * exist. - * - * @see Documentation - * on elastic.co - */ - - public BooleanResponse exists(ExistsRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Check indices. Checks if one or more indices, index aliases, or data streams - * exist. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsRequest} - * @see Documentation - * on elastic.co - */ - - public final BooleanResponse exists(Function> fn) - throws IOException, ElasticsearchException { - return exists(fn.apply(new ExistsRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists_alias - - /** - * Check aliases. Checks if one or more data stream or index aliases exist. - * - * @see Documentation - * on elastic.co - */ - - public BooleanResponse existsAlias(ExistsAliasRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsAliasRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Check aliases. Checks if one or more data stream or index aliases exist. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final BooleanResponse existsAlias(Function> fn) - throws IOException, ElasticsearchException { - return existsAlias(fn.apply(new ExistsAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.exists_index_template - - /** - * Returns information about whether a particular index template exists. - * - * @see Documentation - * on elastic.co - */ - - public BooleanResponse existsIndexTemplate(ExistsIndexTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - Endpoint endpoint = (Endpoint) ExistsIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Returns information about whether a particular index template exists. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExistsIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final BooleanResponse existsIndexTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return existsIndexTemplate(fn.apply(new ExistsIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.explain_data_lifecycle - - /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. - * - * @see Documentation - * on elastic.co - */ - - public ExplainDataLifecycleResponse explainDataLifecycle(ExplainDataLifecycleRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ExplainDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. - * - * @param fn - * a function that initializes a builder to create the - * {@link ExplainDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final ExplainDataLifecycleResponse explainDataLifecycle( - Function> fn) - throws IOException, ElasticsearchException { - return explainDataLifecycle(fn.apply(new ExplainDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get - - /** - * Get index information. Returns information about one or more indices. For - * data streams, the API returns information about the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public GetIndexResponse get(GetIndexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get index information. Returns information about one or more indices. For - * data streams, the API returns information about the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final GetIndexResponse get(Function> fn) - throws IOException, ElasticsearchException { - return get(fn.apply(new GetIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get_alias - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @see Documentation - * on elastic.co - */ - - public GetAliasResponse getAlias(GetAliasRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetAliasRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final GetAliasResponse getAlias(Function> fn) - throws IOException, ElasticsearchException { - return getAlias(fn.apply(new GetAliasRequest.Builder()).build()); - } - - /** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @see Documentation - * on elastic.co - */ - - public GetAliasResponse getAlias() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetAliasRequest.Builder().build(), GetAliasRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.get_data_lifecycle - - /** - * Get data stream lifecycles. Retrieves the data stream lifecycle configuration - * of one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public GetDataLifecycleResponse getDataLifecycle(GetDataLifecycleRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get data stream lifecycles. Retrieves the data stream lifecycle configuration - * of one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final GetDataLifecycleResponse getDataLifecycle( - Function> fn) - throws IOException, ElasticsearchException { - return getDataLifecycle(fn.apply(new GetDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.get_data_stream - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public GetDataStreamResponse getDataStream(GetDataStreamRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetDataStreamRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final GetDataStreamResponse getDataStream( - Function> fn) - throws IOException, ElasticsearchException { - return getDataStream(fn.apply(new GetDataStreamRequest.Builder()).build()); - } - - /** - * Get data streams. Retrieves information about one or more data streams. - * - * @see Documentation - * on elastic.co - */ - - public GetDataStreamResponse getDataStream() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetDataStreamRequest.Builder().build(), GetDataStreamRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.get_index_template - - /** - * Get index templates. Returns information about one or more index templates. - * - * @see Documentation - * on elastic.co - */ - - public GetIndexTemplateResponse getIndexTemplate(GetIndexTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get index templates. Returns information about one or more index templates. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final GetIndexTemplateResponse getIndexTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return getIndexTemplate(fn.apply(new GetIndexTemplateRequest.Builder()).build()); - } - - /** - * Get index templates. Returns information about one or more index templates. - * - * @see Documentation - * on elastic.co - */ - - public GetIndexTemplateResponse getIndexTemplate() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetIndexTemplateRequest.Builder().build(), - GetIndexTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.get_mapping - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @see Documentation - * on elastic.co - */ - - public GetMappingResponse getMapping(GetMappingRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetMappingRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetMappingRequest} - * @see Documentation - * on elastic.co - */ - - public final GetMappingResponse getMapping(Function> fn) - throws IOException, ElasticsearchException { - return getMapping(fn.apply(new GetMappingRequest.Builder()).build()); - } - - /** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @see Documentation - * on elastic.co - */ - - public GetMappingResponse getMapping() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetMappingRequest.Builder().build(), GetMappingRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.get_settings - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public GetIndicesSettingsResponse getSettings(GetIndicesSettingsRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) GetIndicesSettingsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link GetIndicesSettingsRequest} - * @see Documentation - * on elastic.co - */ - - public final GetIndicesSettingsResponse getSettings( - Function> fn) - throws IOException, ElasticsearchException { - return getSettings(fn.apply(new GetIndicesSettingsRequest.Builder()).build()); - } - - /** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public GetIndicesSettingsResponse getSettings() throws IOException, ElasticsearchException { - return this.transport.performRequest(new GetIndicesSettingsRequest.Builder().build(), - GetIndicesSettingsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.migrate_to_data_stream - - /** - * Convert an index alias to a data stream. Converts an index alias to a data - * stream. You must have a matching index template that is data stream enabled. - * The alias must meet the following criteria: The alias must have a write - * index; All indices for the alias must have a @timestamp field - * mapping of a date or date_nanos field type; The - * alias must not have any filters; The alias must not use custom routing. If - * successful, the request removes the alias and creates a data stream with the - * same name. The indices for the alias become hidden backing indices for the - * stream. The write index for the alias becomes the write index for the stream. - * - * @see Documentation - * on elastic.co - */ - - public MigrateToDataStreamResponse migrateToDataStream(MigrateToDataStreamRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) MigrateToDataStreamRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Convert an index alias to a data stream. Converts an index alias to a data - * stream. You must have a matching index template that is data stream enabled. - * The alias must meet the following criteria: The alias must have a write - * index; All indices for the alias must have a @timestamp field - * mapping of a date or date_nanos field type; The - * alias must not have any filters; The alias must not use custom routing. If - * successful, the request removes the alias and creates a data stream with the - * same name. The indices for the alias become hidden backing indices for the - * stream. The write index for the alias becomes the write index for the stream. - * - * @param fn - * a function that initializes a builder to create the - * {@link MigrateToDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final MigrateToDataStreamResponse migrateToDataStream( - Function> fn) - throws IOException, ElasticsearchException { - return migrateToDataStream(fn.apply(new MigrateToDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.modify_data_stream - - /** - * Update data streams. Performs one or more data stream modification actions in - * a single atomic operation. - * - * @see Documentation - * on elastic.co - */ - - public ModifyDataStreamResponse modifyDataStream(ModifyDataStreamRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ModifyDataStreamRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update data streams. Performs one or more data stream modification actions in - * a single atomic operation. - * - * @param fn - * a function that initializes a builder to create the - * {@link ModifyDataStreamRequest} - * @see Documentation - * on elastic.co - */ - - public final ModifyDataStreamResponse modifyDataStream( - Function> fn) - throws IOException, ElasticsearchException { - return modifyDataStream(fn.apply(new ModifyDataStreamRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_alias - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public PutAliasResponse putAlias(PutAliasRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutAliasRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutAliasRequest} - * @see Documentation - * on elastic.co - */ - - public final PutAliasResponse putAlias(Function> fn) - throws IOException, ElasticsearchException { - return putAlias(fn.apply(new PutAliasRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_data_lifecycle - - /** - * Update data stream lifecycles. Update the data stream lifecycle of the - * specified data streams. - * - * @see Documentation - * on elastic.co - */ - - public PutDataLifecycleResponse putDataLifecycle(PutDataLifecycleRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutDataLifecycleRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update data stream lifecycles. Update the data stream lifecycle of the - * specified data streams. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutDataLifecycleRequest} - * @see Documentation - * on elastic.co - */ - - public final PutDataLifecycleResponse putDataLifecycle( - Function> fn) - throws IOException, ElasticsearchException { - return putDataLifecycle(fn.apply(new PutDataLifecycleRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_index_template - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see Documentation - * on elastic.co - */ - - public PutIndexTemplateResponse putIndexTemplate(PutIndexTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final PutIndexTemplateResponse putIndexTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return putIndexTemplate(fn.apply(new PutIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_mapping - - /** - * Update field mappings. Adds new fields to an existing data stream or index. - * You can also use this API to change the search settings of existing fields. - * For data streams, these changes are applied to all backing indices by - * default. - * - * @see Documentation - * on elastic.co - */ - - public PutMappingResponse putMapping(PutMappingRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutMappingRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update field mappings. Adds new fields to an existing data stream or index. - * You can also use this API to change the search settings of existing fields. - * For data streams, these changes are applied to all backing indices by - * default. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutMappingRequest} - * @see Documentation - * on elastic.co - */ - - public final PutMappingResponse putMapping(Function> fn) - throws IOException, ElasticsearchException { - return putMapping(fn.apply(new PutMappingRequest.Builder()).build()); - } - - // ----- Endpoint: indices.put_settings - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @see Documentation - * on elastic.co - */ - - public PutIndicesSettingsResponse putSettings(PutIndicesSettingsRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutIndicesSettingsRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutIndicesSettingsRequest} - * @see Documentation - * on elastic.co - */ - - public final PutIndicesSettingsResponse putSettings( - Function> fn) - throws IOException, ElasticsearchException { - return putSettings(fn.apply(new PutIndicesSettingsRequest.Builder()).build()); - } - - /** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @see Documentation - * on elastic.co - */ - - public PutIndicesSettingsResponse putSettings() throws IOException, ElasticsearchException { - return this.transport.performRequest(new PutIndicesSettingsRequest.Builder().build(), - PutIndicesSettingsRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.put_template - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see Documentation - * on elastic.co - */ - - public PutTemplateResponse putTemplate(PutTemplateRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) PutTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link PutTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final PutTemplateResponse putTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return putTemplate(fn.apply(new PutTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.refresh - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public RefreshResponse refresh(RefreshRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RefreshRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @param fn - * a function that initializes a builder to create the - * {@link RefreshRequest} - * @see Documentation - * on elastic.co - */ - - public final RefreshResponse refresh(Function> fn) - throws IOException, ElasticsearchException { - return refresh(fn.apply(new RefreshRequest.Builder()).build()); - } - - /** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @see Documentation - * on elastic.co - */ - - public RefreshResponse refresh() throws IOException, ElasticsearchException { - return this.transport.performRequest(new RefreshRequest.Builder().build(), RefreshRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.resolve_index - - /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. - * - * @see Documentation - * on elastic.co - */ - - public ResolveIndexResponse resolveIndex(ResolveIndexRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ResolveIndexRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. - * - * @param fn - * a function that initializes a builder to create the - * {@link ResolveIndexRequest} - * @see Documentation - * on elastic.co - */ - - public final ResolveIndexResponse resolveIndex( - Function> fn) - throws IOException, ElasticsearchException { - return resolveIndex(fn.apply(new ResolveIndexRequest.Builder()).build()); - } - - // ----- Endpoint: indices.rollover - - /** - * Roll over to a new index. Creates a new index for a data stream or index - * alias. - * - * @see Documentation - * on elastic.co - */ - - public RolloverResponse rollover(RolloverRequest request) throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) RolloverRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Roll over to a new index. Creates a new index for a data stream or index - * alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link RolloverRequest} - * @see Documentation - * on elastic.co - */ - - public final RolloverResponse rollover(Function> fn) - throws IOException, ElasticsearchException { - return rollover(fn.apply(new RolloverRequest.Builder()).build()); - } - - // ----- Endpoint: indices.simulate_index_template - - /** - * Simulate an index. Returns the index configuration that would be applied to - * the specified index from an existing index template. - * - * @see Documentation - * on elastic.co - */ - - public SimulateIndexTemplateResponse simulateIndexTemplate(SimulateIndexTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) SimulateIndexTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Simulate an index. Returns the index configuration that would be applied to - * the specified index from an existing index template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SimulateIndexTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final SimulateIndexTemplateResponse simulateIndexTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return simulateIndexTemplate(fn.apply(new SimulateIndexTemplateRequest.Builder()).build()); - } - - // ----- Endpoint: indices.simulate_template - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @see Documentation - * on elastic.co - */ - - public SimulateTemplateResponse simulateTemplate(SimulateTemplateRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) SimulateTemplateRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @param fn - * a function that initializes a builder to create the - * {@link SimulateTemplateRequest} - * @see Documentation - * on elastic.co - */ - - public final SimulateTemplateResponse simulateTemplate( - Function> fn) - throws IOException, ElasticsearchException { - return simulateTemplate(fn.apply(new SimulateTemplateRequest.Builder()).build()); - } - - /** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @see Documentation - * on elastic.co - */ - - public SimulateTemplateResponse simulateTemplate() throws IOException, ElasticsearchException { - return this.transport.performRequest(new SimulateTemplateRequest.Builder().build(), - SimulateTemplateRequest._ENDPOINT, this.transportOptions); - } - - // ----- Endpoint: indices.update_aliases - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public UpdateAliasesResponse updateAliases(UpdateAliasesRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) UpdateAliasesRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @param fn - * a function that initializes a builder to create the - * {@link UpdateAliasesRequest} - * @see Documentation - * on elastic.co - */ - - public final UpdateAliasesResponse updateAliases( - Function> fn) - throws IOException, ElasticsearchException { - return updateAliases(fn.apply(new UpdateAliasesRequest.Builder()).build()); - } - - /** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see Documentation - * on elastic.co - */ - - public UpdateAliasesResponse updateAliases() throws IOException, ElasticsearchException { - return this.transport.performRequest(new UpdateAliasesRequest.Builder().build(), UpdateAliasesRequest._ENDPOINT, - this.transportOptions); - } - - // ----- Endpoint: indices.validate_query - - /** - * Validate a query. Validates a query without running it. - * - * @see Documentation - * on elastic.co - */ - - public ValidateQueryResponse validateQuery(ValidateQueryRequest request) - throws IOException, ElasticsearchException { - @SuppressWarnings("unchecked") - JsonEndpoint endpoint = (JsonEndpoint) ValidateQueryRequest._ENDPOINT; - - return this.transport.performRequest(request, endpoint, this.transportOptions); - } - - /** - * Validate a query. Validates a query without running it. - * - * @param fn - * a function that initializes a builder to create the - * {@link ValidateQueryRequest} - * @see Documentation - * on elastic.co - */ - - public final ValidateQueryResponse validateQuery( - Function> fn) - throws IOException, ElasticsearchException { - return validateQuery(fn.apply(new ValidateQueryRequest.Builder()).build()); - } - - /** - * Validate a query. Validates a query without running it. - * - * @see Documentation - * on elastic.co - */ - - public ValidateQueryResponse validateQuery() throws IOException, ElasticsearchException { - return this.transport.performRequest(new ValidateQueryRequest.Builder().build(), ValidateQueryRequest._ENDPOINT, - this.transportOptions); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java deleted file mode 100644 index b86cd677b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsAliasRequest.java +++ /dev/null @@ -1,426 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.BooleanEndpoint; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.exists_alias.Request - -/** - * Check aliases. Checks if one or more data stream or index aliases exist. - * - * @see API - * specification - */ - -public class ExistsAliasRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Boolean local; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private ExistsAliasRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - - } - - public static ExistsAliasRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, requests that include a missing data stream or index - * in the target indices or data streams return an error. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Required - Comma-separated list of aliases to check. Supports wildcards - * (*). - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExistsAliasRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - @Nullable - private Boolean local; - - private List name; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, requests that include a missing data stream or index - * in the target indices or data streams return an error. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Required - Comma-separated list of aliases to check. Supports wildcards - * (*). - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of aliases to check. Supports wildcards - * (*). - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExistsAliasRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExistsAliasRequest build() { - _checkSingleUse(); - - return new ExistsAliasRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.exists_alias}". - */ - public static final Endpoint _ENDPOINT = new BooleanEndpoint<>( - "es/indices.exists_alias", - - // Request method - request -> { - return "HEAD"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, null); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java deleted file mode 100644 index f204a6986..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsIndexTemplateRequest.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.BooleanEndpoint; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.exists_index_template.Request - -/** - * Returns information about whether a particular index template exists. - * - * @see API - * specification - */ - -public class ExistsIndexTemplateRequest extends RequestBase { - @Nullable - private final Time masterTimeout; - - private final String name; - - // --------------------------------------------------------------------------------------------- - - private ExistsIndexTemplateRequest(Builder builder) { - - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - - } - - public static ExistsIndexTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of index template names used to limit the - * request. Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExistsIndexTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Time masterTimeout; - - private String name; - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of index template names used to limit the - * request. Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExistsIndexTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExistsIndexTemplateRequest build() { - _checkSingleUse(); - - return new ExistsIndexTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.exists_index_template}". - */ - public static final Endpoint _ENDPOINT = new BooleanEndpoint<>( - "es/indices.exists_index_template", - - // Request method - request -> { - return "HEAD"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, null); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsRequest.java deleted file mode 100644 index 1e11e63ea..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExistsRequest.java +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.BooleanEndpoint; -import co.elastic.clients.transport.endpoints.BooleanResponse; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.exists.Request - -/** - * Check indices. Checks if one or more indices, index aliases, or data streams - * exist. - * - * @see API - * specification - */ - -public class ExistsRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean flatSettings; - - @Nullable - private final Boolean ignoreUnavailable; - - @Nullable - private final Boolean includeDefaults; - - private final List index; - - @Nullable - private final Boolean local; - - // --------------------------------------------------------------------------------------------- - - private ExistsRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.flatSettings = builder.flatSettings; - this.ignoreUnavailable = builder.ignoreUnavailable; - this.includeDefaults = builder.includeDefaults; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.local = builder.local; - - } - - public static ExistsRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - @Nullable - public final Boolean flatSettings() { - return this.flatSettings; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Required - Comma-separated list of data streams, indices, and aliases. - * Supports wildcards (*). - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExistsRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean flatSettings; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private Boolean includeDefaults; - - private List index; - - @Nullable - private Boolean local; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Required - Comma-separated list of data streams, indices, and aliases. - * Supports wildcards (*). - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Comma-separated list of data streams, indices, and aliases. - * Supports wildcards (*). - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExistsRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExistsRequest build() { - _checkSingleUse(); - - return new ExistsRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.exists}". - */ - public static final Endpoint _ENDPOINT = new BooleanEndpoint<>( - "es/indices.exists", - - // Request method - request -> { - return "HEAD"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, null); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java deleted file mode 100644 index 1af1f6e3d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleRequest.java +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.explain_data_lifecycle.Request - -/** - * Get the status for a data stream lifecycle. Retrieves information about an - * index or data stream’s current data stream lifecycle status, such as time - * since index creation, time since rollover, the lifecycle configuration - * managing the index, or any errors encountered during lifecycle execution. - * - * @see API - * specification - */ - -public class ExplainDataLifecycleRequest extends RequestBase { - @Nullable - private final Boolean includeDefaults; - - private final List index; - - @Nullable - private final Time masterTimeout; - - // --------------------------------------------------------------------------------------------- - - private ExplainDataLifecycleRequest(Builder builder) { - - this.includeDefaults = builder.includeDefaults; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.masterTimeout = builder.masterTimeout; - - } - - public static ExplainDataLifecycleRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * indicates if the API should return the default values the system uses for the - * index's lifecycle - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Required - The name of the index to explain - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExplainDataLifecycleRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean includeDefaults; - - private List index; - - @Nullable - private Time masterTimeout; - - /** - * indicates if the API should return the default values the system uses for the - * index's lifecycle - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Required - The name of the index to explain - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - The name of the index to explain - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Specify timeout for connection to master - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExplainDataLifecycleRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExplainDataLifecycleRequest build() { - _checkSingleUse(); - - return new ExplainDataLifecycleRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.explain_data_lifecycle}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.explain_data_lifecycle", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_lifecycle"); - buf.append("/explain"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, ExplainDataLifecycleResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleResponse.java deleted file mode 100644 index e8b06c9de..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ExplainDataLifecycleResponse.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.explain_data_lifecycle.DataStreamLifecycleExplain; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.explain_data_lifecycle.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExplainDataLifecycleResponse implements JsonpSerializable { - private final Map indices; - - // --------------------------------------------------------------------------------------------- - - private ExplainDataLifecycleResponse(Builder builder) { - - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - - } - - public static ExplainDataLifecycleResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code indices} - */ - public final Map indices() { - return this.indices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartObject(); - for (Map.Entry item0 : this.indices.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExplainDataLifecycleResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Map indices; - - /** - * Required - API name: {@code indices} - *

    - * Adds all entries of map to indices. - */ - public final Builder indices(Map map) { - this.indices = _mapPutAll(this.indices, map); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds an entry to indices. - */ - public final Builder indices(String key, DataStreamLifecycleExplain value) { - this.indices = _mapPut(this.indices, key, value); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds an entry to indices using a builder lambda. - */ - public final Builder indices(String key, - Function> fn) { - return indices(key, fn.apply(new DataStreamLifecycleExplain.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExplainDataLifecycleResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExplainDataLifecycleResponse build() { - _checkSingleUse(); - - return new ExplainDataLifecycleResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExplainDataLifecycleResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ExplainDataLifecycleResponse::setupExplainDataLifecycleResponseDeserializer); - - protected static void setupExplainDataLifecycleResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::indices, JsonpDeserializer.stringMapDeserializer(DataStreamLifecycleExplain._DESERIALIZER), - "indices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FailureStore.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FailureStore.java deleted file mode 100644 index c43ae6b1c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FailureStore.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.FailureStore - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class FailureStore implements JsonpSerializable { - private final boolean enabled; - - private final List indices; - - private final boolean rolloverOnWrite; - - // --------------------------------------------------------------------------------------------- - - private FailureStore(Builder builder) { - - this.enabled = ApiTypeHelper.requireNonNull(builder.enabled, this, "enabled"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - this.rolloverOnWrite = ApiTypeHelper.requireNonNull(builder.rolloverOnWrite, this, "rolloverOnWrite"); - - } - - public static FailureStore of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code enabled} - */ - public final boolean enabled() { - return this.enabled; - } - - /** - * Required - API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Required - API name: {@code rollover_on_write} - */ - public final boolean rolloverOnWrite() { - return this.rolloverOnWrite; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("enabled"); - generator.write(this.enabled); - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (DataStreamIndex item0 : this.indices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("rollover_on_write"); - generator.write(this.rolloverOnWrite); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link FailureStore}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Boolean enabled; - - private List indices; - - private Boolean rolloverOnWrite; - - /** - * Required - API name: {@code enabled} - */ - public final Builder enabled(boolean value) { - this.enabled = value; - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(DataStreamIndex value, DataStreamIndex... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds a value to indices using a builder lambda. - */ - public final Builder indices(Function> fn) { - return indices(fn.apply(new DataStreamIndex.Builder()).build()); - } - - /** - * Required - API name: {@code rollover_on_write} - */ - public final Builder rolloverOnWrite(boolean value) { - this.rolloverOnWrite = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link FailureStore}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public FailureStore build() { - _checkSingleUse(); - - return new FailureStore(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link FailureStore} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - FailureStore::setupFailureStoreDeserializer); - - protected static void setupFailureStoreDeserializer(ObjectDeserializer op) { - - op.add(Builder::enabled, JsonpDeserializer.booleanDeserializer(), "enabled"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(DataStreamIndex._DESERIALIZER), "indices"); - op.add(Builder::rolloverOnWrite, JsonpDeserializer.booleanDeserializer(), "rollover_on_write"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FielddataFrequencyFilter.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FielddataFrequencyFilter.java deleted file mode 100644 index f197b6bf0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/FielddataFrequencyFilter.java +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.FielddataFrequencyFilter - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class FielddataFrequencyFilter implements JsonpSerializable { - private final double max; - - private final double min; - - private final int minSegmentSize; - - // --------------------------------------------------------------------------------------------- - - private FielddataFrequencyFilter(Builder builder) { - - this.max = ApiTypeHelper.requireNonNull(builder.max, this, "max"); - this.min = ApiTypeHelper.requireNonNull(builder.min, this, "min"); - this.minSegmentSize = ApiTypeHelper.requireNonNull(builder.minSegmentSize, this, "minSegmentSize"); - - } - - public static FielddataFrequencyFilter of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code max} - */ - public final double max() { - return this.max; - } - - /** - * Required - API name: {@code min} - */ - public final double min() { - return this.min; - } - - /** - * Required - API name: {@code min_segment_size} - */ - public final int minSegmentSize() { - return this.minSegmentSize; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("max"); - generator.write(this.max); - - generator.writeKey("min"); - generator.write(this.min); - - generator.writeKey("min_segment_size"); - generator.write(this.minSegmentSize); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link FielddataFrequencyFilter}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Double max; - - private Double min; - - private Integer minSegmentSize; - - /** - * Required - API name: {@code max} - */ - public final Builder max(double value) { - this.max = value; - return this; - } - - /** - * Required - API name: {@code min} - */ - public final Builder min(double value) { - this.min = value; - return this; - } - - /** - * Required - API name: {@code min_segment_size} - */ - public final Builder minSegmentSize(int value) { - this.minSegmentSize = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link FielddataFrequencyFilter}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public FielddataFrequencyFilter build() { - _checkSingleUse(); - - return new FielddataFrequencyFilter(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link FielddataFrequencyFilter} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, FielddataFrequencyFilter::setupFielddataFrequencyFilterDeserializer); - - protected static void setupFielddataFrequencyFilterDeserializer( - ObjectDeserializer op) { - - op.add(Builder::max, JsonpDeserializer.doubleDeserializer(), "max"); - op.add(Builder::min, JsonpDeserializer.doubleDeserializer(), "min"); - op.add(Builder::minSegmentSize, JsonpDeserializer.integerDeserializer(), "min_segment_size"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java deleted file mode 100644 index 1c2195539..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasRequest.java +++ /dev/null @@ -1,446 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_alias.Request - -/** - * Get aliases. Retrieves information for one or more data stream or index - * aliases. - * - * @see API - * specification - */ - -public class GetAliasRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Boolean local; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private GetAliasRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; - this.name = ApiTypeHelper.unmodifiable(builder.name); - - } - - public static GetAliasRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Comma-separated list of aliases to retrieve. Supports wildcards - * (*). To retrieve all aliases, omit this parameter or use - * * or _all. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetAliasRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - @Nullable - private Boolean local; - - @Nullable - private List name; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams or indices used to limit the request. - * Supports wildcards (*). To target all data streams and indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Comma-separated list of aliases to retrieve. Supports wildcards - * (*). To retrieve all aliases, omit this parameter or use - * * or _all. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Comma-separated list of aliases to retrieve. Supports wildcards - * (*). To retrieve all aliases, omit this parameter or use - * * or _all. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetAliasRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetAliasRequest build() { - _checkSingleUse(); - - return new GetAliasRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_alias}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_alias", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_alias"); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_alias"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetAliasResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasResponse.java deleted file mode 100644 index 07a00f9c1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetAliasResponse.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.get_alias.IndexAliases; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_alias.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetAliasResponse implements JsonpSerializable { - private final Map result; - - // --------------------------------------------------------------------------------------------- - - private GetAliasResponse(Builder builder) { - - this.result = ApiTypeHelper.unmodifiableRequired(builder.result, this, "result"); - - } - - public static GetAliasResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Response value. - */ - public final Map result() { - return this.result; - } - - /** - * Get an element of {@code result}. - */ - public final @Nullable IndexAliases get(String key) { - return this.result.get(key); - } - - /** - * Serialize this value to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - for (Map.Entry item0 : this.result.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetAliasResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Map result = new HashMap<>(); - - /** - * Required - Response value. - *

    - * Adds all entries of map to result. - */ - public final Builder result(Map map) { - this.result = _mapPutAll(this.result, map); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result. - */ - public final Builder result(String key, IndexAliases value) { - this.result = _mapPut(this.result, key, value); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result using a builder lambda. - */ - public final Builder result(String key, Function> fn) { - return result(key, fn.apply(new IndexAliases.Builder()).build()); - } - - @Override - public Builder withJson(JsonParser parser, JsonpMapper mapper) { - - @SuppressWarnings("unchecked") - Map value = (Map) JsonpDeserializer - .stringMapDeserializer(IndexAliases._DESERIALIZER).deserialize(parser, mapper); - return this.result(value); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetAliasResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetAliasResponse build() { - _checkSingleUse(); - - return new GetAliasResponse(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = createGetAliasResponseDeserializer(); - protected static JsonpDeserializer createGetAliasResponseDeserializer() { - - JsonpDeserializer> valueDeserializer = JsonpDeserializer - .stringMapDeserializer(IndexAliases._DESERIALIZER); - - return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() - .result(valueDeserializer.deserialize(parser, mapper, event)).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleRequest.java deleted file mode 100644 index 7ae7c3df5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleRequest.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_data_lifecycle.Request - -/** - * Get data stream lifecycles. Retrieves the data stream lifecycle configuration - * of one or more data streams. - * - * @see API - * specification - */ - -public class GetDataLifecycleRequest extends RequestBase { - private final List expandWildcards; - - @Nullable - private final Boolean includeDefaults; - - @Nullable - private final Time masterTimeout; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private GetDataLifecycleRequest(Builder builder) { - - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.includeDefaults = builder.includeDefaults; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - - } - - public static GetDataLifecycleRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, open, closed, - * hidden, none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of data streams to limit the request. - * Supports wildcards (*). To target all data streams, omit this - * parameter or use * or _all. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetDataLifecycleRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List expandWildcards; - - @Nullable - private Boolean includeDefaults; - - @Nullable - private Time masterTimeout; - - private List name; - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, open, closed, - * hidden, none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, open, closed, - * hidden, none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of data streams to limit the request. - * Supports wildcards (*). To target all data streams, omit this - * parameter or use * or _all. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of data streams to limit the request. - * Supports wildcards (*). To target all data streams, omit this - * parameter or use * or _all. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetDataLifecycleRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetDataLifecycleRequest build() { - _checkSingleUse(); - - return new GetDataLifecycleRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_data_lifecycle}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_data_lifecycle", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_lifecycle"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetDataLifecycleResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleResponse.java deleted file mode 100644 index b770acbe5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataLifecycleResponse.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.get_data_lifecycle.DataStreamWithLifecycle; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_data_lifecycle.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetDataLifecycleResponse implements JsonpSerializable { - private final List dataStreams; - - // --------------------------------------------------------------------------------------------- - - private GetDataLifecycleResponse(Builder builder) { - - this.dataStreams = ApiTypeHelper.unmodifiableRequired(builder.dataStreams, this, "dataStreams"); - - } - - public static GetDataLifecycleResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code data_streams} - */ - public final List dataStreams() { - return this.dataStreams; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.dataStreams)) { - generator.writeKey("data_streams"); - generator.writeStartArray(); - for (DataStreamWithLifecycle item0 : this.dataStreams) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetDataLifecycleResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List dataStreams; - - /** - * Required - API name: {@code data_streams} - *

    - * Adds all elements of list to dataStreams. - */ - public final Builder dataStreams(List list) { - this.dataStreams = _listAddAll(this.dataStreams, list); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds one or more values to dataStreams. - */ - public final Builder dataStreams(DataStreamWithLifecycle value, DataStreamWithLifecycle... values) { - this.dataStreams = _listAdd(this.dataStreams, value, values); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds a value to dataStreams using a builder lambda. - */ - public final Builder dataStreams( - Function> fn) { - return dataStreams(fn.apply(new DataStreamWithLifecycle.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetDataLifecycleResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetDataLifecycleResponse build() { - _checkSingleUse(); - - return new GetDataLifecycleResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GetDataLifecycleResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, GetDataLifecycleResponse::setupGetDataLifecycleResponseDeserializer); - - protected static void setupGetDataLifecycleResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::dataStreams, JsonpDeserializer.arrayDeserializer(DataStreamWithLifecycle._DESERIALIZER), - "data_streams"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java deleted file mode 100644 index 18fb316d6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamRequest.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_data_stream.Request - -/** - * Get data streams. Retrieves information about one or more data streams. - * - * @see API - * specification - */ - -public class GetDataStreamRequest extends RequestBase { - private final List expandWildcards; - - @Nullable - private final Boolean includeDefaults; - - @Nullable - private final Time masterTimeout; - - private final List name; - - @Nullable - private final Boolean verbose; - - // --------------------------------------------------------------------------------------------- - - private GetDataStreamRequest(Builder builder) { - - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.includeDefaults = builder.includeDefaults; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiable(builder.name); - this.verbose = builder.verbose; - - } - - public static GetDataStreamRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Comma-separated list of data stream names used to limit the request. Wildcard - * (*) expressions are supported. If omitted, all data streams are - * returned. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - /** - * Whether the maximum timestamp for each data stream should be calculated and - * returned. - *

    - * API name: {@code verbose} - */ - @Nullable - public final Boolean verbose() { - return this.verbose; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetDataStreamRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List expandWildcards; - - @Nullable - private Boolean includeDefaults; - - @Nullable - private Time masterTimeout; - - @Nullable - private List name; - - @Nullable - private Boolean verbose; - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Comma-separated list of data stream names used to limit the request. Wildcard - * (*) expressions are supported. If omitted, all data streams are - * returned. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Comma-separated list of data stream names used to limit the request. Wildcard - * (*) expressions are supported. If omitted, all data streams are - * returned. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - /** - * Whether the maximum timestamp for each data stream should be calculated and - * returned. - *

    - * API name: {@code verbose} - */ - public final Builder verbose(@Nullable Boolean value) { - this.verbose = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetDataStreamRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetDataStreamRequest build() { - _checkSingleUse(); - - return new GetDataStreamRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_data_stream}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_data_stream", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - - if (propsSet == 0) { - } - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - if (request.verbose != null) { - params.put("verbose", String.valueOf(request.verbose)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetDataStreamResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamResponse.java deleted file mode 100644 index 3c7fa5d83..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetDataStreamResponse.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_data_stream.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetDataStreamResponse implements JsonpSerializable { - private final List dataStreams; - - // --------------------------------------------------------------------------------------------- - - private GetDataStreamResponse(Builder builder) { - - this.dataStreams = ApiTypeHelper.unmodifiableRequired(builder.dataStreams, this, "dataStreams"); - - } - - public static GetDataStreamResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code data_streams} - */ - public final List dataStreams() { - return this.dataStreams; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.dataStreams)) { - generator.writeKey("data_streams"); - generator.writeStartArray(); - for (DataStream item0 : this.dataStreams) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetDataStreamResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List dataStreams; - - /** - * Required - API name: {@code data_streams} - *

    - * Adds all elements of list to dataStreams. - */ - public final Builder dataStreams(List list) { - this.dataStreams = _listAddAll(this.dataStreams, list); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds one or more values to dataStreams. - */ - public final Builder dataStreams(DataStream value, DataStream... values) { - this.dataStreams = _listAdd(this.dataStreams, value, values); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds a value to dataStreams using a builder lambda. - */ - public final Builder dataStreams(Function> fn) { - return dataStreams(fn.apply(new DataStream.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetDataStreamResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetDataStreamResponse build() { - _checkSingleUse(); - - return new GetDataStreamResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GetDataStreamResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, GetDataStreamResponse::setupGetDataStreamResponseDeserializer); - - protected static void setupGetDataStreamResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::dataStreams, JsonpDeserializer.arrayDeserializer(DataStream._DESERIALIZER), "data_streams"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexRequest.java deleted file mode 100644 index f25673cc9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexRequest.java +++ /dev/null @@ -1,496 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.get.Feature; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get.Request - -/** - * Get index information. Returns information about one or more indices. For - * data streams, the API returns information about the stream’s backing indices. - * - * @see API - * specification - */ - -public class GetIndexRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - private final List features; - - @Nullable - private final Boolean flatSettings; - - @Nullable - private final Boolean ignoreUnavailable; - - @Nullable - private final Boolean includeDefaults; - - private final List index; - - @Nullable - private final Boolean local; - - @Nullable - private final Time masterTimeout; - - // --------------------------------------------------------------------------------------------- - - private GetIndexRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.features = ApiTypeHelper.unmodifiable(builder.features); - this.flatSettings = builder.flatSettings; - this.ignoreUnavailable = builder.ignoreUnavailable; - this.includeDefaults = builder.includeDefaults; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.local = builder.local; - this.masterTimeout = builder.masterTimeout; - - } - - public static GetIndexRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard expression, index - * alias, or _all value targets only missing or closed indices. This behavior - * applies even if the request targets other open indices. For example, a - * request targeting foo*,bar* returns an error if an index starts with foo but - * no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard expressions can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Return only information on specified index features - *

    - * API name: {@code features} - */ - public final List features() { - return this.features; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - @Nullable - public final Boolean flatSettings() { - return this.flatSettings; - } - - /** - * If false, requests that target a missing index return an error. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Required - Comma-separated list of data streams, indices, and index aliases - * used to limit the request. Wildcard expressions (*) are supported. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node only. Defaults - * to false, which means information is retrieved from the master node. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndexRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private List features; - - @Nullable - private Boolean flatSettings; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private Boolean includeDefaults; - - private List index; - - @Nullable - private Boolean local; - - @Nullable - private Time masterTimeout; - - /** - * If false, the request returns an error if any wildcard expression, index - * alias, or _all value targets only missing or closed indices. This behavior - * applies even if the request targets other open indices. For example, a - * request targeting foo*,bar* returns an error if an index starts with foo but - * no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard expressions can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard expressions can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Return only information on specified index features - *

    - * API name: {@code features} - *

    - * Adds all elements of list to features. - */ - public final Builder features(List list) { - this.features = _listAddAll(this.features, list); - return this; - } - - /** - * Return only information on specified index features - *

    - * API name: {@code features} - *

    - * Adds one or more values to features. - */ - public final Builder features(Feature value, Feature... values) { - this.features = _listAdd(this.features, value, values); - return this; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; - return this; - } - - /** - * If false, requests that target a missing index return an error. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Required - Comma-separated list of data streams, indices, and index aliases - * used to limit the request. Wildcard expressions (*) are supported. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Comma-separated list of data streams, indices, and index aliases - * used to limit the request. Wildcard expressions (*) are supported. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node only. Defaults - * to false, which means information is retrieved from the master node. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndexRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndexRequest build() { - _checkSingleUse(); - - return new GetIndexRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.features)) { - params.put("features", - request.features.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetIndexResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexResponse.java deleted file mode 100644 index 0eb9e9f14..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexResponse.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetIndexResponse implements JsonpSerializable { - private final Map result; - - // --------------------------------------------------------------------------------------------- - - private GetIndexResponse(Builder builder) { - - this.result = ApiTypeHelper.unmodifiableRequired(builder.result, this, "result"); - - } - - public static GetIndexResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Response value. - */ - public final Map result() { - return this.result; - } - - /** - * Get an element of {@code result}. - */ - public final @Nullable IndexState get(String key) { - return this.result.get(key); - } - - /** - * Serialize this value to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - for (Map.Entry item0 : this.result.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndexResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Map result = new HashMap<>(); - - /** - * Required - Response value. - *

    - * Adds all entries of map to result. - */ - public final Builder result(Map map) { - this.result = _mapPutAll(this.result, map); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result. - */ - public final Builder result(String key, IndexState value) { - this.result = _mapPut(this.result, key, value); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result using a builder lambda. - */ - public final Builder result(String key, Function> fn) { - return result(key, fn.apply(new IndexState.Builder()).build()); - } - - @Override - public Builder withJson(JsonParser parser, JsonpMapper mapper) { - - @SuppressWarnings("unchecked") - Map value = (Map) JsonpDeserializer - .stringMapDeserializer(IndexState._DESERIALIZER).deserialize(parser, mapper); - return this.result(value); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndexResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndexResponse build() { - _checkSingleUse(); - - return new GetIndexResponse(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = createGetIndexResponseDeserializer(); - protected static JsonpDeserializer createGetIndexResponseDeserializer() { - - JsonpDeserializer> valueDeserializer = JsonpDeserializer - .stringMapDeserializer(IndexState._DESERIALIZER); - - return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() - .result(valueDeserializer.deserialize(parser, mapper, event)).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateRequest.java deleted file mode 100644 index 88d77c6fb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateRequest.java +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_index_template.Request - -/** - * Get index templates. Returns information about one or more index templates. - * - * @see API - * specification - */ - -public class GetIndexTemplateRequest extends RequestBase { - @Nullable - private final Boolean flatSettings; - - @Nullable - private final Boolean includeDefaults; - - @Nullable - private final Boolean local; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final String name; - - // --------------------------------------------------------------------------------------------- - - private GetIndexTemplateRequest(Builder builder) { - - this.flatSettings = builder.flatSettings; - this.includeDefaults = builder.includeDefaults; - this.local = builder.local; - this.masterTimeout = builder.masterTimeout; - this.name = builder.name; - - } - - public static GetIndexTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - @Nullable - public final Boolean flatSettings() { - return this.flatSettings; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * If true, the request retrieves information from the local node only. Defaults - * to false, which means information is retrieved from the master node. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Comma-separated list of index template names used to limit the request. - * Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - */ - @Nullable - public final String name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndexTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean flatSettings; - - @Nullable - private Boolean includeDefaults; - - @Nullable - private Boolean local; - - @Nullable - private Time masterTimeout; - - @Nullable - private String name; - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; - return this; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * If true, the request retrieves information from the local node only. Defaults - * to false, which means information is retrieved from the master node. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Comma-separated list of index template names used to limit the request. - * Wildcard (*) expressions are supported. - *

    - * API name: {@code name} - */ - public final Builder name(@Nullable String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndexTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndexTemplateRequest build() { - _checkSingleUse(); - - return new GetIndexTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_index_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_index_template", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - } - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetIndexTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateResponse.java deleted file mode 100644 index a098f2ba7..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndexTemplateResponse.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.get_index_template.IndexTemplateItem; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_index_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetIndexTemplateResponse implements JsonpSerializable { - private final List indexTemplates; - - // --------------------------------------------------------------------------------------------- - - private GetIndexTemplateResponse(Builder builder) { - - this.indexTemplates = ApiTypeHelper.unmodifiableRequired(builder.indexTemplates, this, "indexTemplates"); - - } - - public static GetIndexTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code index_templates} - */ - public final List indexTemplates() { - return this.indexTemplates; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.indexTemplates)) { - generator.writeKey("index_templates"); - generator.writeStartArray(); - for (IndexTemplateItem item0 : this.indexTemplates) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndexTemplateResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List indexTemplates; - - /** - * Required - API name: {@code index_templates} - *

    - * Adds all elements of list to indexTemplates. - */ - public final Builder indexTemplates(List list) { - this.indexTemplates = _listAddAll(this.indexTemplates, list); - return this; - } - - /** - * Required - API name: {@code index_templates} - *

    - * Adds one or more values to indexTemplates. - */ - public final Builder indexTemplates(IndexTemplateItem value, IndexTemplateItem... values) { - this.indexTemplates = _listAdd(this.indexTemplates, value, values); - return this; - } - - /** - * Required - API name: {@code index_templates} - *

    - * Adds a value to indexTemplates using a builder lambda. - */ - public final Builder indexTemplates(Function> fn) { - return indexTemplates(fn.apply(new IndexTemplateItem.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndexTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndexTemplateResponse build() { - _checkSingleUse(); - - return new GetIndexTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link GetIndexTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, GetIndexTemplateResponse::setupGetIndexTemplateResponseDeserializer); - - protected static void setupGetIndexTemplateResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::indexTemplates, JsonpDeserializer.arrayDeserializer(IndexTemplateItem._DESERIALIZER), - "index_templates"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsRequest.java deleted file mode 100644 index b24881456..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsRequest.java +++ /dev/null @@ -1,541 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_settings.Request - -/** - * Get index settings. Returns setting information for one or more indices. For - * data streams, returns setting information for the stream’s backing indices. - * - * @see API - * specification - */ - -public class GetIndicesSettingsRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean flatSettings; - - @Nullable - private final Boolean ignoreUnavailable; - - @Nullable - private final Boolean includeDefaults; - - private final List index; - - @Nullable - private final Boolean local; - - @Nullable - private final Time masterTimeout; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private GetIndicesSettingsRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.flatSettings = builder.flatSettings; - this.ignoreUnavailable = builder.ignoreUnavailable; - this.includeDefaults = builder.includeDefaults; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiable(builder.name); - - } - - public static GetIndicesSettingsRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - @Nullable - public final Boolean flatSettings() { - return this.flatSettings; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node - * only. If false, information is retrieved from the master node. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Comma-separated list or wildcard expression of settings to retrieve. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndicesSettingsRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean flatSettings; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private Boolean includeDefaults; - - @Nullable - private List index; - - @Nullable - private Boolean local; - - @Nullable - private Time masterTimeout; - - @Nullable - private List name; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with bar. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * If true, return all default settings in the response. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node - * only. If false, information is retrieved from the master node. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Comma-separated list or wildcard expression of settings to retrieve. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Comma-separated list or wildcard expression of settings to retrieve. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndicesSettingsRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndicesSettingsRequest build() { - _checkSingleUse(); - - return new GetIndicesSettingsRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_settings}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_settings", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_settings"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_settings"); - return buf.toString(); - } - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_settings"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_settings"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.name())) - propsSet |= _name; - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetIndicesSettingsResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsResponse.java deleted file mode 100644 index 4bbe6b441..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetIndicesSettingsResponse.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_settings.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetIndicesSettingsResponse implements JsonpSerializable { - private final Map result; - - // --------------------------------------------------------------------------------------------- - - private GetIndicesSettingsResponse(Builder builder) { - - this.result = ApiTypeHelper.unmodifiableRequired(builder.result, this, "result"); - - } - - public static GetIndicesSettingsResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Response value. - */ - public final Map result() { - return this.result; - } - - /** - * Get an element of {@code result}. - */ - public final @Nullable IndexState get(String key) { - return this.result.get(key); - } - - /** - * Serialize this value to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - for (Map.Entry item0 : this.result.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetIndicesSettingsResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Map result = new HashMap<>(); - - /** - * Required - Response value. - *

    - * Adds all entries of map to result. - */ - public final Builder result(Map map) { - this.result = _mapPutAll(this.result, map); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result. - */ - public final Builder result(String key, IndexState value) { - this.result = _mapPut(this.result, key, value); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result using a builder lambda. - */ - public final Builder result(String key, Function> fn) { - return result(key, fn.apply(new IndexState.Builder()).build()); - } - - @Override - public Builder withJson(JsonParser parser, JsonpMapper mapper) { - - @SuppressWarnings("unchecked") - Map value = (Map) JsonpDeserializer - .stringMapDeserializer(IndexState._DESERIALIZER).deserialize(parser, mapper); - return this.result(value); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetIndicesSettingsResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetIndicesSettingsResponse build() { - _checkSingleUse(); - - return new GetIndicesSettingsResponse(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = createGetIndicesSettingsResponseDeserializer(); - protected static JsonpDeserializer createGetIndicesSettingsResponseDeserializer() { - - JsonpDeserializer> valueDeserializer = JsonpDeserializer - .stringMapDeserializer(IndexState._DESERIALIZER); - - return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() - .result(valueDeserializer.deserialize(parser, mapper, event)).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingRequest.java deleted file mode 100644 index ea3bf519a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingRequest.java +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_mapping.Request - -/** - * Get mapping definitions. Retrieves mapping definitions for one or more - * indices. For data streams, the API retrieves mappings for the stream’s - * backing indices. - * - * @see API - * specification - */ - -public class GetMappingRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Boolean local; - - @Nullable - private final Time masterTimeout; - - // --------------------------------------------------------------------------------------------- - - private GetMappingRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.local = builder.local; - this.masterTimeout = builder.masterTimeout; - - } - - public static GetMappingRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - @Nullable - public final Boolean local() { - return this.local; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetMappingRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - @Nullable - private Boolean local; - - @Nullable - private Time masterTimeout; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, the request retrieves information from the local node - * only. - *

    - * API name: {@code local} - */ - public final Builder local(@Nullable Boolean value) { - this.local = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetMappingRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetMappingRequest build() { - _checkSingleUse(); - - return new GetMappingRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.get_mapping}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.get_mapping", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_mapping"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_mapping"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.local != null) { - params.put("local", String.valueOf(request.local)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, GetMappingResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingResponse.java deleted file mode 100644 index 5d88a4fed..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/GetMappingResponse.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.get_mapping.IndexMappingRecord; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_mapping.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class GetMappingResponse implements JsonpSerializable { - private final Map result; - - // --------------------------------------------------------------------------------------------- - - private GetMappingResponse(Builder builder) { - - this.result = ApiTypeHelper.unmodifiableRequired(builder.result, this, "result"); - - } - - public static GetMappingResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Response value. - */ - public final Map result() { - return this.result; - } - - /** - * Get an element of {@code result}. - */ - public final @Nullable IndexMappingRecord get(String key) { - return this.result.get(key); - } - - /** - * Serialize this value to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - for (Map.Entry item0 : this.result.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link GetMappingResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Map result = new HashMap<>(); - - /** - * Required - Response value. - *

    - * Adds all entries of map to result. - */ - public final Builder result(Map map) { - this.result = _mapPutAll(this.result, map); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result. - */ - public final Builder result(String key, IndexMappingRecord value) { - this.result = _mapPut(this.result, key, value); - return this; - } - - /** - * Required - Response value. - *

    - * Adds an entry to result using a builder lambda. - */ - public final Builder result(String key, - Function> fn) { - return result(key, fn.apply(new IndexMappingRecord.Builder()).build()); - } - - @Override - public Builder withJson(JsonParser parser, JsonpMapper mapper) { - - @SuppressWarnings("unchecked") - Map value = (Map) JsonpDeserializer - .stringMapDeserializer(IndexMappingRecord._DESERIALIZER).deserialize(parser, mapper); - return this.result(value); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link GetMappingResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public GetMappingResponse build() { - _checkSingleUse(); - - return new GetMappingResponse(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = createGetMappingResponseDeserializer(); - protected static JsonpDeserializer createGetMappingResponseDeserializer() { - - JsonpDeserializer> valueDeserializer = JsonpDeserializer - .stringMapDeserializer(IndexMappingRecord._DESERIALIZER); - - return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() - .result(valueDeserializer.deserialize(parser, mapper, event)).build()); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexCheckOnStartup.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexCheckOnStartup.java deleted file mode 100644 index f26073eec..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexCheckOnStartup.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IndexCheckOnStartup implements JsonEnum { - True("true"), - - False("false"), - - Checksum("checksum"), - - ; - - private final String jsonValue; - - IndexCheckOnStartup(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - IndexCheckOnStartup.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRouting.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRouting.java deleted file mode 100644 index c8a8fbb59..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRouting.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRouting - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRouting implements JsonpSerializable { - @Nullable - private final IndexRoutingAllocation allocation; - - @Nullable - private final IndexRoutingRebalance rebalance; - - // --------------------------------------------------------------------------------------------- - - private IndexRouting(Builder builder) { - - this.allocation = builder.allocation; - this.rebalance = builder.rebalance; - - } - - public static IndexRouting of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code allocation} - */ - @Nullable - public final IndexRoutingAllocation allocation() { - return this.allocation; - } - - /** - * API name: {@code rebalance} - */ - @Nullable - public final IndexRoutingRebalance rebalance() { - return this.rebalance; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.allocation != null) { - generator.writeKey("allocation"); - this.allocation.serialize(generator, mapper); - - } - if (this.rebalance != null) { - generator.writeKey("rebalance"); - this.rebalance.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRouting}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private IndexRoutingAllocation allocation; - - @Nullable - private IndexRoutingRebalance rebalance; - - /** - * API name: {@code allocation} - */ - public final Builder allocation(@Nullable IndexRoutingAllocation value) { - this.allocation = value; - return this; - } - - /** - * API name: {@code allocation} - */ - public final Builder allocation( - Function> fn) { - return this.allocation(fn.apply(new IndexRoutingAllocation.Builder()).build()); - } - - /** - * API name: {@code rebalance} - */ - public final Builder rebalance(@Nullable IndexRoutingRebalance value) { - this.rebalance = value; - return this; - } - - /** - * API name: {@code rebalance} - */ - public final Builder rebalance( - Function> fn) { - return this.rebalance(fn.apply(new IndexRoutingRebalance.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRouting}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRouting build() { - _checkSingleUse(); - - return new IndexRouting(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRouting} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexRouting::setupIndexRoutingDeserializer); - - protected static void setupIndexRoutingDeserializer(ObjectDeserializer op) { - - op.add(Builder::allocation, IndexRoutingAllocation._DESERIALIZER, "allocation"); - op.add(Builder::rebalance, IndexRoutingRebalance._DESERIALIZER, "rebalance"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocation.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocation.java deleted file mode 100644 index b97033031..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocation.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRoutingAllocation - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRoutingAllocation implements JsonpSerializable { - @Nullable - private final IndexRoutingAllocationOptions enable; - - @Nullable - private final IndexRoutingAllocationInclude include; - - @Nullable - private final IndexRoutingAllocationInitialRecovery initialRecovery; - - @Nullable - private final IndexRoutingAllocationDisk disk; - - // --------------------------------------------------------------------------------------------- - - private IndexRoutingAllocation(Builder builder) { - - this.enable = builder.enable; - this.include = builder.include; - this.initialRecovery = builder.initialRecovery; - this.disk = builder.disk; - - } - - public static IndexRoutingAllocation of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code enable} - */ - @Nullable - public final IndexRoutingAllocationOptions enable() { - return this.enable; - } - - /** - * API name: {@code include} - */ - @Nullable - public final IndexRoutingAllocationInclude include() { - return this.include; - } - - /** - * API name: {@code initial_recovery} - */ - @Nullable - public final IndexRoutingAllocationInitialRecovery initialRecovery() { - return this.initialRecovery; - } - - /** - * API name: {@code disk} - */ - @Nullable - public final IndexRoutingAllocationDisk disk() { - return this.disk; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.enable != null) { - generator.writeKey("enable"); - this.enable.serialize(generator, mapper); - } - if (this.include != null) { - generator.writeKey("include"); - this.include.serialize(generator, mapper); - - } - if (this.initialRecovery != null) { - generator.writeKey("initial_recovery"); - this.initialRecovery.serialize(generator, mapper); - - } - if (this.disk != null) { - generator.writeKey("disk"); - this.disk.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRoutingAllocation}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private IndexRoutingAllocationOptions enable; - - @Nullable - private IndexRoutingAllocationInclude include; - - @Nullable - private IndexRoutingAllocationInitialRecovery initialRecovery; - - @Nullable - private IndexRoutingAllocationDisk disk; - - /** - * API name: {@code enable} - */ - public final Builder enable(@Nullable IndexRoutingAllocationOptions value) { - this.enable = value; - return this; - } - - /** - * API name: {@code include} - */ - public final Builder include(@Nullable IndexRoutingAllocationInclude value) { - this.include = value; - return this; - } - - /** - * API name: {@code include} - */ - public final Builder include( - Function> fn) { - return this.include(fn.apply(new IndexRoutingAllocationInclude.Builder()).build()); - } - - /** - * API name: {@code initial_recovery} - */ - public final Builder initialRecovery(@Nullable IndexRoutingAllocationInitialRecovery value) { - this.initialRecovery = value; - return this; - } - - /** - * API name: {@code initial_recovery} - */ - public final Builder initialRecovery( - Function> fn) { - return this.initialRecovery(fn.apply(new IndexRoutingAllocationInitialRecovery.Builder()).build()); - } - - /** - * API name: {@code disk} - */ - public final Builder disk(@Nullable IndexRoutingAllocationDisk value) { - this.disk = value; - return this; - } - - /** - * API name: {@code disk} - */ - public final Builder disk( - Function> fn) { - return this.disk(fn.apply(new IndexRoutingAllocationDisk.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRoutingAllocation}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRoutingAllocation build() { - _checkSingleUse(); - - return new IndexRoutingAllocation(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRoutingAllocation} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexRoutingAllocation::setupIndexRoutingAllocationDeserializer); - - protected static void setupIndexRoutingAllocationDeserializer( - ObjectDeserializer op) { - - op.add(Builder::enable, IndexRoutingAllocationOptions._DESERIALIZER, "enable"); - op.add(Builder::include, IndexRoutingAllocationInclude._DESERIALIZER, "include"); - op.add(Builder::initialRecovery, IndexRoutingAllocationInitialRecovery._DESERIALIZER, "initial_recovery"); - op.add(Builder::disk, IndexRoutingAllocationDisk._DESERIALIZER, "disk"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationDisk.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationDisk.java deleted file mode 100644 index 5433c50a8..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationDisk.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRoutingAllocationDisk - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRoutingAllocationDisk implements JsonpSerializable { - @Nullable - private final Boolean thresholdEnabled; - - // --------------------------------------------------------------------------------------------- - - private IndexRoutingAllocationDisk(Builder builder) { - - this.thresholdEnabled = builder.thresholdEnabled; - - } - - public static IndexRoutingAllocationDisk of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code threshold_enabled} - */ - @Nullable - public final Boolean thresholdEnabled() { - return this.thresholdEnabled; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.thresholdEnabled != null) { - generator.writeKey("threshold_enabled"); - generator.write(this.thresholdEnabled); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRoutingAllocationDisk}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Boolean thresholdEnabled; - - /** - * API name: {@code threshold_enabled} - */ - public final Builder thresholdEnabled(@Nullable Boolean value) { - this.thresholdEnabled = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRoutingAllocationDisk}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRoutingAllocationDisk build() { - _checkSingleUse(); - - return new IndexRoutingAllocationDisk(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRoutingAllocationDisk} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexRoutingAllocationDisk::setupIndexRoutingAllocationDiskDeserializer); - - protected static void setupIndexRoutingAllocationDiskDeserializer( - ObjectDeserializer op) { - - op.add(Builder::thresholdEnabled, JsonpDeserializer.booleanDeserializer(), "threshold_enabled"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInclude.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInclude.java deleted file mode 100644 index aaec90173..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInclude.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRoutingAllocationInclude - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRoutingAllocationInclude implements JsonpSerializable { - @Nullable - private final String tierPreference; - - @Nullable - private final String id; - - // --------------------------------------------------------------------------------------------- - - private IndexRoutingAllocationInclude(Builder builder) { - - this.tierPreference = builder.tierPreference; - this.id = builder.id; - - } - - public static IndexRoutingAllocationInclude of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code _tier_preference} - */ - @Nullable - public final String tierPreference() { - return this.tierPreference; - } - - /** - * API name: {@code _id} - */ - @Nullable - public final String id() { - return this.id; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.tierPreference != null) { - generator.writeKey("_tier_preference"); - generator.write(this.tierPreference); - - } - if (this.id != null) { - generator.writeKey("_id"); - generator.write(this.id); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRoutingAllocationInclude}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private String tierPreference; - - @Nullable - private String id; - - /** - * API name: {@code _tier_preference} - */ - public final Builder tierPreference(@Nullable String value) { - this.tierPreference = value; - return this; - } - - /** - * API name: {@code _id} - */ - public final Builder id(@Nullable String value) { - this.id = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRoutingAllocationInclude}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRoutingAllocationInclude build() { - _checkSingleUse(); - - return new IndexRoutingAllocationInclude(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRoutingAllocationInclude} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexRoutingAllocationInclude::setupIndexRoutingAllocationIncludeDeserializer); - - protected static void setupIndexRoutingAllocationIncludeDeserializer( - ObjectDeserializer op) { - - op.add(Builder::tierPreference, JsonpDeserializer.stringDeserializer(), "_tier_preference"); - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "_id"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInitialRecovery.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInitialRecovery.java deleted file mode 100644 index be6c63829..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationInitialRecovery.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRoutingAllocationInitialRecovery - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRoutingAllocationInitialRecovery implements JsonpSerializable { - @Nullable - private final String id; - - // --------------------------------------------------------------------------------------------- - - private IndexRoutingAllocationInitialRecovery(Builder builder) { - - this.id = builder.id; - - } - - public static IndexRoutingAllocationInitialRecovery of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code _id} - */ - @Nullable - public final String id() { - return this.id; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.id != null) { - generator.writeKey("_id"); - generator.write(this.id); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRoutingAllocationInitialRecovery}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private String id; - - /** - * API name: {@code _id} - */ - public final Builder id(@Nullable String value) { - this.id = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRoutingAllocationInitialRecovery}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRoutingAllocationInitialRecovery build() { - _checkSingleUse(); - - return new IndexRoutingAllocationInitialRecovery(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRoutingAllocationInitialRecovery} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, - IndexRoutingAllocationInitialRecovery::setupIndexRoutingAllocationInitialRecoveryDeserializer); - - protected static void setupIndexRoutingAllocationInitialRecoveryDeserializer( - ObjectDeserializer op) { - - op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "_id"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationOptions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationOptions.java deleted file mode 100644 index e52caeb82..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingAllocationOptions.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IndexRoutingAllocationOptions implements JsonEnum { - All("all"), - - Primaries("primaries"), - - NewPrimaries("new_primaries"), - - None("none"), - - ; - - private final String jsonValue; - - IndexRoutingAllocationOptions(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - IndexRoutingAllocationOptions.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalance.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalance.java deleted file mode 100644 index 437f95ac1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalance.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexRoutingRebalance - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexRoutingRebalance implements JsonpSerializable { - private final IndexRoutingRebalanceOptions enable; - - // --------------------------------------------------------------------------------------------- - - private IndexRoutingRebalance(Builder builder) { - - this.enable = ApiTypeHelper.requireNonNull(builder.enable, this, "enable"); - - } - - public static IndexRoutingRebalance of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code enable} - */ - public final IndexRoutingRebalanceOptions enable() { - return this.enable; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("enable"); - this.enable.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexRoutingRebalance}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private IndexRoutingRebalanceOptions enable; - - /** - * Required - API name: {@code enable} - */ - public final Builder enable(IndexRoutingRebalanceOptions value) { - this.enable = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexRoutingRebalance}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexRoutingRebalance build() { - _checkSingleUse(); - - return new IndexRoutingRebalance(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexRoutingRebalance} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexRoutingRebalance::setupIndexRoutingRebalanceDeserializer); - - protected static void setupIndexRoutingRebalanceDeserializer(ObjectDeserializer op) { - - op.add(Builder::enable, IndexRoutingRebalanceOptions._DESERIALIZER, "enable"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalanceOptions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalanceOptions.java deleted file mode 100644 index 8563e0f9e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexRoutingRebalanceOptions.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IndexRoutingRebalanceOptions implements JsonEnum { - All("all"), - - Primaries("primaries"), - - Replicas("replicas"), - - None("none"), - - ; - - private final String jsonValue; - - IndexRoutingRebalanceOptions(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - IndexRoutingRebalanceOptions.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSegmentSort.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSegmentSort.java deleted file mode 100644 index 882d57436..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSegmentSort.java +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSegmentSort - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSegmentSort implements JsonpSerializable { - private final List field; - - private final List order; - - private final List mode; - - private final List missing; - - // --------------------------------------------------------------------------------------------- - - private IndexSegmentSort(Builder builder) { - - this.field = ApiTypeHelper.unmodifiable(builder.field); - this.order = ApiTypeHelper.unmodifiable(builder.order); - this.mode = ApiTypeHelper.unmodifiable(builder.mode); - this.missing = ApiTypeHelper.unmodifiable(builder.missing); - - } - - public static IndexSegmentSort of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code field} - */ - public final List field() { - return this.field; - } - - /** - * API name: {@code order} - */ - public final List order() { - return this.order; - } - - /** - * API name: {@code mode} - */ - public final List mode() { - return this.mode; - } - - /** - * API name: {@code missing} - */ - public final List missing() { - return this.missing; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.field)) { - generator.writeKey("field"); - generator.writeStartArray(); - for (String item0 : this.field) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.order)) { - generator.writeKey("order"); - generator.writeStartArray(); - for (SegmentSortOrder item0 : this.order) { - item0.serialize(generator, mapper); - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.mode)) { - generator.writeKey("mode"); - generator.writeStartArray(); - for (SegmentSortMode item0 : this.mode) { - item0.serialize(generator, mapper); - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.missing)) { - generator.writeKey("missing"); - generator.writeStartArray(); - for (SegmentSortMissing item0 : this.missing) { - item0.serialize(generator, mapper); - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSegmentSort}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private List field; - - @Nullable - private List order; - - @Nullable - private List mode; - - @Nullable - private List missing; - - /** - * API name: {@code field} - *

    - * Adds all elements of list to field. - */ - public final Builder field(List list) { - this.field = _listAddAll(this.field, list); - return this; - } - - /** - * API name: {@code field} - *

    - * Adds one or more values to field. - */ - public final Builder field(String value, String... values) { - this.field = _listAdd(this.field, value, values); - return this; - } - - /** - * API name: {@code order} - *

    - * Adds all elements of list to order. - */ - public final Builder order(List list) { - this.order = _listAddAll(this.order, list); - return this; - } - - /** - * API name: {@code order} - *

    - * Adds one or more values to order. - */ - public final Builder order(SegmentSortOrder value, SegmentSortOrder... values) { - this.order = _listAdd(this.order, value, values); - return this; - } - - /** - * API name: {@code mode} - *

    - * Adds all elements of list to mode. - */ - public final Builder mode(List list) { - this.mode = _listAddAll(this.mode, list); - return this; - } - - /** - * API name: {@code mode} - *

    - * Adds one or more values to mode. - */ - public final Builder mode(SegmentSortMode value, SegmentSortMode... values) { - this.mode = _listAdd(this.mode, value, values); - return this; - } - - /** - * API name: {@code missing} - *

    - * Adds all elements of list to missing. - */ - public final Builder missing(List list) { - this.missing = _listAddAll(this.missing, list); - return this; - } - - /** - * API name: {@code missing} - *

    - * Adds one or more values to missing. - */ - public final Builder missing(SegmentSortMissing value, SegmentSortMissing... values) { - this.missing = _listAdd(this.missing, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSegmentSort}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSegmentSort build() { - _checkSingleUse(); - - return new IndexSegmentSort(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSegmentSort} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexSegmentSort::setupIndexSegmentSortDeserializer); - - protected static void setupIndexSegmentSortDeserializer(ObjectDeserializer op) { - - op.add(Builder::field, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "field"); - op.add(Builder::order, JsonpDeserializer.arrayDeserializer(SegmentSortOrder._DESERIALIZER), "order"); - op.add(Builder::mode, JsonpDeserializer.arrayDeserializer(SegmentSortMode._DESERIALIZER), "mode"); - op.add(Builder::missing, JsonpDeserializer.arrayDeserializer(SegmentSortMissing._DESERIALIZER), "missing"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingBlocks.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingBlocks.java deleted file mode 100644 index 93fbc4b1a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingBlocks.java +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettingBlocks - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettingBlocks implements JsonpSerializable { - @Nullable - private final Boolean readOnly; - - @Nullable - private final Boolean readOnlyAllowDelete; - - @Nullable - private final Boolean read; - - @Nullable - private final Boolean write; - - @Nullable - private final Boolean metadata; - - // --------------------------------------------------------------------------------------------- - - private IndexSettingBlocks(Builder builder) { - - this.readOnly = builder.readOnly; - this.readOnlyAllowDelete = builder.readOnlyAllowDelete; - this.read = builder.read; - this.write = builder.write; - this.metadata = builder.metadata; - - } - - public static IndexSettingBlocks of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code read_only} - */ - @Nullable - public final Boolean readOnly() { - return this.readOnly; - } - - /** - * API name: {@code read_only_allow_delete} - */ - @Nullable - public final Boolean readOnlyAllowDelete() { - return this.readOnlyAllowDelete; - } - - /** - * API name: {@code read} - */ - @Nullable - public final Boolean read() { - return this.read; - } - - /** - * API name: {@code write} - */ - @Nullable - public final Boolean write() { - return this.write; - } - - /** - * API name: {@code metadata} - */ - @Nullable - public final Boolean metadata() { - return this.metadata; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.readOnly != null) { - generator.writeKey("read_only"); - generator.write(this.readOnly); - - } - if (this.readOnlyAllowDelete != null) { - generator.writeKey("read_only_allow_delete"); - generator.write(this.readOnlyAllowDelete); - - } - if (this.read != null) { - generator.writeKey("read"); - generator.write(this.read); - - } - if (this.write != null) { - generator.writeKey("write"); - generator.write(this.write); - - } - if (this.metadata != null) { - generator.writeKey("metadata"); - generator.write(this.metadata); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettingBlocks}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Boolean readOnly; - - @Nullable - private Boolean readOnlyAllowDelete; - - @Nullable - private Boolean read; - - @Nullable - private Boolean write; - - @Nullable - private Boolean metadata; - - /** - * API name: {@code read_only} - */ - public final Builder readOnly(@Nullable Boolean value) { - this.readOnly = value; - return this; - } - - /** - * API name: {@code read_only_allow_delete} - */ - public final Builder readOnlyAllowDelete(@Nullable Boolean value) { - this.readOnlyAllowDelete = value; - return this; - } - - /** - * API name: {@code read} - */ - public final Builder read(@Nullable Boolean value) { - this.read = value; - return this; - } - - /** - * API name: {@code write} - */ - public final Builder write(@Nullable Boolean value) { - this.write = value; - return this; - } - - /** - * API name: {@code metadata} - */ - public final Builder metadata(@Nullable Boolean value) { - this.metadata = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettingBlocks}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettingBlocks build() { - _checkSingleUse(); - - return new IndexSettingBlocks(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettingBlocks} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexSettingBlocks::setupIndexSettingBlocksDeserializer); - - protected static void setupIndexSettingBlocksDeserializer(ObjectDeserializer op) { - - op.add(Builder::readOnly, JsonpDeserializer.booleanDeserializer(), "read_only"); - op.add(Builder::readOnlyAllowDelete, JsonpDeserializer.booleanDeserializer(), "read_only_allow_delete"); - op.add(Builder::read, JsonpDeserializer.booleanDeserializer(), "read"); - op.add(Builder::write, JsonpDeserializer.booleanDeserializer(), "write"); - op.add(Builder::metadata, JsonpDeserializer.booleanDeserializer(), "metadata"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java deleted file mode 100644 index 63fe19942..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettings.java +++ /dev/null @@ -1,2068 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.DateTime; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettings - -/** - * - * @see Documentation - * on elastic.co - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettings implements JsonpSerializable { - private final Map otherSettings; - - @Nullable - private final IndexSettings index; - - @Nullable - private final String mode; - - private final List routingPath; - - @Nullable - private final SoftDeletes softDeletes; - - @Nullable - private final IndexSegmentSort sort; - - @Nullable - private final String numberOfShards; - - @Nullable - private final String numberOfReplicas; - - @Nullable - private final Integer numberOfRoutingShards; - - @Nullable - private final IndexCheckOnStartup checkOnStartup; - - @Nullable - private final String codec; - - @Nullable - private final Integer routingPartitionSize; - - @Nullable - private final Boolean loadFixedBitsetFiltersEagerly; - - @Nullable - private final Boolean hidden; - - @Nullable - private final String autoExpandReplicas; - - @Nullable - private final Merge merge; - - @Nullable - private final SettingsSearch search; - - @Nullable - private final Time refreshInterval; - - @Nullable - private final Integer maxResultWindow; - - @Nullable - private final Integer maxInnerResultWindow; - - @Nullable - private final Integer maxRescoreWindow; - - @Nullable - private final Integer maxDocvalueFieldsSearch; - - @Nullable - private final Integer maxScriptFields; - - @Nullable - private final Integer maxNgramDiff; - - @Nullable - private final Integer maxShingleDiff; - - @Nullable - private final IndexSettingBlocks blocks; - - @Nullable - private final Integer maxRefreshListeners; - - @Nullable - private final SettingsAnalyze analyze; - - @Nullable - private final SettingsHighlight highlight; - - @Nullable - private final Integer maxTermsCount; - - @Nullable - private final Integer maxRegexLength; - - @Nullable - private final IndexRouting routing; - - @Nullable - private final Time gcDeletes; - - @Nullable - private final String defaultPipeline; - - @Nullable - private final String finalPipeline; - - @Nullable - private final IndexSettingsLifecycle lifecycle; - - @Nullable - private final String providedName; - - @Nullable - private final Long creationDate; - - @Nullable - private final DateTime creationDateString; - - @Nullable - private final String uuid; - - @Nullable - private final IndexVersioning version; - - @Nullable - private final Boolean verifiedBeforeClose; - - @Nullable - private final String format; - - @Nullable - private final Integer maxSlicesPerScroll; - - @Nullable - private final Translog translog; - - @Nullable - private final SettingsQueryString queryString; - - @Nullable - private final String priority; - - @Nullable - private final Integer topMetricsMaxSize; - - @Nullable - private final IndexSettingsAnalysis analysis; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final IndexSettingsTimeSeries timeSeries; - - @Nullable - private final Queries queries; - - private final Map similarity; - - @Nullable - private final MappingLimitSettings mapping; - - @Nullable - private final IndexingSlowlogSettings indexingSlowlog; - - @Nullable - private final IndexingPressure indexingPressure; - - @Nullable - private final Storage store; - - // --------------------------------------------------------------------------------------------- - - private IndexSettings(Builder builder) { - - this.otherSettings = ApiTypeHelper.unmodifiable(builder.otherSettings); - - this.index = builder.index; - this.mode = builder.mode; - this.routingPath = ApiTypeHelper.unmodifiable(builder.routingPath); - this.softDeletes = builder.softDeletes; - this.sort = builder.sort; - this.numberOfShards = builder.numberOfShards; - this.numberOfReplicas = builder.numberOfReplicas; - this.numberOfRoutingShards = builder.numberOfRoutingShards; - this.checkOnStartup = builder.checkOnStartup; - this.codec = builder.codec; - this.routingPartitionSize = builder.routingPartitionSize; - this.loadFixedBitsetFiltersEagerly = builder.loadFixedBitsetFiltersEagerly; - this.hidden = builder.hidden; - this.autoExpandReplicas = builder.autoExpandReplicas; - this.merge = builder.merge; - this.search = builder.search; - this.refreshInterval = builder.refreshInterval; - this.maxResultWindow = builder.maxResultWindow; - this.maxInnerResultWindow = builder.maxInnerResultWindow; - this.maxRescoreWindow = builder.maxRescoreWindow; - this.maxDocvalueFieldsSearch = builder.maxDocvalueFieldsSearch; - this.maxScriptFields = builder.maxScriptFields; - this.maxNgramDiff = builder.maxNgramDiff; - this.maxShingleDiff = builder.maxShingleDiff; - this.blocks = builder.blocks; - this.maxRefreshListeners = builder.maxRefreshListeners; - this.analyze = builder.analyze; - this.highlight = builder.highlight; - this.maxTermsCount = builder.maxTermsCount; - this.maxRegexLength = builder.maxRegexLength; - this.routing = builder.routing; - this.gcDeletes = builder.gcDeletes; - this.defaultPipeline = builder.defaultPipeline; - this.finalPipeline = builder.finalPipeline; - this.lifecycle = builder.lifecycle; - this.providedName = builder.providedName; - this.creationDate = builder.creationDate; - this.creationDateString = builder.creationDateString; - this.uuid = builder.uuid; - this.version = builder.version; - this.verifiedBeforeClose = builder.verifiedBeforeClose; - this.format = builder.format; - this.maxSlicesPerScroll = builder.maxSlicesPerScroll; - this.translog = builder.translog; - this.queryString = builder.queryString; - this.priority = builder.priority; - this.topMetricsMaxSize = builder.topMetricsMaxSize; - this.analysis = builder.analysis; - this.settings = builder.settings; - this.timeSeries = builder.timeSeries; - this.queries = builder.queries; - this.similarity = ApiTypeHelper.unmodifiable(builder.similarity); - this.mapping = builder.mapping; - this.indexingSlowlog = builder.indexingSlowlog; - this.indexingPressure = builder.indexingPressure; - this.store = builder.store; - - } - - public static IndexSettings of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Additional settings not covered in this type. Unless these settings are - * defined by a plugin, please open an issue on the Elasticsearch API - * specification so that they can be added in a future release. - */ - public final Map otherSettings() { - return this.otherSettings; - } - - /** - * API name: {@code index} - */ - @Nullable - public final IndexSettings index() { - return this.index; - } - - /** - * API name: {@code mode} - */ - @Nullable - public final String mode() { - return this.mode; - } - - /** - * API name: {@code routing_path} - */ - public final List routingPath() { - return this.routingPath; - } - - /** - * API name: {@code soft_deletes} - */ - @Nullable - public final SoftDeletes softDeletes() { - return this.softDeletes; - } - - /** - * API name: {@code sort} - */ - @Nullable - public final IndexSegmentSort sort() { - return this.sort; - } - - /** - * API name: {@code number_of_shards} - */ - @Nullable - public final String numberOfShards() { - return this.numberOfShards; - } - - /** - * API name: {@code number_of_replicas} - */ - @Nullable - public final String numberOfReplicas() { - return this.numberOfReplicas; - } - - /** - * API name: {@code number_of_routing_shards} - */ - @Nullable - public final Integer numberOfRoutingShards() { - return this.numberOfRoutingShards; - } - - /** - * API name: {@code check_on_startup} - */ - @Nullable - public final IndexCheckOnStartup checkOnStartup() { - return this.checkOnStartup; - } - - /** - * API name: {@code codec} - */ - @Nullable - public final String codec() { - return this.codec; - } - - /** - * API name: {@code routing_partition_size} - */ - @Nullable - public final Integer routingPartitionSize() { - return this.routingPartitionSize; - } - - /** - * API name: {@code load_fixed_bitset_filters_eagerly} - */ - @Nullable - public final Boolean loadFixedBitsetFiltersEagerly() { - return this.loadFixedBitsetFiltersEagerly; - } - - /** - * API name: {@code hidden} - */ - @Nullable - public final Boolean hidden() { - return this.hidden; - } - - /** - * API name: {@code auto_expand_replicas} - */ - @Nullable - public final String autoExpandReplicas() { - return this.autoExpandReplicas; - } - - /** - * API name: {@code merge} - */ - @Nullable - public final Merge merge() { - return this.merge; - } - - /** - * API name: {@code search} - */ - @Nullable - public final SettingsSearch search() { - return this.search; - } - - /** - * API name: {@code refresh_interval} - */ - @Nullable - public final Time refreshInterval() { - return this.refreshInterval; - } - - /** - * API name: {@code max_result_window} - */ - @Nullable - public final Integer maxResultWindow() { - return this.maxResultWindow; - } - - /** - * API name: {@code max_inner_result_window} - */ - @Nullable - public final Integer maxInnerResultWindow() { - return this.maxInnerResultWindow; - } - - /** - * API name: {@code max_rescore_window} - */ - @Nullable - public final Integer maxRescoreWindow() { - return this.maxRescoreWindow; - } - - /** - * API name: {@code max_docvalue_fields_search} - */ - @Nullable - public final Integer maxDocvalueFieldsSearch() { - return this.maxDocvalueFieldsSearch; - } - - /** - * API name: {@code max_script_fields} - */ - @Nullable - public final Integer maxScriptFields() { - return this.maxScriptFields; - } - - /** - * API name: {@code max_ngram_diff} - */ - @Nullable - public final Integer maxNgramDiff() { - return this.maxNgramDiff; - } - - /** - * API name: {@code max_shingle_diff} - */ - @Nullable - public final Integer maxShingleDiff() { - return this.maxShingleDiff; - } - - /** - * API name: {@code blocks} - */ - @Nullable - public final IndexSettingBlocks blocks() { - return this.blocks; - } - - /** - * API name: {@code max_refresh_listeners} - */ - @Nullable - public final Integer maxRefreshListeners() { - return this.maxRefreshListeners; - } - - /** - * Settings to define analyzers, tokenizers, token filters and character - * filters. - *

    - * API name: {@code analyze} - */ - @Nullable - public final SettingsAnalyze analyze() { - return this.analyze; - } - - /** - * API name: {@code highlight} - */ - @Nullable - public final SettingsHighlight highlight() { - return this.highlight; - } - - /** - * API name: {@code max_terms_count} - */ - @Nullable - public final Integer maxTermsCount() { - return this.maxTermsCount; - } - - /** - * API name: {@code max_regex_length} - */ - @Nullable - public final Integer maxRegexLength() { - return this.maxRegexLength; - } - - /** - * API name: {@code routing} - */ - @Nullable - public final IndexRouting routing() { - return this.routing; - } - - /** - * API name: {@code gc_deletes} - */ - @Nullable - public final Time gcDeletes() { - return this.gcDeletes; - } - - /** - * API name: {@code default_pipeline} - */ - @Nullable - public final String defaultPipeline() { - return this.defaultPipeline; - } - - /** - * API name: {@code final_pipeline} - */ - @Nullable - public final String finalPipeline() { - return this.finalPipeline; - } - - /** - * API name: {@code lifecycle} - */ - @Nullable - public final IndexSettingsLifecycle lifecycle() { - return this.lifecycle; - } - - /** - * API name: {@code provided_name} - */ - @Nullable - public final String providedName() { - return this.providedName; - } - - /** - * API name: {@code creation_date} - */ - @Nullable - public final Long creationDate() { - return this.creationDate; - } - - /** - * API name: {@code creation_date_string} - */ - @Nullable - public final DateTime creationDateString() { - return this.creationDateString; - } - - /** - * API name: {@code uuid} - */ - @Nullable - public final String uuid() { - return this.uuid; - } - - /** - * API name: {@code version} - */ - @Nullable - public final IndexVersioning version() { - return this.version; - } - - /** - * API name: {@code verified_before_close} - */ - @Nullable - public final Boolean verifiedBeforeClose() { - return this.verifiedBeforeClose; - } - - /** - * API name: {@code format} - */ - @Nullable - public final String format() { - return this.format; - } - - /** - * API name: {@code max_slices_per_scroll} - */ - @Nullable - public final Integer maxSlicesPerScroll() { - return this.maxSlicesPerScroll; - } - - /** - * API name: {@code translog} - */ - @Nullable - public final Translog translog() { - return this.translog; - } - - /** - * API name: {@code query_string} - */ - @Nullable - public final SettingsQueryString queryString() { - return this.queryString; - } - - /** - * API name: {@code priority} - */ - @Nullable - public final String priority() { - return this.priority; - } - - /** - * API name: {@code top_metrics_max_size} - */ - @Nullable - public final Integer topMetricsMaxSize() { - return this.topMetricsMaxSize; - } - - /** - * API name: {@code analysis} - */ - @Nullable - public final IndexSettingsAnalysis analysis() { - return this.analysis; - } - - /** - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * API name: {@code time_series} - */ - @Nullable - public final IndexSettingsTimeSeries timeSeries() { - return this.timeSeries; - } - - /** - * API name: {@code queries} - */ - @Nullable - public final Queries queries() { - return this.queries; - } - - /** - * Configure custom similarity settings to customize how search results are - * scored. - *

    - * API name: {@code similarity} - */ - public final Map similarity() { - return this.similarity; - } - - /** - * Enable or disable dynamic mapping for an index. - *

    - * API name: {@code mapping} - */ - @Nullable - public final MappingLimitSettings mapping() { - return this.mapping; - } - - /** - * API name: {@code indexing.slowlog} - */ - @Nullable - public final IndexingSlowlogSettings indexingSlowlog() { - return this.indexingSlowlog; - } - - /** - * Configure indexing back pressure limits. - *

    - * API name: {@code indexing_pressure} - */ - @Nullable - public final IndexingPressure indexingPressure() { - return this.indexingPressure; - } - - /** - * The store module allows you to control how index data is stored and accessed - * on disk. - *

    - * API name: {@code store} - */ - @Nullable - public final Storage store() { - return this.store; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - for (Map.Entry item0 : this.otherSettings.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - - if (this.index != null) { - generator.writeKey("index"); - this.index.serialize(generator, mapper); - - } - if (this.mode != null) { - generator.writeKey("mode"); - generator.write(this.mode); - - } - if (ApiTypeHelper.isDefined(this.routingPath)) { - generator.writeKey("routing_path"); - generator.writeStartArray(); - for (String item0 : this.routingPath) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.softDeletes != null) { - generator.writeKey("soft_deletes"); - this.softDeletes.serialize(generator, mapper); - - } - if (this.sort != null) { - generator.writeKey("sort"); - this.sort.serialize(generator, mapper); - - } - if (this.numberOfShards != null) { - generator.writeKey("number_of_shards"); - generator.write(this.numberOfShards); - - } - if (this.numberOfReplicas != null) { - generator.writeKey("number_of_replicas"); - generator.write(this.numberOfReplicas); - - } - if (this.numberOfRoutingShards != null) { - generator.writeKey("number_of_routing_shards"); - generator.write(this.numberOfRoutingShards); - - } - if (this.checkOnStartup != null) { - generator.writeKey("check_on_startup"); - this.checkOnStartup.serialize(generator, mapper); - } - if (this.codec != null) { - generator.writeKey("codec"); - generator.write(this.codec); - - } - if (this.routingPartitionSize != null) { - generator.writeKey("routing_partition_size"); - generator.write(this.routingPartitionSize); - - } - if (this.loadFixedBitsetFiltersEagerly != null) { - generator.writeKey("load_fixed_bitset_filters_eagerly"); - generator.write(this.loadFixedBitsetFiltersEagerly); - - } - if (this.hidden != null) { - generator.writeKey("hidden"); - generator.write(this.hidden); - - } - if (this.autoExpandReplicas != null) { - generator.writeKey("auto_expand_replicas"); - generator.write(this.autoExpandReplicas); - - } - if (this.merge != null) { - generator.writeKey("merge"); - this.merge.serialize(generator, mapper); - - } - if (this.search != null) { - generator.writeKey("search"); - this.search.serialize(generator, mapper); - - } - if (this.refreshInterval != null) { - generator.writeKey("refresh_interval"); - this.refreshInterval.serialize(generator, mapper); - - } - if (this.maxResultWindow != null) { - generator.writeKey("max_result_window"); - generator.write(this.maxResultWindow); - - } - if (this.maxInnerResultWindow != null) { - generator.writeKey("max_inner_result_window"); - generator.write(this.maxInnerResultWindow); - - } - if (this.maxRescoreWindow != null) { - generator.writeKey("max_rescore_window"); - generator.write(this.maxRescoreWindow); - - } - if (this.maxDocvalueFieldsSearch != null) { - generator.writeKey("max_docvalue_fields_search"); - generator.write(this.maxDocvalueFieldsSearch); - - } - if (this.maxScriptFields != null) { - generator.writeKey("max_script_fields"); - generator.write(this.maxScriptFields); - - } - if (this.maxNgramDiff != null) { - generator.writeKey("max_ngram_diff"); - generator.write(this.maxNgramDiff); - - } - if (this.maxShingleDiff != null) { - generator.writeKey("max_shingle_diff"); - generator.write(this.maxShingleDiff); - - } - if (this.blocks != null) { - generator.writeKey("blocks"); - this.blocks.serialize(generator, mapper); - - } - if (this.maxRefreshListeners != null) { - generator.writeKey("max_refresh_listeners"); - generator.write(this.maxRefreshListeners); - - } - if (this.analyze != null) { - generator.writeKey("analyze"); - this.analyze.serialize(generator, mapper); - - } - if (this.highlight != null) { - generator.writeKey("highlight"); - this.highlight.serialize(generator, mapper); - - } - if (this.maxTermsCount != null) { - generator.writeKey("max_terms_count"); - generator.write(this.maxTermsCount); - - } - if (this.maxRegexLength != null) { - generator.writeKey("max_regex_length"); - generator.write(this.maxRegexLength); - - } - if (this.routing != null) { - generator.writeKey("routing"); - this.routing.serialize(generator, mapper); - - } - if (this.gcDeletes != null) { - generator.writeKey("gc_deletes"); - this.gcDeletes.serialize(generator, mapper); - - } - if (this.defaultPipeline != null) { - generator.writeKey("default_pipeline"); - generator.write(this.defaultPipeline); - - } - if (this.finalPipeline != null) { - generator.writeKey("final_pipeline"); - generator.write(this.finalPipeline); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - if (this.providedName != null) { - generator.writeKey("provided_name"); - generator.write(this.providedName); - - } - if (this.creationDate != null) { - generator.writeKey("creation_date"); - generator.write(this.creationDate); - - } - if (this.creationDateString != null) { - generator.writeKey("creation_date_string"); - this.creationDateString.serialize(generator, mapper); - } - if (this.uuid != null) { - generator.writeKey("uuid"); - generator.write(this.uuid); - - } - if (this.version != null) { - generator.writeKey("version"); - this.version.serialize(generator, mapper); - - } - if (this.verifiedBeforeClose != null) { - generator.writeKey("verified_before_close"); - generator.write(this.verifiedBeforeClose); - - } - if (this.format != null) { - generator.writeKey("format"); - generator.write(this.format); - - } - if (this.maxSlicesPerScroll != null) { - generator.writeKey("max_slices_per_scroll"); - generator.write(this.maxSlicesPerScroll); - - } - if (this.translog != null) { - generator.writeKey("translog"); - this.translog.serialize(generator, mapper); - - } - if (this.queryString != null) { - generator.writeKey("query_string"); - this.queryString.serialize(generator, mapper); - - } - if (this.priority != null) { - generator.writeKey("priority"); - generator.write(this.priority); - - } - if (this.topMetricsMaxSize != null) { - generator.writeKey("top_metrics_max_size"); - generator.write(this.topMetricsMaxSize); - - } - if (this.analysis != null) { - generator.writeKey("analysis"); - this.analysis.serialize(generator, mapper); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - if (this.timeSeries != null) { - generator.writeKey("time_series"); - this.timeSeries.serialize(generator, mapper); - - } - if (this.queries != null) { - generator.writeKey("queries"); - this.queries.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.similarity)) { - generator.writeKey("similarity"); - generator.writeStartObject(); - for (Map.Entry item0 : this.similarity.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.mapping != null) { - generator.writeKey("mapping"); - this.mapping.serialize(generator, mapper); - - } - if (this.indexingSlowlog != null) { - generator.writeKey("indexing.slowlog"); - this.indexingSlowlog.serialize(generator, mapper); - - } - if (this.indexingPressure != null) { - generator.writeKey("indexing_pressure"); - this.indexingPressure.serialize(generator, mapper); - - } - if (this.store != null) { - generator.writeKey("store"); - this.store.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettings}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Map otherSettings = new HashMap<>(); - - /** - * Additional settings not covered in this type. Unless these settings are - * defined by a plugin, please open an issue on the Elasticsearch API - * specification so that they can be added in a future release. - *

    - * Adds all entries of map to otherSettings. - */ - public final Builder otherSettings(Map map) { - this.otherSettings = _mapPutAll(this.otherSettings, map); - return this; - } - - /** - * Additional settings not covered in this type. Unless these settings are - * defined by a plugin, please open an issue on the Elasticsearch API - * specification so that they can be added in a future release. - *

    - * Adds an entry to otherSettings. - */ - public final Builder otherSettings(String key, JsonData value) { - this.otherSettings = _mapPut(this.otherSettings, key, value); - return this; - } - - @Nullable - private IndexSettings index; - - @Nullable - private String mode; - - @Nullable - private List routingPath; - - @Nullable - private SoftDeletes softDeletes; - - @Nullable - private IndexSegmentSort sort; - - @Nullable - private String numberOfShards; - - @Nullable - private String numberOfReplicas; - - @Nullable - private Integer numberOfRoutingShards; - - @Nullable - private IndexCheckOnStartup checkOnStartup; - - @Nullable - private String codec; - - @Nullable - private Integer routingPartitionSize; - - @Nullable - private Boolean loadFixedBitsetFiltersEagerly; - - @Nullable - private Boolean hidden; - - @Nullable - private String autoExpandReplicas; - - @Nullable - private Merge merge; - - @Nullable - private SettingsSearch search; - - @Nullable - private Time refreshInterval; - - @Nullable - private Integer maxResultWindow; - - @Nullable - private Integer maxInnerResultWindow; - - @Nullable - private Integer maxRescoreWindow; - - @Nullable - private Integer maxDocvalueFieldsSearch; - - @Nullable - private Integer maxScriptFields; - - @Nullable - private Integer maxNgramDiff; - - @Nullable - private Integer maxShingleDiff; - - @Nullable - private IndexSettingBlocks blocks; - - @Nullable - private Integer maxRefreshListeners; - - @Nullable - private SettingsAnalyze analyze; - - @Nullable - private SettingsHighlight highlight; - - @Nullable - private Integer maxTermsCount; - - @Nullable - private Integer maxRegexLength; - - @Nullable - private IndexRouting routing; - - @Nullable - private Time gcDeletes; - - @Nullable - private String defaultPipeline; - - @Nullable - private String finalPipeline; - - @Nullable - private IndexSettingsLifecycle lifecycle; - - @Nullable - private String providedName; - - @Nullable - private Long creationDate; - - @Nullable - private DateTime creationDateString; - - @Nullable - private String uuid; - - @Nullable - private IndexVersioning version; - - @Nullable - private Boolean verifiedBeforeClose; - - @Nullable - private String format; - - @Nullable - private Integer maxSlicesPerScroll; - - @Nullable - private Translog translog; - - @Nullable - private SettingsQueryString queryString; - - @Nullable - private String priority; - - @Nullable - private Integer topMetricsMaxSize; - - @Nullable - private IndexSettingsAnalysis analysis; - - @Nullable - private IndexSettings settings; - - @Nullable - private IndexSettingsTimeSeries timeSeries; - - @Nullable - private Queries queries; - - @Nullable - private Map similarity; - - @Nullable - private MappingLimitSettings mapping; - - @Nullable - private IndexingSlowlogSettings indexingSlowlog; - - @Nullable - private IndexingPressure indexingPressure; - - @Nullable - private Storage store; - - /** - * API name: {@code index} - */ - public final Builder index(@Nullable IndexSettings value) { - this.index = value; - return this; - } - - /** - * API name: {@code index} - */ - public final Builder index(Function> fn) { - return this.index(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * API name: {@code mode} - */ - public final Builder mode(@Nullable String value) { - this.mode = value; - return this; - } - - /** - * API name: {@code routing_path} - *

    - * Adds all elements of list to routingPath. - */ - public final Builder routingPath(List list) { - this.routingPath = _listAddAll(this.routingPath, list); - return this; - } - - /** - * API name: {@code routing_path} - *

    - * Adds one or more values to routingPath. - */ - public final Builder routingPath(String value, String... values) { - this.routingPath = _listAdd(this.routingPath, value, values); - return this; - } - - /** - * API name: {@code soft_deletes} - */ - public final Builder softDeletes(@Nullable SoftDeletes value) { - this.softDeletes = value; - return this; - } - - /** - * API name: {@code soft_deletes} - */ - public final Builder softDeletes(Function> fn) { - return this.softDeletes(fn.apply(new SoftDeletes.Builder()).build()); - } - - /** - * API name: {@code sort} - */ - public final Builder sort(@Nullable IndexSegmentSort value) { - this.sort = value; - return this; - } - - /** - * API name: {@code sort} - */ - public final Builder sort(Function> fn) { - return this.sort(fn.apply(new IndexSegmentSort.Builder()).build()); - } - - /** - * API name: {@code number_of_shards} - */ - public final Builder numberOfShards(@Nullable String value) { - this.numberOfShards = value; - return this; - } - - /** - * API name: {@code number_of_replicas} - */ - public final Builder numberOfReplicas(@Nullable String value) { - this.numberOfReplicas = value; - return this; - } - - /** - * API name: {@code number_of_routing_shards} - */ - public final Builder numberOfRoutingShards(@Nullable Integer value) { - this.numberOfRoutingShards = value; - return this; - } - - /** - * API name: {@code check_on_startup} - */ - public final Builder checkOnStartup(@Nullable IndexCheckOnStartup value) { - this.checkOnStartup = value; - return this; - } - - /** - * API name: {@code codec} - */ - public final Builder codec(@Nullable String value) { - this.codec = value; - return this; - } - - /** - * API name: {@code routing_partition_size} - */ - public final Builder routingPartitionSize(@Nullable Integer value) { - this.routingPartitionSize = value; - return this; - } - - /** - * API name: {@code load_fixed_bitset_filters_eagerly} - */ - public final Builder loadFixedBitsetFiltersEagerly(@Nullable Boolean value) { - this.loadFixedBitsetFiltersEagerly = value; - return this; - } - - /** - * API name: {@code hidden} - */ - public final Builder hidden(@Nullable Boolean value) { - this.hidden = value; - return this; - } - - /** - * API name: {@code auto_expand_replicas} - */ - public final Builder autoExpandReplicas(@Nullable String value) { - this.autoExpandReplicas = value; - return this; - } - - /** - * API name: {@code merge} - */ - public final Builder merge(@Nullable Merge value) { - this.merge = value; - return this; - } - - /** - * API name: {@code merge} - */ - public final Builder merge(Function> fn) { - return this.merge(fn.apply(new Merge.Builder()).build()); - } - - /** - * API name: {@code search} - */ - public final Builder search(@Nullable SettingsSearch value) { - this.search = value; - return this; - } - - /** - * API name: {@code search} - */ - public final Builder search(Function> fn) { - return this.search(fn.apply(new SettingsSearch.Builder()).build()); - } - - /** - * API name: {@code refresh_interval} - */ - public final Builder refreshInterval(@Nullable Time value) { - this.refreshInterval = value; - return this; - } - - /** - * API name: {@code refresh_interval} - */ - public final Builder refreshInterval(Function> fn) { - return this.refreshInterval(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code max_result_window} - */ - public final Builder maxResultWindow(@Nullable Integer value) { - this.maxResultWindow = value; - return this; - } - - /** - * API name: {@code max_inner_result_window} - */ - public final Builder maxInnerResultWindow(@Nullable Integer value) { - this.maxInnerResultWindow = value; - return this; - } - - /** - * API name: {@code max_rescore_window} - */ - public final Builder maxRescoreWindow(@Nullable Integer value) { - this.maxRescoreWindow = value; - return this; - } - - /** - * API name: {@code max_docvalue_fields_search} - */ - public final Builder maxDocvalueFieldsSearch(@Nullable Integer value) { - this.maxDocvalueFieldsSearch = value; - return this; - } - - /** - * API name: {@code max_script_fields} - */ - public final Builder maxScriptFields(@Nullable Integer value) { - this.maxScriptFields = value; - return this; - } - - /** - * API name: {@code max_ngram_diff} - */ - public final Builder maxNgramDiff(@Nullable Integer value) { - this.maxNgramDiff = value; - return this; - } - - /** - * API name: {@code max_shingle_diff} - */ - public final Builder maxShingleDiff(@Nullable Integer value) { - this.maxShingleDiff = value; - return this; - } - - /** - * API name: {@code blocks} - */ - public final Builder blocks(@Nullable IndexSettingBlocks value) { - this.blocks = value; - return this; - } - - /** - * API name: {@code blocks} - */ - public final Builder blocks(Function> fn) { - return this.blocks(fn.apply(new IndexSettingBlocks.Builder()).build()); - } - - /** - * API name: {@code max_refresh_listeners} - */ - public final Builder maxRefreshListeners(@Nullable Integer value) { - this.maxRefreshListeners = value; - return this; - } - - /** - * Settings to define analyzers, tokenizers, token filters and character - * filters. - *

    - * API name: {@code analyze} - */ - public final Builder analyze(@Nullable SettingsAnalyze value) { - this.analyze = value; - return this; - } - - /** - * Settings to define analyzers, tokenizers, token filters and character - * filters. - *

    - * API name: {@code analyze} - */ - public final Builder analyze(Function> fn) { - return this.analyze(fn.apply(new SettingsAnalyze.Builder()).build()); - } - - /** - * API name: {@code highlight} - */ - public final Builder highlight(@Nullable SettingsHighlight value) { - this.highlight = value; - return this; - } - - /** - * API name: {@code highlight} - */ - public final Builder highlight(Function> fn) { - return this.highlight(fn.apply(new SettingsHighlight.Builder()).build()); - } - - /** - * API name: {@code max_terms_count} - */ - public final Builder maxTermsCount(@Nullable Integer value) { - this.maxTermsCount = value; - return this; - } - - /** - * API name: {@code max_regex_length} - */ - public final Builder maxRegexLength(@Nullable Integer value) { - this.maxRegexLength = value; - return this; - } - - /** - * API name: {@code routing} - */ - public final Builder routing(@Nullable IndexRouting value) { - this.routing = value; - return this; - } - - /** - * API name: {@code routing} - */ - public final Builder routing(Function> fn) { - return this.routing(fn.apply(new IndexRouting.Builder()).build()); - } - - /** - * API name: {@code gc_deletes} - */ - public final Builder gcDeletes(@Nullable Time value) { - this.gcDeletes = value; - return this; - } - - /** - * API name: {@code gc_deletes} - */ - public final Builder gcDeletes(Function> fn) { - return this.gcDeletes(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code default_pipeline} - */ - public final Builder defaultPipeline(@Nullable String value) { - this.defaultPipeline = value; - return this; - } - - /** - * API name: {@code final_pipeline} - */ - public final Builder finalPipeline(@Nullable String value) { - this.finalPipeline = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable IndexSettingsLifecycle value) { - this.lifecycle = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle( - Function> fn) { - return this.lifecycle(fn.apply(new IndexSettingsLifecycle.Builder()).build()); - } - - /** - * API name: {@code provided_name} - */ - public final Builder providedName(@Nullable String value) { - this.providedName = value; - return this; - } - - /** - * API name: {@code creation_date} - */ - public final Builder creationDate(@Nullable Long value) { - this.creationDate = value; - return this; - } - - /** - * API name: {@code creation_date_string} - */ - public final Builder creationDateString(@Nullable DateTime value) { - this.creationDateString = value; - return this; - } - - /** - * API name: {@code uuid} - */ - public final Builder uuid(@Nullable String value) { - this.uuid = value; - return this; - } - - /** - * API name: {@code version} - */ - public final Builder version(@Nullable IndexVersioning value) { - this.version = value; - return this; - } - - /** - * API name: {@code version} - */ - public final Builder version(Function> fn) { - return this.version(fn.apply(new IndexVersioning.Builder()).build()); - } - - /** - * API name: {@code verified_before_close} - */ - public final Builder verifiedBeforeClose(@Nullable Boolean value) { - this.verifiedBeforeClose = value; - return this; - } - - /** - * API name: {@code format} - */ - public final Builder format(@Nullable String value) { - this.format = value; - return this; - } - - /** - * API name: {@code max_slices_per_scroll} - */ - public final Builder maxSlicesPerScroll(@Nullable Integer value) { - this.maxSlicesPerScroll = value; - return this; - } - - /** - * API name: {@code translog} - */ - public final Builder translog(@Nullable Translog value) { - this.translog = value; - return this; - } - - /** - * API name: {@code translog} - */ - public final Builder translog(Function> fn) { - return this.translog(fn.apply(new Translog.Builder()).build()); - } - - /** - * API name: {@code query_string} - */ - public final Builder queryString(@Nullable SettingsQueryString value) { - this.queryString = value; - return this; - } - - /** - * API name: {@code query_string} - */ - public final Builder queryString(Function> fn) { - return this.queryString(fn.apply(new SettingsQueryString.Builder()).build()); - } - - /** - * API name: {@code priority} - */ - public final Builder priority(@Nullable String value) { - this.priority = value; - return this; - } - - /** - * API name: {@code top_metrics_max_size} - */ - public final Builder topMetricsMaxSize(@Nullable Integer value) { - this.topMetricsMaxSize = value; - return this; - } - - /** - * API name: {@code analysis} - */ - public final Builder analysis(@Nullable IndexSettingsAnalysis value) { - this.analysis = value; - return this; - } - - /** - * API name: {@code analysis} - */ - public final Builder analysis( - Function> fn) { - return this.analysis(fn.apply(new IndexSettingsAnalysis.Builder()).build()); - } - - /** - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * API name: {@code time_series} - */ - public final Builder timeSeries(@Nullable IndexSettingsTimeSeries value) { - this.timeSeries = value; - return this; - } - - /** - * API name: {@code time_series} - */ - public final Builder timeSeries( - Function> fn) { - return this.timeSeries(fn.apply(new IndexSettingsTimeSeries.Builder()).build()); - } - - /** - * API name: {@code queries} - */ - public final Builder queries(@Nullable Queries value) { - this.queries = value; - return this; - } - - /** - * API name: {@code queries} - */ - public final Builder queries(Function> fn) { - return this.queries(fn.apply(new Queries.Builder()).build()); - } - - /** - * Configure custom similarity settings to customize how search results are - * scored. - *

    - * API name: {@code similarity} - *

    - * Adds all entries of map to similarity. - */ - public final Builder similarity(Map map) { - this.similarity = _mapPutAll(this.similarity, map); - return this; - } - - /** - * Configure custom similarity settings to customize how search results are - * scored. - *

    - * API name: {@code similarity} - *

    - * Adds an entry to similarity. - */ - public final Builder similarity(String key, SettingsSimilarity value) { - this.similarity = _mapPut(this.similarity, key, value); - return this; - } - - /** - * Configure custom similarity settings to customize how search results are - * scored. - *

    - * API name: {@code similarity} - *

    - * Adds an entry to similarity using a builder lambda. - */ - public final Builder similarity(String key, - Function> fn) { - return similarity(key, fn.apply(new SettingsSimilarity.Builder()).build()); - } - - /** - * Enable or disable dynamic mapping for an index. - *

    - * API name: {@code mapping} - */ - public final Builder mapping(@Nullable MappingLimitSettings value) { - this.mapping = value; - return this; - } - - /** - * Enable or disable dynamic mapping for an index. - *

    - * API name: {@code mapping} - */ - public final Builder mapping(Function> fn) { - return this.mapping(fn.apply(new MappingLimitSettings.Builder()).build()); - } - - /** - * API name: {@code indexing.slowlog} - */ - public final Builder indexingSlowlog(@Nullable IndexingSlowlogSettings value) { - this.indexingSlowlog = value; - return this; - } - - /** - * API name: {@code indexing.slowlog} - */ - public final Builder indexingSlowlog( - Function> fn) { - return this.indexingSlowlog(fn.apply(new IndexingSlowlogSettings.Builder()).build()); - } - - /** - * Configure indexing back pressure limits. - *

    - * API name: {@code indexing_pressure} - */ - public final Builder indexingPressure(@Nullable IndexingPressure value) { - this.indexingPressure = value; - return this; - } - - /** - * Configure indexing back pressure limits. - *

    - * API name: {@code indexing_pressure} - */ - public final Builder indexingPressure(Function> fn) { - return this.indexingPressure(fn.apply(new IndexingPressure.Builder()).build()); - } - - /** - * The store module allows you to control how index data is stored and accessed - * on disk. - *

    - * API name: {@code store} - */ - public final Builder store(@Nullable Storage value) { - this.store = value; - return this; - } - - /** - * The store module allows you to control how index data is stored and accessed - * on disk. - *

    - * API name: {@code store} - */ - public final Builder store(Function> fn) { - return this.store(fn.apply(new Storage.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettings}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettings build() { - _checkSingleUse(); - - return new IndexSettings(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettings} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexSettings::setupIndexSettingsDeserializer); - - protected static void setupIndexSettingsDeserializer(ObjectDeserializer op) { - - op.add(Builder::index, IndexSettings._DESERIALIZER, "index"); - op.add(Builder::mode, JsonpDeserializer.stringDeserializer(), "mode"); - op.add(Builder::routingPath, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "routing_path"); - op.add(Builder::softDeletes, SoftDeletes._DESERIALIZER, "soft_deletes"); - op.add(Builder::sort, IndexSegmentSort._DESERIALIZER, "sort"); - op.add(Builder::numberOfShards, JsonpDeserializer.stringDeserializer(), "number_of_shards"); - op.add(Builder::numberOfReplicas, JsonpDeserializer.stringDeserializer(), "number_of_replicas"); - op.add(Builder::numberOfRoutingShards, JsonpDeserializer.integerDeserializer(), "number_of_routing_shards"); - op.add(Builder::checkOnStartup, IndexCheckOnStartup._DESERIALIZER, "check_on_startup"); - op.add(Builder::codec, JsonpDeserializer.stringDeserializer(), "codec"); - op.add(Builder::routingPartitionSize, JsonpDeserializer.integerDeserializer(), "routing_partition_size"); - op.add(Builder::loadFixedBitsetFiltersEagerly, JsonpDeserializer.booleanDeserializer(), - "load_fixed_bitset_filters_eagerly"); - op.add(Builder::hidden, JsonpDeserializer.booleanDeserializer(), "hidden"); - op.add(Builder::autoExpandReplicas, JsonpDeserializer.stringDeserializer(), "auto_expand_replicas"); - op.add(Builder::merge, Merge._DESERIALIZER, "merge"); - op.add(Builder::search, SettingsSearch._DESERIALIZER, "search"); - op.add(Builder::refreshInterval, Time._DESERIALIZER, "refresh_interval"); - op.add(Builder::maxResultWindow, JsonpDeserializer.integerDeserializer(), "max_result_window"); - op.add(Builder::maxInnerResultWindow, JsonpDeserializer.integerDeserializer(), "max_inner_result_window"); - op.add(Builder::maxRescoreWindow, JsonpDeserializer.integerDeserializer(), "max_rescore_window"); - op.add(Builder::maxDocvalueFieldsSearch, JsonpDeserializer.integerDeserializer(), "max_docvalue_fields_search"); - op.add(Builder::maxScriptFields, JsonpDeserializer.integerDeserializer(), "max_script_fields"); - op.add(Builder::maxNgramDiff, JsonpDeserializer.integerDeserializer(), "max_ngram_diff"); - op.add(Builder::maxShingleDiff, JsonpDeserializer.integerDeserializer(), "max_shingle_diff"); - op.add(Builder::blocks, IndexSettingBlocks._DESERIALIZER, "blocks"); - op.add(Builder::maxRefreshListeners, JsonpDeserializer.integerDeserializer(), "max_refresh_listeners"); - op.add(Builder::analyze, SettingsAnalyze._DESERIALIZER, "analyze"); - op.add(Builder::highlight, SettingsHighlight._DESERIALIZER, "highlight"); - op.add(Builder::maxTermsCount, JsonpDeserializer.integerDeserializer(), "max_terms_count"); - op.add(Builder::maxRegexLength, JsonpDeserializer.integerDeserializer(), "max_regex_length"); - op.add(Builder::routing, IndexRouting._DESERIALIZER, "routing"); - op.add(Builder::gcDeletes, Time._DESERIALIZER, "gc_deletes"); - op.add(Builder::defaultPipeline, JsonpDeserializer.stringDeserializer(), "default_pipeline"); - op.add(Builder::finalPipeline, JsonpDeserializer.stringDeserializer(), "final_pipeline"); - op.add(Builder::lifecycle, IndexSettingsLifecycle._DESERIALIZER, "lifecycle"); - op.add(Builder::providedName, JsonpDeserializer.stringDeserializer(), "provided_name"); - op.add(Builder::creationDate, JsonpDeserializer.longDeserializer(), "creation_date"); - op.add(Builder::creationDateString, DateTime._DESERIALIZER, "creation_date_string"); - op.add(Builder::uuid, JsonpDeserializer.stringDeserializer(), "uuid"); - op.add(Builder::version, IndexVersioning._DESERIALIZER, "version"); - op.add(Builder::verifiedBeforeClose, JsonpDeserializer.booleanDeserializer(), "verified_before_close"); - op.add(Builder::format, JsonpDeserializer.stringDeserializer(), "format"); - op.add(Builder::maxSlicesPerScroll, JsonpDeserializer.integerDeserializer(), "max_slices_per_scroll"); - op.add(Builder::translog, Translog._DESERIALIZER, "translog"); - op.add(Builder::queryString, SettingsQueryString._DESERIALIZER, "query_string"); - op.add(Builder::priority, JsonpDeserializer.stringDeserializer(), "priority"); - op.add(Builder::topMetricsMaxSize, JsonpDeserializer.integerDeserializer(), "top_metrics_max_size"); - op.add(Builder::analysis, IndexSettingsAnalysis._DESERIALIZER, "analysis"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - op.add(Builder::timeSeries, IndexSettingsTimeSeries._DESERIALIZER, "time_series"); - op.add(Builder::queries, Queries._DESERIALIZER, "queries"); - op.add(Builder::similarity, JsonpDeserializer.stringMapDeserializer(SettingsSimilarity._DESERIALIZER), - "similarity"); - op.add(Builder::mapping, MappingLimitSettings._DESERIALIZER, "mapping"); - op.add(Builder::indexingSlowlog, IndexingSlowlogSettings._DESERIALIZER, "indexing.slowlog"); - op.add(Builder::indexingPressure, IndexingPressure._DESERIALIZER, "indexing_pressure"); - op.add(Builder::store, Storage._DESERIALIZER, "store"); - - op.setUnknownFieldHandler((builder, name, parser, mapper) -> { - builder.otherSettings(name, JsonData._DESERIALIZER.deserialize(parser, mapper)); - }); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsAnalysis.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsAnalysis.java deleted file mode 100644 index c2ff07403..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsAnalysis.java +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.analysis.Analyzer; -import co.elastic.clients.elasticsearch._types.analysis.CharFilter; -import co.elastic.clients.elasticsearch._types.analysis.Normalizer; -import co.elastic.clients.elasticsearch._types.analysis.TokenFilter; -import co.elastic.clients.elasticsearch._types.analysis.Tokenizer; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettingsAnalysis - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettingsAnalysis implements JsonpSerializable { - private final Map analyzer; - - private final Map charFilter; - - private final Map filter; - - private final Map normalizer; - - private final Map tokenizer; - - // --------------------------------------------------------------------------------------------- - - private IndexSettingsAnalysis(Builder builder) { - - this.analyzer = ApiTypeHelper.unmodifiable(builder.analyzer); - this.charFilter = ApiTypeHelper.unmodifiable(builder.charFilter); - this.filter = ApiTypeHelper.unmodifiable(builder.filter); - this.normalizer = ApiTypeHelper.unmodifiable(builder.normalizer); - this.tokenizer = ApiTypeHelper.unmodifiable(builder.tokenizer); - - } - - public static IndexSettingsAnalysis of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code analyzer} - */ - public final Map analyzer() { - return this.analyzer; - } - - /** - * API name: {@code char_filter} - */ - public final Map charFilter() { - return this.charFilter; - } - - /** - * API name: {@code filter} - */ - public final Map filter() { - return this.filter; - } - - /** - * API name: {@code normalizer} - */ - public final Map normalizer() { - return this.normalizer; - } - - /** - * API name: {@code tokenizer} - */ - public final Map tokenizer() { - return this.tokenizer; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.analyzer)) { - generator.writeKey("analyzer"); - generator.writeStartObject(); - for (Map.Entry item0 : this.analyzer.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.charFilter)) { - generator.writeKey("char_filter"); - generator.writeStartObject(); - for (Map.Entry item0 : this.charFilter.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.filter)) { - generator.writeKey("filter"); - generator.writeStartObject(); - for (Map.Entry item0 : this.filter.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.normalizer)) { - generator.writeKey("normalizer"); - generator.writeStartObject(); - for (Map.Entry item0 : this.normalizer.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.tokenizer)) { - generator.writeKey("tokenizer"); - generator.writeStartObject(); - for (Map.Entry item0 : this.tokenizer.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettingsAnalysis}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Map analyzer; - - @Nullable - private Map charFilter; - - @Nullable - private Map filter; - - @Nullable - private Map normalizer; - - @Nullable - private Map tokenizer; - - /** - * API name: {@code analyzer} - *

    - * Adds all entries of map to analyzer. - */ - public final Builder analyzer(Map map) { - this.analyzer = _mapPutAll(this.analyzer, map); - return this; - } - - /** - * API name: {@code analyzer} - *

    - * Adds an entry to analyzer. - */ - public final Builder analyzer(String key, Analyzer value) { - this.analyzer = _mapPut(this.analyzer, key, value); - return this; - } - - /** - * API name: {@code analyzer} - *

    - * Adds an entry to analyzer using a builder lambda. - */ - public final Builder analyzer(String key, Function> fn) { - return analyzer(key, fn.apply(new Analyzer.Builder()).build()); - } - - /** - * API name: {@code char_filter} - *

    - * Adds all entries of map to charFilter. - */ - public final Builder charFilter(Map map) { - this.charFilter = _mapPutAll(this.charFilter, map); - return this; - } - - /** - * API name: {@code char_filter} - *

    - * Adds an entry to charFilter. - */ - public final Builder charFilter(String key, CharFilter value) { - this.charFilter = _mapPut(this.charFilter, key, value); - return this; - } - - /** - * API name: {@code char_filter} - *

    - * Adds an entry to charFilter using a builder lambda. - */ - public final Builder charFilter(String key, Function> fn) { - return charFilter(key, fn.apply(new CharFilter.Builder()).build()); - } - - /** - * API name: {@code filter} - *

    - * Adds all entries of map to filter. - */ - public final Builder filter(Map map) { - this.filter = _mapPutAll(this.filter, map); - return this; - } - - /** - * API name: {@code filter} - *

    - * Adds an entry to filter. - */ - public final Builder filter(String key, TokenFilter value) { - this.filter = _mapPut(this.filter, key, value); - return this; - } - - /** - * API name: {@code filter} - *

    - * Adds an entry to filter using a builder lambda. - */ - public final Builder filter(String key, Function> fn) { - return filter(key, fn.apply(new TokenFilter.Builder()).build()); - } - - /** - * API name: {@code normalizer} - *

    - * Adds all entries of map to normalizer. - */ - public final Builder normalizer(Map map) { - this.normalizer = _mapPutAll(this.normalizer, map); - return this; - } - - /** - * API name: {@code normalizer} - *

    - * Adds an entry to normalizer. - */ - public final Builder normalizer(String key, Normalizer value) { - this.normalizer = _mapPut(this.normalizer, key, value); - return this; - } - - /** - * API name: {@code normalizer} - *

    - * Adds an entry to normalizer using a builder lambda. - */ - public final Builder normalizer(String key, Function> fn) { - return normalizer(key, fn.apply(new Normalizer.Builder()).build()); - } - - /** - * API name: {@code tokenizer} - *

    - * Adds all entries of map to tokenizer. - */ - public final Builder tokenizer(Map map) { - this.tokenizer = _mapPutAll(this.tokenizer, map); - return this; - } - - /** - * API name: {@code tokenizer} - *

    - * Adds an entry to tokenizer. - */ - public final Builder tokenizer(String key, Tokenizer value) { - this.tokenizer = _mapPut(this.tokenizer, key, value); - return this; - } - - /** - * API name: {@code tokenizer} - *

    - * Adds an entry to tokenizer using a builder lambda. - */ - public final Builder tokenizer(String key, Function> fn) { - return tokenizer(key, fn.apply(new Tokenizer.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettingsAnalysis}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettingsAnalysis build() { - _checkSingleUse(); - - return new IndexSettingsAnalysis(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettingsAnalysis} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexSettingsAnalysis::setupIndexSettingsAnalysisDeserializer); - - protected static void setupIndexSettingsAnalysisDeserializer(ObjectDeserializer op) { - - op.add(Builder::analyzer, JsonpDeserializer.stringMapDeserializer(Analyzer._DESERIALIZER), "analyzer"); - op.add(Builder::charFilter, JsonpDeserializer.stringMapDeserializer(CharFilter._DESERIALIZER), "char_filter"); - op.add(Builder::filter, JsonpDeserializer.stringMapDeserializer(TokenFilter._DESERIALIZER), "filter"); - op.add(Builder::normalizer, JsonpDeserializer.stringMapDeserializer(Normalizer._DESERIALIZER), "normalizer"); - op.add(Builder::tokenizer, JsonpDeserializer.stringMapDeserializer(Tokenizer._DESERIALIZER), "tokenizer"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycle.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycle.java deleted file mode 100644 index 045ac9807..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycle.java +++ /dev/null @@ -1,367 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettingsLifecycle - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettingsLifecycle implements JsonpSerializable { - @Nullable - private final String name; - - @Nullable - private final Boolean indexingComplete; - - @Nullable - private final Long originationDate; - - @Nullable - private final Boolean parseOriginationDate; - - @Nullable - private final IndexSettingsLifecycleStep step; - - @Nullable - private final String rolloverAlias; - - // --------------------------------------------------------------------------------------------- - - private IndexSettingsLifecycle(Builder builder) { - - this.name = builder.name; - this.indexingComplete = builder.indexingComplete; - this.originationDate = builder.originationDate; - this.parseOriginationDate = builder.parseOriginationDate; - this.step = builder.step; - this.rolloverAlias = builder.rolloverAlias; - - } - - public static IndexSettingsLifecycle of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The name of the policy to use to manage the index. For information about how - * Elasticsearch applies policy changes, see Policy updates. - *

    - * API name: {@code name} - */ - @Nullable - public final String name() { - return this.name; - } - - /** - * Indicates whether or not the index has been rolled over. Automatically set to - * true when ILM completes the rollover action. You can explicitly set it to - * skip rollover. - *

    - * API name: {@code indexing_complete} - */ - @Nullable - public final Boolean indexingComplete() { - return this.indexingComplete; - } - - /** - * If specified, this is the timestamp used to calculate the index age for its - * phase transitions. Use this setting if you create a new index that contains - * old data and want to use the original creation date to calculate the index - * age. Specified as a Unix epoch value in milliseconds. - *

    - * API name: {@code origination_date} - */ - @Nullable - public final Long originationDate() { - return this.originationDate; - } - - /** - * Set to true to parse the origination date from the index name. This - * origination date is used to calculate the index age for its phase - * transitions. The index name must match the pattern ^.*-{date_format}-\d+, - * where the date_format is yyyy.MM.dd and the trailing digits are optional. An - * index that was rolled over would normally match the full format, for example - * logs-2016.10.31-000002). If the index name doesn’t match the pattern, index - * creation fails. - *

    - * API name: {@code parse_origination_date} - */ - @Nullable - public final Boolean parseOriginationDate() { - return this.parseOriginationDate; - } - - /** - * API name: {@code step} - */ - @Nullable - public final IndexSettingsLifecycleStep step() { - return this.step; - } - - /** - * The index alias to update when the index rolls over. Specify when using a - * policy that contains a rollover action. When the index rolls over, the alias - * is updated to reflect that the index is no longer the write index. For more - * information about rolling indices, see Rollover. - *

    - * API name: {@code rollover_alias} - */ - @Nullable - public final String rolloverAlias() { - return this.rolloverAlias; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.name != null) { - generator.writeKey("name"); - generator.write(this.name); - - } - if (this.indexingComplete != null) { - generator.writeKey("indexing_complete"); - generator.write(this.indexingComplete); - - } - if (this.originationDate != null) { - generator.writeKey("origination_date"); - generator.write(this.originationDate); - - } - if (this.parseOriginationDate != null) { - generator.writeKey("parse_origination_date"); - generator.write(this.parseOriginationDate); - - } - if (this.step != null) { - generator.writeKey("step"); - this.step.serialize(generator, mapper); - - } - if (this.rolloverAlias != null) { - generator.writeKey("rollover_alias"); - generator.write(this.rolloverAlias); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettingsLifecycle}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private String name; - - @Nullable - private Boolean indexingComplete; - - @Nullable - private Long originationDate; - - @Nullable - private Boolean parseOriginationDate; - - @Nullable - private IndexSettingsLifecycleStep step; - - @Nullable - private String rolloverAlias; - - /** - * The name of the policy to use to manage the index. For information about how - * Elasticsearch applies policy changes, see Policy updates. - *

    - * API name: {@code name} - */ - public final Builder name(@Nullable String value) { - this.name = value; - return this; - } - - /** - * Indicates whether or not the index has been rolled over. Automatically set to - * true when ILM completes the rollover action. You can explicitly set it to - * skip rollover. - *

    - * API name: {@code indexing_complete} - */ - public final Builder indexingComplete(@Nullable Boolean value) { - this.indexingComplete = value; - return this; - } - - /** - * If specified, this is the timestamp used to calculate the index age for its - * phase transitions. Use this setting if you create a new index that contains - * old data and want to use the original creation date to calculate the index - * age. Specified as a Unix epoch value in milliseconds. - *

    - * API name: {@code origination_date} - */ - public final Builder originationDate(@Nullable Long value) { - this.originationDate = value; - return this; - } - - /** - * Set to true to parse the origination date from the index name. This - * origination date is used to calculate the index age for its phase - * transitions. The index name must match the pattern ^.*-{date_format}-\d+, - * where the date_format is yyyy.MM.dd and the trailing digits are optional. An - * index that was rolled over would normally match the full format, for example - * logs-2016.10.31-000002). If the index name doesn’t match the pattern, index - * creation fails. - *

    - * API name: {@code parse_origination_date} - */ - public final Builder parseOriginationDate(@Nullable Boolean value) { - this.parseOriginationDate = value; - return this; - } - - /** - * API name: {@code step} - */ - public final Builder step(@Nullable IndexSettingsLifecycleStep value) { - this.step = value; - return this; - } - - /** - * API name: {@code step} - */ - public final Builder step( - Function> fn) { - return this.step(fn.apply(new IndexSettingsLifecycleStep.Builder()).build()); - } - - /** - * The index alias to update when the index rolls over. Specify when using a - * policy that contains a rollover action. When the index rolls over, the alias - * is updated to reflect that the index is no longer the write index. For more - * information about rolling indices, see Rollover. - *

    - * API name: {@code rollover_alias} - */ - public final Builder rolloverAlias(@Nullable String value) { - this.rolloverAlias = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettingsLifecycle}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettingsLifecycle build() { - _checkSingleUse(); - - return new IndexSettingsLifecycle(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettingsLifecycle} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexSettingsLifecycle::setupIndexSettingsLifecycleDeserializer); - - protected static void setupIndexSettingsLifecycleDeserializer( - ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::indexingComplete, JsonpDeserializer.booleanDeserializer(), "indexing_complete"); - op.add(Builder::originationDate, JsonpDeserializer.longDeserializer(), "origination_date"); - op.add(Builder::parseOriginationDate, JsonpDeserializer.booleanDeserializer(), "parse_origination_date"); - op.add(Builder::step, IndexSettingsLifecycleStep._DESERIALIZER, "step"); - op.add(Builder::rolloverAlias, JsonpDeserializer.stringDeserializer(), "rollover_alias"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycleStep.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycleStep.java deleted file mode 100644 index d48d7e19d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsLifecycleStep.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettingsLifecycleStep - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettingsLifecycleStep implements JsonpSerializable { - @Nullable - private final Time waitTimeThreshold; - - // --------------------------------------------------------------------------------------------- - - private IndexSettingsLifecycleStep(Builder builder) { - - this.waitTimeThreshold = builder.waitTimeThreshold; - - } - - public static IndexSettingsLifecycleStep of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Time to wait for the cluster to resolve allocation issues during an ILM - * shrink action. Must be greater than 1h (1 hour). See Shard allocation for - * shrink. - *

    - * API name: {@code wait_time_threshold} - */ - @Nullable - public final Time waitTimeThreshold() { - return this.waitTimeThreshold; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.waitTimeThreshold != null) { - generator.writeKey("wait_time_threshold"); - this.waitTimeThreshold.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettingsLifecycleStep}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time waitTimeThreshold; - - /** - * Time to wait for the cluster to resolve allocation issues during an ILM - * shrink action. Must be greater than 1h (1 hour). See Shard allocation for - * shrink. - *

    - * API name: {@code wait_time_threshold} - */ - public final Builder waitTimeThreshold(@Nullable Time value) { - this.waitTimeThreshold = value; - return this; - } - - /** - * Time to wait for the cluster to resolve allocation issues during an ILM - * shrink action. Must be greater than 1h (1 hour). See Shard allocation for - * shrink. - *

    - * API name: {@code wait_time_threshold} - */ - public final Builder waitTimeThreshold(Function> fn) { - return this.waitTimeThreshold(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettingsLifecycleStep}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettingsLifecycleStep build() { - _checkSingleUse(); - - return new IndexSettingsLifecycleStep(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettingsLifecycleStep} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexSettingsLifecycleStep::setupIndexSettingsLifecycleStepDeserializer); - - protected static void setupIndexSettingsLifecycleStepDeserializer( - ObjectDeserializer op) { - - op.add(Builder::waitTimeThreshold, Time._DESERIALIZER, "wait_time_threshold"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsTimeSeries.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsTimeSeries.java deleted file mode 100644 index 85d2288cf..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexSettingsTimeSeries.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.DateTime; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexSettingsTimeSeries - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexSettingsTimeSeries implements JsonpSerializable { - @Nullable - private final DateTime endTime; - - @Nullable - private final DateTime startTime; - - // --------------------------------------------------------------------------------------------- - - private IndexSettingsTimeSeries(Builder builder) { - - this.endTime = builder.endTime; - this.startTime = builder.startTime; - - } - - public static IndexSettingsTimeSeries of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code end_time} - */ - @Nullable - public final DateTime endTime() { - return this.endTime; - } - - /** - * API name: {@code start_time} - */ - @Nullable - public final DateTime startTime() { - return this.startTime; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.endTime != null) { - generator.writeKey("end_time"); - this.endTime.serialize(generator, mapper); - } - if (this.startTime != null) { - generator.writeKey("start_time"); - this.startTime.serialize(generator, mapper); - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexSettingsTimeSeries}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private DateTime endTime; - - @Nullable - private DateTime startTime; - - /** - * API name: {@code end_time} - */ - public final Builder endTime(@Nullable DateTime value) { - this.endTime = value; - return this; - } - - /** - * API name: {@code start_time} - */ - public final Builder startTime(@Nullable DateTime value) { - this.startTime = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexSettingsTimeSeries}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexSettingsTimeSeries build() { - _checkSingleUse(); - - return new IndexSettingsTimeSeries(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexSettingsTimeSeries} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexSettingsTimeSeries::setupIndexSettingsTimeSeriesDeserializer); - - protected static void setupIndexSettingsTimeSeriesDeserializer( - ObjectDeserializer op) { - - op.add(Builder::endTime, DateTime._DESERIALIZER, "end_time"); - op.add(Builder::startTime, DateTime._DESERIALIZER, "start_time"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexState.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexState.java deleted file mode 100644 index b787c554a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexState.java +++ /dev/null @@ -1,374 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexState - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexState implements JsonpSerializable { - private final Map aliases; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final IndexSettings defaults; - - @Nullable - private final String dataStream; - - @Nullable - private final DataStreamLifecycle lifecycle; - - // --------------------------------------------------------------------------------------------- - - private IndexState(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.mappings = builder.mappings; - this.settings = builder.settings; - this.defaults = builder.defaults; - this.dataStream = builder.dataStream; - this.lifecycle = builder.lifecycle; - - } - - public static IndexState of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * Default settings, included when the request's include_default is - * true. - *

    - * API name: {@code defaults} - */ - @Nullable - public final IndexSettings defaults() { - return this.defaults; - } - - /** - * API name: {@code data_stream} - */ - @Nullable - public final String dataStream() { - return this.dataStream; - } - - /** - * Data stream lifecycle applicable if this is a data stream. - *

    - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycle lifecycle() { - return this.lifecycle; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - if (this.defaults != null) { - generator.writeKey("defaults"); - this.defaults.serialize(generator, mapper); - - } - if (this.dataStream != null) { - generator.writeKey("data_stream"); - generator.write(this.dataStream); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexState}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Map aliases; - - @Nullable - private TypeMapping mappings; - - @Nullable - private IndexSettings settings; - - @Nullable - private IndexSettings defaults; - - @Nullable - private String dataStream; - - @Nullable - private DataStreamLifecycle lifecycle; - - /** - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * Default settings, included when the request's include_default is - * true. - *

    - * API name: {@code defaults} - */ - public final Builder defaults(@Nullable IndexSettings value) { - this.defaults = value; - return this; - } - - /** - * Default settings, included when the request's include_default is - * true. - *

    - * API name: {@code defaults} - */ - public final Builder defaults(Function> fn) { - return this.defaults(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * API name: {@code data_stream} - */ - public final Builder dataStream(@Nullable String value) { - this.dataStream = value; - return this; - } - - /** - * Data stream lifecycle applicable if this is a data stream. - *

    - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycle value) { - this.lifecycle = value; - return this; - } - - /** - * Data stream lifecycle applicable if this is a data stream. - *

    - * API name: {@code lifecycle} - */ - public final Builder lifecycle(Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycle.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexState}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexState build() { - _checkSingleUse(); - - return new IndexState(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexState} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexState::setupIndexStateDeserializer); - - protected static void setupIndexStateDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - op.add(Builder::defaults, IndexSettings._DESERIALIZER, "defaults"); - op.add(Builder::dataStream, JsonpDeserializer.stringDeserializer(), "data_stream"); - op.add(Builder::lifecycle, DataStreamLifecycle._DESERIALIZER, "lifecycle"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java deleted file mode 100644 index 638061f29..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplate.java +++ /dev/null @@ -1,494 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexTemplate - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexTemplate implements JsonpSerializable { - private final List indexPatterns; - - private final List composedOf; - - @Nullable - private final IndexTemplateSummary template; - - @Nullable - private final Long version; - - @Nullable - private final Long priority; - - private final Map meta; - - @Nullable - private final Boolean allowAutoCreate; - - @Nullable - private final IndexTemplateDataStreamConfiguration dataStream; - - // --------------------------------------------------------------------------------------------- - - private IndexTemplate(Builder builder) { - - this.indexPatterns = ApiTypeHelper.unmodifiableRequired(builder.indexPatterns, this, "indexPatterns"); - this.composedOf = ApiTypeHelper.unmodifiableRequired(builder.composedOf, this, "composedOf"); - this.template = builder.template; - this.version = builder.version; - this.priority = builder.priority; - this.meta = ApiTypeHelper.unmodifiable(builder.meta); - this.allowAutoCreate = builder.allowAutoCreate; - this.dataStream = builder.dataStream; - - } - - public static IndexTemplate of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Name of the index template. - *

    - * API name: {@code index_patterns} - */ - public final List indexPatterns() { - return this.indexPatterns; - } - - /** - * Required - An ordered list of component template names. Component templates - * are merged in the order specified, meaning that the last component template - * specified has the highest precedence. - *

    - * API name: {@code composed_of} - */ - public final List composedOf() { - return this.composedOf; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - @Nullable - public final IndexTemplateSummary template() { - return this.template; - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - @Nullable - public final Long version() { - return this.version; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - @Nullable - public final Long priority() { - return this.priority; - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - */ - public final Map meta() { - return this.meta; - } - - /** - * API name: {@code allow_auto_create} - */ - @Nullable - public final Boolean allowAutoCreate() { - return this.allowAutoCreate; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - @Nullable - public final IndexTemplateDataStreamConfiguration dataStream() { - return this.dataStream; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.indexPatterns)) { - generator.writeKey("index_patterns"); - generator.writeStartArray(); - for (String item0 : this.indexPatterns) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.composedOf)) { - generator.writeKey("composed_of"); - generator.writeStartArray(); - for (String item0 : this.composedOf) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.template != null) { - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - if (this.version != null) { - generator.writeKey("version"); - generator.write(this.version); - - } - if (this.priority != null) { - generator.writeKey("priority"); - generator.write(this.priority); - - } - if (ApiTypeHelper.isDefined(this.meta)) { - generator.writeKey("_meta"); - generator.writeStartObject(); - for (Map.Entry item0 : this.meta.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.allowAutoCreate != null) { - generator.writeKey("allow_auto_create"); - generator.write(this.allowAutoCreate); - - } - if (this.dataStream != null) { - generator.writeKey("data_stream"); - this.dataStream.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexTemplate}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List indexPatterns; - - private List composedOf; - - @Nullable - private IndexTemplateSummary template; - - @Nullable - private Long version; - - @Nullable - private Long priority; - - @Nullable - private Map meta; - - @Nullable - private Boolean allowAutoCreate; - - @Nullable - private IndexTemplateDataStreamConfiguration dataStream; - - /** - * Required - Name of the index template. - *

    - * API name: {@code index_patterns} - *

    - * Adds all elements of list to indexPatterns. - */ - public final Builder indexPatterns(List list) { - this.indexPatterns = _listAddAll(this.indexPatterns, list); - return this; - } - - /** - * Required - Name of the index template. - *

    - * API name: {@code index_patterns} - *

    - * Adds one or more values to indexPatterns. - */ - public final Builder indexPatterns(String value, String... values) { - this.indexPatterns = _listAdd(this.indexPatterns, value, values); - return this; - } - - /** - * Required - An ordered list of component template names. Component templates - * are merged in the order specified, meaning that the last component template - * specified has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds all elements of list to composedOf. - */ - public final Builder composedOf(List list) { - this.composedOf = _listAddAll(this.composedOf, list); - return this; - } - - /** - * Required - An ordered list of component template names. Component templates - * are merged in the order specified, meaning that the last component template - * specified has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds one or more values to composedOf. - */ - public final Builder composedOf(String value, String... values) { - this.composedOf = _listAdd(this.composedOf, value, values); - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(@Nullable IndexTemplateSummary value) { - this.template = value; - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(Function> fn) { - return this.template(fn.apply(new IndexTemplateSummary.Builder()).build()); - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - public final Builder version(@Nullable Long value) { - this.version = value; - return this; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - public final Builder priority(@Nullable Long value) { - this.priority = value; - return this; - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds all entries of map to meta. - */ - public final Builder meta(Map map) { - this.meta = _mapPutAll(this.meta, map); - return this; - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds an entry to meta. - */ - public final Builder meta(String key, JsonData value) { - this.meta = _mapPut(this.meta, key, value); - return this; - } - - /** - * API name: {@code allow_auto_create} - */ - public final Builder allowAutoCreate(@Nullable Boolean value) { - this.allowAutoCreate = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream(@Nullable IndexTemplateDataStreamConfiguration value) { - this.dataStream = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream( - Function> fn) { - return this.dataStream(fn.apply(new IndexTemplateDataStreamConfiguration.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexTemplate}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexTemplate build() { - _checkSingleUse(); - - return new IndexTemplate(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexTemplate} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexTemplate::setupIndexTemplateDeserializer); - - protected static void setupIndexTemplateDeserializer(ObjectDeserializer op) { - - op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "index_patterns"); - op.add(Builder::composedOf, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "composed_of"); - op.add(Builder::template, IndexTemplateSummary._DESERIALIZER, "template"); - op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version"); - op.add(Builder::priority, JsonpDeserializer.longDeserializer(), "priority"); - op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); - op.add(Builder::allowAutoCreate, JsonpDeserializer.booleanDeserializer(), "allow_auto_create"); - op.add(Builder::dataStream, IndexTemplateDataStreamConfiguration._DESERIALIZER, "data_stream"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateDataStreamConfiguration.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateDataStreamConfiguration.java deleted file mode 100644 index db010925a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateDataStreamConfiguration.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexTemplateDataStreamConfiguration - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexTemplateDataStreamConfiguration implements JsonpSerializable { - @Nullable - private final Boolean hidden; - - @Nullable - private final Boolean allowCustomRouting; - - // --------------------------------------------------------------------------------------------- - - private IndexTemplateDataStreamConfiguration(Builder builder) { - - this.hidden = builder.hidden; - this.allowCustomRouting = builder.allowCustomRouting; - - } - - public static IndexTemplateDataStreamConfiguration of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If true, the data stream is hidden. - *

    - * API name: {@code hidden} - */ - @Nullable - public final Boolean hidden() { - return this.hidden; - } - - /** - * If true, the data stream supports custom routing. - *

    - * API name: {@code allow_custom_routing} - */ - @Nullable - public final Boolean allowCustomRouting() { - return this.allowCustomRouting; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.hidden != null) { - generator.writeKey("hidden"); - generator.write(this.hidden); - - } - if (this.allowCustomRouting != null) { - generator.writeKey("allow_custom_routing"); - generator.write(this.allowCustomRouting); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexTemplateDataStreamConfiguration}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Boolean hidden; - - @Nullable - private Boolean allowCustomRouting; - - /** - * If true, the data stream is hidden. - *

    - * API name: {@code hidden} - */ - public final Builder hidden(@Nullable Boolean value) { - this.hidden = value; - return this; - } - - /** - * If true, the data stream supports custom routing. - *

    - * API name: {@code allow_custom_routing} - */ - public final Builder allowCustomRouting(@Nullable Boolean value) { - this.allowCustomRouting = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexTemplateDataStreamConfiguration}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexTemplateDataStreamConfiguration build() { - _checkSingleUse(); - - return new IndexTemplateDataStreamConfiguration(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexTemplateDataStreamConfiguration} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, - IndexTemplateDataStreamConfiguration::setupIndexTemplateDataStreamConfigurationDeserializer); - - protected static void setupIndexTemplateDataStreamConfigurationDeserializer( - ObjectDeserializer op) { - - op.add(Builder::hidden, JsonpDeserializer.booleanDeserializer(), "hidden"); - op.add(Builder::allowCustomRouting, JsonpDeserializer.booleanDeserializer(), "allow_custom_routing"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateSummary.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateSummary.java deleted file mode 100644 index cccd8686e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexTemplateSummary.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexTemplateSummary - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexTemplateSummary implements JsonpSerializable { - private final Map aliases; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final DataStreamLifecycleWithRollover lifecycle; - - // --------------------------------------------------------------------------------------------- - - private IndexTemplateSummary(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.mappings = builder.mappings; - this.settings = builder.settings; - this.lifecycle = builder.lifecycle; - - } - - public static IndexTemplateSummary of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycleWithRollover lifecycle() { - return this.lifecycle; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexTemplateSummary}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Map aliases; - - @Nullable - private TypeMapping mappings; - - @Nullable - private IndexSettings settings; - - @Nullable - private DataStreamLifecycleWithRollover lifecycle; - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycleWithRollover value) { - this.lifecycle = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle( - Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycleWithRollover.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexTemplateSummary}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexTemplateSummary build() { - _checkSingleUse(); - - return new IndexTemplateSummary(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexTemplateSummary} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexTemplateSummary::setupIndexTemplateSummaryDeserializer); - - protected static void setupIndexTemplateSummaryDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - op.add(Builder::lifecycle, DataStreamLifecycleWithRollover._DESERIALIZER, "lifecycle"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexVersioning.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexVersioning.java deleted file mode 100644 index 5a3a1527a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexVersioning.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexVersioning - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexVersioning implements JsonpSerializable { - @Nullable - private final String created; - - @Nullable - private final String createdString; - - // --------------------------------------------------------------------------------------------- - - private IndexVersioning(Builder builder) { - - this.created = builder.created; - this.createdString = builder.createdString; - - } - - public static IndexVersioning of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code created} - */ - @Nullable - public final String created() { - return this.created; - } - - /** - * API name: {@code created_string} - */ - @Nullable - public final String createdString() { - return this.createdString; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.created != null) { - generator.writeKey("created"); - generator.write(this.created); - - } - if (this.createdString != null) { - generator.writeKey("created_string"); - generator.write(this.createdString); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexVersioning}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private String created; - - @Nullable - private String createdString; - - /** - * API name: {@code created} - */ - public final Builder created(@Nullable String value) { - this.created = value; - return this; - } - - /** - * API name: {@code created_string} - */ - public final Builder createdString(@Nullable String value) { - this.createdString = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexVersioning}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexVersioning build() { - _checkSingleUse(); - - return new IndexVersioning(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexVersioning} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexVersioning::setupIndexVersioningDeserializer); - - protected static void setupIndexVersioningDeserializer(ObjectDeserializer op) { - - op.add(Builder::created, JsonpDeserializer.stringDeserializer(), "created"); - op.add(Builder::createdString, JsonpDeserializer.stringDeserializer(), "created_string"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressure.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressure.java deleted file mode 100644 index 5d51352ce..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressure.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexingPressure - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexingPressure implements JsonpSerializable { - private final IndexingPressureMemory memory; - - // --------------------------------------------------------------------------------------------- - - private IndexingPressure(Builder builder) { - - this.memory = ApiTypeHelper.requireNonNull(builder.memory, this, "memory"); - - } - - public static IndexingPressure of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code memory} - */ - public final IndexingPressureMemory memory() { - return this.memory; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("memory"); - this.memory.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexingPressure}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private IndexingPressureMemory memory; - - /** - * Required - API name: {@code memory} - */ - public final Builder memory(IndexingPressureMemory value) { - this.memory = value; - return this; - } - - /** - * Required - API name: {@code memory} - */ - public final Builder memory( - Function> fn) { - return this.memory(fn.apply(new IndexingPressureMemory.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexingPressure}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexingPressure build() { - _checkSingleUse(); - - return new IndexingPressure(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexingPressure} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexingPressure::setupIndexingPressureDeserializer); - - protected static void setupIndexingPressureDeserializer(ObjectDeserializer op) { - - op.add(Builder::memory, IndexingPressureMemory._DESERIALIZER, "memory"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressureMemory.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressureMemory.java deleted file mode 100644 index bba23689f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingPressureMemory.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexingPressureMemory - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexingPressureMemory implements JsonpSerializable { - @Nullable - private final Integer limit; - - // --------------------------------------------------------------------------------------------- - - private IndexingPressureMemory(Builder builder) { - - this.limit = builder.limit; - - } - - public static IndexingPressureMemory of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Number of outstanding bytes that may be consumed by indexing requests. When - * this limit is reached or exceeded, the node will reject new coordinating and - * primary operations. When replica operations consume 1.5x this limit, the node - * will reject new replica operations. Defaults to 10% of the heap. - *

    - * API name: {@code limit} - */ - @Nullable - public final Integer limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexingPressureMemory}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Integer limit; - - /** - * Number of outstanding bytes that may be consumed by indexing requests. When - * this limit is reached or exceeded, the node will reject new coordinating and - * primary operations. When replica operations consume 1.5x this limit, the node - * will reject new replica operations. Defaults to 10% of the heap. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Integer value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexingPressureMemory}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexingPressureMemory build() { - _checkSingleUse(); - - return new IndexingPressureMemory(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexingPressureMemory} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexingPressureMemory::setupIndexingPressureMemoryDeserializer); - - protected static void setupIndexingPressureMemoryDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.integerDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogSettings.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogSettings.java deleted file mode 100644 index abb2011eb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogSettings.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexingSlowlogSettings - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexingSlowlogSettings implements JsonpSerializable { - @Nullable - private final String level; - - @Nullable - private final Integer source; - - @Nullable - private final Boolean reformat; - - @Nullable - private final IndexingSlowlogTresholds threshold; - - // --------------------------------------------------------------------------------------------- - - private IndexingSlowlogSettings(Builder builder) { - - this.level = builder.level; - this.source = builder.source; - this.reformat = builder.reformat; - this.threshold = builder.threshold; - - } - - public static IndexingSlowlogSettings of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code level} - */ - @Nullable - public final String level() { - return this.level; - } - - /** - * API name: {@code source} - */ - @Nullable - public final Integer source() { - return this.source; - } - - /** - * API name: {@code reformat} - */ - @Nullable - public final Boolean reformat() { - return this.reformat; - } - - /** - * API name: {@code threshold} - */ - @Nullable - public final IndexingSlowlogTresholds threshold() { - return this.threshold; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.level != null) { - generator.writeKey("level"); - generator.write(this.level); - - } - if (this.source != null) { - generator.writeKey("source"); - generator.write(this.source); - - } - if (this.reformat != null) { - generator.writeKey("reformat"); - generator.write(this.reformat); - - } - if (this.threshold != null) { - generator.writeKey("threshold"); - this.threshold.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexingSlowlogSettings}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private String level; - - @Nullable - private Integer source; - - @Nullable - private Boolean reformat; - - @Nullable - private IndexingSlowlogTresholds threshold; - - /** - * API name: {@code level} - */ - public final Builder level(@Nullable String value) { - this.level = value; - return this; - } - - /** - * API name: {@code source} - */ - public final Builder source(@Nullable Integer value) { - this.source = value; - return this; - } - - /** - * API name: {@code reformat} - */ - public final Builder reformat(@Nullable Boolean value) { - this.reformat = value; - return this; - } - - /** - * API name: {@code threshold} - */ - public final Builder threshold(@Nullable IndexingSlowlogTresholds value) { - this.threshold = value; - return this; - } - - /** - * API name: {@code threshold} - */ - public final Builder threshold( - Function> fn) { - return this.threshold(fn.apply(new IndexingSlowlogTresholds.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexingSlowlogSettings}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexingSlowlogSettings build() { - _checkSingleUse(); - - return new IndexingSlowlogSettings(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexingSlowlogSettings} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexingSlowlogSettings::setupIndexingSlowlogSettingsDeserializer); - - protected static void setupIndexingSlowlogSettingsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::level, JsonpDeserializer.stringDeserializer(), "level"); - op.add(Builder::source, JsonpDeserializer.integerDeserializer(), "source"); - op.add(Builder::reformat, JsonpDeserializer.booleanDeserializer(), "reformat"); - op.add(Builder::threshold, IndexingSlowlogTresholds._DESERIALIZER, "threshold"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogTresholds.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogTresholds.java deleted file mode 100644 index b46b97a73..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/IndexingSlowlogTresholds.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.IndexingSlowlogTresholds - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexingSlowlogTresholds implements JsonpSerializable { - @Nullable - private final SlowlogTresholdLevels index; - - // --------------------------------------------------------------------------------------------- - - private IndexingSlowlogTresholds(Builder builder) { - - this.index = builder.index; - - } - - public static IndexingSlowlogTresholds of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The indexing slow log, similar in functionality to the search slow log. The - * log file name ends with _index_indexing_slowlog.json. Log and - * the thresholds are configured in the same way as the search slowlog. - *

    - * API name: {@code index} - */ - @Nullable - public final SlowlogTresholdLevels index() { - return this.index; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.index != null) { - generator.writeKey("index"); - this.index.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexingSlowlogTresholds}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private SlowlogTresholdLevels index; - - /** - * The indexing slow log, similar in functionality to the search slow log. The - * log file name ends with _index_indexing_slowlog.json. Log and - * the thresholds are configured in the same way as the search slowlog. - *

    - * API name: {@code index} - */ - public final Builder index(@Nullable SlowlogTresholdLevels value) { - this.index = value; - return this; - } - - /** - * The indexing slow log, similar in functionality to the search slow log. The - * log file name ends with _index_indexing_slowlog.json. Log and - * the thresholds are configured in the same way as the search slowlog. - *

    - * API name: {@code index} - */ - public final Builder index(Function> fn) { - return this.index(fn.apply(new SlowlogTresholdLevels.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexingSlowlogTresholds}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexingSlowlogTresholds build() { - _checkSingleUse(); - - return new IndexingSlowlogTresholds(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexingSlowlogTresholds} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexingSlowlogTresholds::setupIndexingSlowlogTresholdsDeserializer); - - protected static void setupIndexingSlowlogTresholdsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::index, SlowlogTresholdLevels._DESERIALIZER, "index"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ManagedBy.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ManagedBy.java deleted file mode 100644 index e76a4cd5c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ManagedBy.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum ManagedBy implements JsonEnum { - Ilm("Index Lifecycle Management"), - - Datastream("Data stream lifecycle"), - - Unmanaged("Unmanaged"), - - ; - - private final String jsonValue; - - ManagedBy(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - ManagedBy.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java deleted file mode 100644 index f6848141d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettings.java +++ /dev/null @@ -1,416 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettings - -/** - * Mapping Limit Settings - * - * @see Documentation - * on elastic.co - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettings implements JsonpSerializable { - @Nullable - private final Boolean coerce; - - @Nullable - private final MappingLimitSettingsTotalFields totalFields; - - @Nullable - private final MappingLimitSettingsDepth depth; - - @Nullable - private final MappingLimitSettingsNestedFields nestedFields; - - @Nullable - private final MappingLimitSettingsNestedObjects nestedObjects; - - @Nullable - private final MappingLimitSettingsFieldNameLength fieldNameLength; - - @Nullable - private final MappingLimitSettingsDimensionFields dimensionFields; - - @Nullable - private final Boolean ignoreMalformed; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettings(Builder builder) { - - this.coerce = builder.coerce; - this.totalFields = builder.totalFields; - this.depth = builder.depth; - this.nestedFields = builder.nestedFields; - this.nestedObjects = builder.nestedObjects; - this.fieldNameLength = builder.fieldNameLength; - this.dimensionFields = builder.dimensionFields; - this.ignoreMalformed = builder.ignoreMalformed; - - } - - public static MappingLimitSettings of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code coerce} - */ - @Nullable - public final Boolean coerce() { - return this.coerce; - } - - /** - * API name: {@code total_fields} - */ - @Nullable - public final MappingLimitSettingsTotalFields totalFields() { - return this.totalFields; - } - - /** - * API name: {@code depth} - */ - @Nullable - public final MappingLimitSettingsDepth depth() { - return this.depth; - } - - /** - * API name: {@code nested_fields} - */ - @Nullable - public final MappingLimitSettingsNestedFields nestedFields() { - return this.nestedFields; - } - - /** - * API name: {@code nested_objects} - */ - @Nullable - public final MappingLimitSettingsNestedObjects nestedObjects() { - return this.nestedObjects; - } - - /** - * API name: {@code field_name_length} - */ - @Nullable - public final MappingLimitSettingsFieldNameLength fieldNameLength() { - return this.fieldNameLength; - } - - /** - * API name: {@code dimension_fields} - */ - @Nullable - public final MappingLimitSettingsDimensionFields dimensionFields() { - return this.dimensionFields; - } - - /** - * API name: {@code ignore_malformed} - */ - @Nullable - public final Boolean ignoreMalformed() { - return this.ignoreMalformed; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.coerce != null) { - generator.writeKey("coerce"); - generator.write(this.coerce); - - } - if (this.totalFields != null) { - generator.writeKey("total_fields"); - this.totalFields.serialize(generator, mapper); - - } - if (this.depth != null) { - generator.writeKey("depth"); - this.depth.serialize(generator, mapper); - - } - if (this.nestedFields != null) { - generator.writeKey("nested_fields"); - this.nestedFields.serialize(generator, mapper); - - } - if (this.nestedObjects != null) { - generator.writeKey("nested_objects"); - this.nestedObjects.serialize(generator, mapper); - - } - if (this.fieldNameLength != null) { - generator.writeKey("field_name_length"); - this.fieldNameLength.serialize(generator, mapper); - - } - if (this.dimensionFields != null) { - generator.writeKey("dimension_fields"); - this.dimensionFields.serialize(generator, mapper); - - } - if (this.ignoreMalformed != null) { - generator.writeKey("ignore_malformed"); - generator.write(this.ignoreMalformed); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettings}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Boolean coerce; - - @Nullable - private MappingLimitSettingsTotalFields totalFields; - - @Nullable - private MappingLimitSettingsDepth depth; - - @Nullable - private MappingLimitSettingsNestedFields nestedFields; - - @Nullable - private MappingLimitSettingsNestedObjects nestedObjects; - - @Nullable - private MappingLimitSettingsFieldNameLength fieldNameLength; - - @Nullable - private MappingLimitSettingsDimensionFields dimensionFields; - - @Nullable - private Boolean ignoreMalformed; - - /** - * API name: {@code coerce} - */ - public final Builder coerce(@Nullable Boolean value) { - this.coerce = value; - return this; - } - - /** - * API name: {@code total_fields} - */ - public final Builder totalFields(@Nullable MappingLimitSettingsTotalFields value) { - this.totalFields = value; - return this; - } - - /** - * API name: {@code total_fields} - */ - public final Builder totalFields( - Function> fn) { - return this.totalFields(fn.apply(new MappingLimitSettingsTotalFields.Builder()).build()); - } - - /** - * API name: {@code depth} - */ - public final Builder depth(@Nullable MappingLimitSettingsDepth value) { - this.depth = value; - return this; - } - - /** - * API name: {@code depth} - */ - public final Builder depth( - Function> fn) { - return this.depth(fn.apply(new MappingLimitSettingsDepth.Builder()).build()); - } - - /** - * API name: {@code nested_fields} - */ - public final Builder nestedFields(@Nullable MappingLimitSettingsNestedFields value) { - this.nestedFields = value; - return this; - } - - /** - * API name: {@code nested_fields} - */ - public final Builder nestedFields( - Function> fn) { - return this.nestedFields(fn.apply(new MappingLimitSettingsNestedFields.Builder()).build()); - } - - /** - * API name: {@code nested_objects} - */ - public final Builder nestedObjects(@Nullable MappingLimitSettingsNestedObjects value) { - this.nestedObjects = value; - return this; - } - - /** - * API name: {@code nested_objects} - */ - public final Builder nestedObjects( - Function> fn) { - return this.nestedObjects(fn.apply(new MappingLimitSettingsNestedObjects.Builder()).build()); - } - - /** - * API name: {@code field_name_length} - */ - public final Builder fieldNameLength(@Nullable MappingLimitSettingsFieldNameLength value) { - this.fieldNameLength = value; - return this; - } - - /** - * API name: {@code field_name_length} - */ - public final Builder fieldNameLength( - Function> fn) { - return this.fieldNameLength(fn.apply(new MappingLimitSettingsFieldNameLength.Builder()).build()); - } - - /** - * API name: {@code dimension_fields} - */ - public final Builder dimensionFields(@Nullable MappingLimitSettingsDimensionFields value) { - this.dimensionFields = value; - return this; - } - - /** - * API name: {@code dimension_fields} - */ - public final Builder dimensionFields( - Function> fn) { - return this.dimensionFields(fn.apply(new MappingLimitSettingsDimensionFields.Builder()).build()); - } - - /** - * API name: {@code ignore_malformed} - */ - public final Builder ignoreMalformed(@Nullable Boolean value) { - this.ignoreMalformed = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettings}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettings build() { - _checkSingleUse(); - - return new MappingLimitSettings(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettings} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MappingLimitSettings::setupMappingLimitSettingsDeserializer); - - protected static void setupMappingLimitSettingsDeserializer(ObjectDeserializer op) { - - op.add(Builder::coerce, JsonpDeserializer.booleanDeserializer(), "coerce"); - op.add(Builder::totalFields, MappingLimitSettingsTotalFields._DESERIALIZER, "total_fields"); - op.add(Builder::depth, MappingLimitSettingsDepth._DESERIALIZER, "depth"); - op.add(Builder::nestedFields, MappingLimitSettingsNestedFields._DESERIALIZER, "nested_fields"); - op.add(Builder::nestedObjects, MappingLimitSettingsNestedObjects._DESERIALIZER, "nested_objects"); - op.add(Builder::fieldNameLength, MappingLimitSettingsFieldNameLength._DESERIALIZER, "field_name_length"); - op.add(Builder::dimensionFields, MappingLimitSettingsDimensionFields._DESERIALIZER, "dimension_fields"); - op.add(Builder::ignoreMalformed, JsonpDeserializer.booleanDeserializer(), "ignore_malformed"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDepth.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDepth.java deleted file mode 100644 index 61b93c9ce..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDepth.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsDepth - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsDepth implements JsonpSerializable { - @Nullable - private final Long limit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsDepth(Builder builder) { - - this.limit = builder.limit; - - } - - public static MappingLimitSettingsDepth of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The maximum depth for a field, which is measured as the number of inner - * objects. For instance, if all fields are defined at the root object level, - * then the depth is 1. If there is one object mapping, then the depth is 2, - * etc. - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsDepth}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - /** - * The maximum depth for a field, which is measured as the number of inner - * objects. For instance, if all fields are defined at the root object level, - * then the depth is 1. If there is one object mapping, then the depth is 2, - * etc. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsDepth}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsDepth build() { - _checkSingleUse(); - - return new MappingLimitSettingsDepth(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsDepth} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MappingLimitSettingsDepth::setupMappingLimitSettingsDepthDeserializer); - - protected static void setupMappingLimitSettingsDepthDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDimensionFields.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDimensionFields.java deleted file mode 100644 index 52de5458e..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsDimensionFields.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsDimensionFields - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsDimensionFields implements JsonpSerializable { - @Nullable - private final Long limit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsDimensionFields(Builder builder) { - - this.limit = builder.limit; - - } - - public static MappingLimitSettingsDimensionFields of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * [preview] This functionality is in technical preview and may be changed or - * removed in a future release. Elastic will work to fix any issues, but - * features in technical preview are not subject to the support SLA of official - * GA features. - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsDimensionFields}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - /** - * [preview] This functionality is in technical preview and may be changed or - * removed in a future release. Elastic will work to fix any issues, but - * features in technical preview are not subject to the support SLA of official - * GA features. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsDimensionFields}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsDimensionFields build() { - _checkSingleUse(); - - return new MappingLimitSettingsDimensionFields(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsDimensionFields} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, - MappingLimitSettingsDimensionFields::setupMappingLimitSettingsDimensionFieldsDeserializer); - - protected static void setupMappingLimitSettingsDimensionFieldsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsFieldNameLength.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsFieldNameLength.java deleted file mode 100644 index d268bd7f0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsFieldNameLength.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsFieldNameLength - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsFieldNameLength implements JsonpSerializable { - @Nullable - private final Long limit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsFieldNameLength(Builder builder) { - - this.limit = builder.limit; - - } - - public static MappingLimitSettingsFieldNameLength of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Setting for the maximum length of a field name. This setting isn’t really - * something that addresses mappings explosion but might still be useful if you - * want to limit the field length. It usually shouldn’t be necessary to set this - * setting. The default is okay unless a user starts to add a huge number of - * fields with really long names. Default is Long.MAX_VALUE (no - * limit). - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsFieldNameLength}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - /** - * Setting for the maximum length of a field name. This setting isn’t really - * something that addresses mappings explosion but might still be useful if you - * want to limit the field length. It usually shouldn’t be necessary to set this - * setting. The default is okay unless a user starts to add a huge number of - * fields with really long names. Default is Long.MAX_VALUE (no - * limit). - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsFieldNameLength}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsFieldNameLength build() { - _checkSingleUse(); - - return new MappingLimitSettingsFieldNameLength(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsFieldNameLength} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, - MappingLimitSettingsFieldNameLength::setupMappingLimitSettingsFieldNameLengthDeserializer); - - protected static void setupMappingLimitSettingsFieldNameLengthDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedFields.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedFields.java deleted file mode 100644 index 7bff31845..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedFields.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsNestedFields - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsNestedFields implements JsonpSerializable { - @Nullable - private final Long limit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsNestedFields(Builder builder) { - - this.limit = builder.limit; - - } - - public static MappingLimitSettingsNestedFields of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The maximum number of distinct nested mappings in an index. The nested type - * should only be used in special cases, when arrays of objects need to be - * queried independently of each other. To safeguard against poorly designed - * mappings, this setting limits the number of unique nested types per index. - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsNestedFields}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - /** - * The maximum number of distinct nested mappings in an index. The nested type - * should only be used in special cases, when arrays of objects need to be - * queried independently of each other. To safeguard against poorly designed - * mappings, this setting limits the number of unique nested types per index. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsNestedFields}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsNestedFields build() { - _checkSingleUse(); - - return new MappingLimitSettingsNestedFields(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsNestedFields} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MappingLimitSettingsNestedFields::setupMappingLimitSettingsNestedFieldsDeserializer); - - protected static void setupMappingLimitSettingsNestedFieldsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedObjects.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedObjects.java deleted file mode 100644 index d29c6b76a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsNestedObjects.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsNestedObjects - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsNestedObjects implements JsonpSerializable { - @Nullable - private final Long limit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsNestedObjects(Builder builder) { - - this.limit = builder.limit; - - } - - public static MappingLimitSettingsNestedObjects of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The maximum number of nested JSON objects that a single document can contain - * across all nested types. This limit helps to prevent out of memory errors - * when a document contains too many nested objects. - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsNestedObjects}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - /** - * The maximum number of nested JSON objects that a single document can contain - * across all nested types. This limit helps to prevent out of memory errors - * when a document contains too many nested objects. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsNestedObjects}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsNestedObjects build() { - _checkSingleUse(); - - return new MappingLimitSettingsNestedObjects(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsNestedObjects} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MappingLimitSettingsNestedObjects::setupMappingLimitSettingsNestedObjectsDeserializer); - - protected static void setupMappingLimitSettingsNestedObjectsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java deleted file mode 100644 index ace492270..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MappingLimitSettingsTotalFields.java +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MappingLimitSettingsTotalFields - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MappingLimitSettingsTotalFields implements JsonpSerializable { - @Nullable - private final Long limit; - - @Nullable - private final Boolean ignoreDynamicBeyondLimit; - - // --------------------------------------------------------------------------------------------- - - private MappingLimitSettingsTotalFields(Builder builder) { - - this.limit = builder.limit; - this.ignoreDynamicBeyondLimit = builder.ignoreDynamicBeyondLimit; - - } - - public static MappingLimitSettingsTotalFields of( - Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * The maximum number of fields in an index. Field and object mappings, as well - * as field aliases count towards this limit. The limit is in place to prevent - * mappings and searches from becoming too large. Higher values can lead to - * performance degradations and memory issues, especially in clusters with a - * high load or few resources. - *

    - * API name: {@code limit} - */ - @Nullable - public final Long limit() { - return this.limit; - } - - /** - * This setting determines what happens when a dynamically mapped field would - * exceed the total fields limit. When set to false (the default), the index - * request of the document that tries to add a dynamic field to the mapping will - * fail with the message Limit of total fields [X] has been exceeded. When set - * to true, the index request will not fail. Instead, fields that would exceed - * the limit are not added to the mapping, similar to dynamic: false. The fields - * that were not added to the mapping will be added to the _ignored field. - *

    - * API name: {@code ignore_dynamic_beyond_limit} - */ - @Nullable - public final Boolean ignoreDynamicBeyondLimit() { - return this.ignoreDynamicBeyondLimit; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.limit != null) { - generator.writeKey("limit"); - generator.write(this.limit); - - } - if (this.ignoreDynamicBeyondLimit != null) { - generator.writeKey("ignore_dynamic_beyond_limit"); - generator.write(this.ignoreDynamicBeyondLimit); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MappingLimitSettingsTotalFields}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Long limit; - - @Nullable - private Boolean ignoreDynamicBeyondLimit; - - /** - * The maximum number of fields in an index. Field and object mappings, as well - * as field aliases count towards this limit. The limit is in place to prevent - * mappings and searches from becoming too large. Higher values can lead to - * performance degradations and memory issues, especially in clusters with a - * high load or few resources. - *

    - * API name: {@code limit} - */ - public final Builder limit(@Nullable Long value) { - this.limit = value; - return this; - } - - /** - * This setting determines what happens when a dynamically mapped field would - * exceed the total fields limit. When set to false (the default), the index - * request of the document that tries to add a dynamic field to the mapping will - * fail with the message Limit of total fields [X] has been exceeded. When set - * to true, the index request will not fail. Instead, fields that would exceed - * the limit are not added to the mapping, similar to dynamic: false. The fields - * that were not added to the mapping will be added to the _ignored field. - *

    - * API name: {@code ignore_dynamic_beyond_limit} - */ - public final Builder ignoreDynamicBeyondLimit(@Nullable Boolean value) { - this.ignoreDynamicBeyondLimit = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MappingLimitSettingsTotalFields}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MappingLimitSettingsTotalFields build() { - _checkSingleUse(); - - return new MappingLimitSettingsTotalFields(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MappingLimitSettingsTotalFields} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MappingLimitSettingsTotalFields::setupMappingLimitSettingsTotalFieldsDeserializer); - - protected static void setupMappingLimitSettingsTotalFieldsDeserializer( - ObjectDeserializer op) { - - op.add(Builder::limit, JsonpDeserializer.longDeserializer(), "limit"); - op.add(Builder::ignoreDynamicBeyondLimit, JsonpDeserializer.booleanDeserializer(), - "ignore_dynamic_beyond_limit"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Merge.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Merge.java deleted file mode 100644 index d9e94b6c3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Merge.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.Merge - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Merge implements JsonpSerializable { - @Nullable - private final MergeScheduler scheduler; - - // --------------------------------------------------------------------------------------------- - - private Merge(Builder builder) { - - this.scheduler = builder.scheduler; - - } - - public static Merge of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code scheduler} - */ - @Nullable - public final MergeScheduler scheduler() { - return this.scheduler; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.scheduler != null) { - generator.writeKey("scheduler"); - this.scheduler.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Merge}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private MergeScheduler scheduler; - - /** - * API name: {@code scheduler} - */ - public final Builder scheduler(@Nullable MergeScheduler value) { - this.scheduler = value; - return this; - } - - /** - * API name: {@code scheduler} - */ - public final Builder scheduler(Function> fn) { - return this.scheduler(fn.apply(new MergeScheduler.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Merge}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Merge build() { - _checkSingleUse(); - - return new Merge(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Merge} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Merge::setupMergeDeserializer); - - protected static void setupMergeDeserializer(ObjectDeserializer op) { - - op.add(Builder::scheduler, MergeScheduler._DESERIALIZER, "scheduler"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MergeScheduler.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MergeScheduler.java deleted file mode 100644 index caf86bbba..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MergeScheduler.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.MergeScheduler - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MergeScheduler implements JsonpSerializable { - @Nullable - private final Integer maxThreadCount; - - @Nullable - private final Integer maxMergeCount; - - // --------------------------------------------------------------------------------------------- - - private MergeScheduler(Builder builder) { - - this.maxThreadCount = builder.maxThreadCount; - this.maxMergeCount = builder.maxMergeCount; - - } - - public static MergeScheduler of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code max_thread_count} - */ - @Nullable - public final Integer maxThreadCount() { - return this.maxThreadCount; - } - - /** - * API name: {@code max_merge_count} - */ - @Nullable - public final Integer maxMergeCount() { - return this.maxMergeCount; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.maxThreadCount != null) { - generator.writeKey("max_thread_count"); - generator.write(this.maxThreadCount); - - } - if (this.maxMergeCount != null) { - generator.writeKey("max_merge_count"); - generator.write(this.maxMergeCount); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MergeScheduler}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Integer maxThreadCount; - - @Nullable - private Integer maxMergeCount; - - /** - * API name: {@code max_thread_count} - */ - public final Builder maxThreadCount(@Nullable Integer value) { - this.maxThreadCount = value; - return this; - } - - /** - * API name: {@code max_merge_count} - */ - public final Builder maxMergeCount(@Nullable Integer value) { - this.maxMergeCount = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MergeScheduler}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MergeScheduler build() { - _checkSingleUse(); - - return new MergeScheduler(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MergeScheduler} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - MergeScheduler::setupMergeSchedulerDeserializer); - - protected static void setupMergeSchedulerDeserializer(ObjectDeserializer op) { - - op.add(Builder::maxThreadCount, JsonpDeserializer.integerDeserializer(), "max_thread_count"); - op.add(Builder::maxMergeCount, JsonpDeserializer.integerDeserializer(), "max_merge_count"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamRequest.java deleted file mode 100644 index 6ad2f1b32..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamRequest.java +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.migrate_to_data_stream.Request - -/** - * Convert an index alias to a data stream. Converts an index alias to a data - * stream. You must have a matching index template that is data stream enabled. - * The alias must meet the following criteria: The alias must have a write - * index; All indices for the alias must have a @timestamp field - * mapping of a date or date_nanos field type; The - * alias must not have any filters; The alias must not use custom routing. If - * successful, the request removes the alias and creates a data stream with the - * same name. The indices for the alias become hidden backing indices for the - * stream. The write index for the alias becomes the write index for the stream. - * - * @see API - * specification - */ - -public class MigrateToDataStreamRequest extends RequestBase { - @Nullable - private final Time masterTimeout; - - private final String name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private MigrateToDataStreamRequest(Builder builder) { - - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static MigrateToDataStreamRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Name of the index alias to convert to a data stream. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MigrateToDataStreamRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Time masterTimeout; - - private String name; - - @Nullable - private Time timeout; - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Name of the index alias to convert to a data stream. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MigrateToDataStreamRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MigrateToDataStreamRequest build() { - _checkSingleUse(); - - return new MigrateToDataStreamRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.migrate_to_data_stream}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.migrate_to_data_stream", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/_migrate"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, MigrateToDataStreamResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamResponse.java deleted file mode 100644 index 93aa19093..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/MigrateToDataStreamResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.migrate_to_data_stream.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class MigrateToDataStreamResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private MigrateToDataStreamResponse(Builder builder) { - super(builder); - - } - - public static MigrateToDataStreamResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link MigrateToDataStreamResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link MigrateToDataStreamResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public MigrateToDataStreamResponse build() { - _checkSingleUse(); - - return new MigrateToDataStreamResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link MigrateToDataStreamResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, MigrateToDataStreamResponse::setupMigrateToDataStreamResponseDeserializer); - - protected static void setupMigrateToDataStreamResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java deleted file mode 100644 index 92b887ae5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch.indices.modify_data_stream.Action; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.modify_data_stream.Request - -/** - * Update data streams. Performs one or more data stream modification actions in - * a single atomic operation. - * - * @see API - * specification - */ -@JsonpDeserializable -public class ModifyDataStreamRequest extends RequestBase implements JsonpSerializable { - private final List actions; - - // --------------------------------------------------------------------------------------------- - - private ModifyDataStreamRequest(Builder builder) { - - this.actions = ApiTypeHelper.unmodifiableRequired(builder.actions, this, "actions"); - - } - - public static ModifyDataStreamRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Actions to perform. - *

    - * API name: {@code actions} - */ - public final List actions() { - return this.actions; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.actions)) { - generator.writeKey("actions"); - generator.writeStartArray(); - for (Action item0 : this.actions) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ModifyDataStreamRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - private List actions; - - /** - * Required - Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds all elements of list to actions. - */ - public final Builder actions(List list) { - this.actions = _listAddAll(this.actions, list); - return this; - } - - /** - * Required - Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds one or more values to actions. - */ - public final Builder actions(Action value, Action... values) { - this.actions = _listAdd(this.actions, value, values); - return this; - } - - /** - * Required - Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds a value to actions using a builder lambda. - */ - public final Builder actions(Function> fn) { - return actions(fn.apply(new Action.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ModifyDataStreamRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ModifyDataStreamRequest build() { - _checkSingleUse(); - - return new ModifyDataStreamRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ModifyDataStreamRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ModifyDataStreamRequest::setupModifyDataStreamRequestDeserializer); - - protected static void setupModifyDataStreamRequestDeserializer( - ObjectDeserializer op) { - - op.add(Builder::actions, JsonpDeserializer.arrayDeserializer(Action._DESERIALIZER), "actions"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.modify_data_stream}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.modify_data_stream", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - return "/_data_stream/_modify"; - - }, - - // Path parameters - request -> { - return Collections.emptyMap(); - }, - - // Request parameters - request -> { - return Collections.emptyMap(); - - }, SimpleEndpoint.emptyMap(), true, ModifyDataStreamResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamResponse.java deleted file mode 100644 index d3664f088..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.modify_data_stream.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ModifyDataStreamResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private ModifyDataStreamResponse(Builder builder) { - super(builder); - - } - - public static ModifyDataStreamResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ModifyDataStreamResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ModifyDataStreamResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ModifyDataStreamResponse build() { - _checkSingleUse(); - - return new ModifyDataStreamResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ModifyDataStreamResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ModifyDataStreamResponse::setupModifyDataStreamResponseDeserializer); - - protected static void setupModifyDataStreamResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddata.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddata.java deleted file mode 100644 index 836147ce0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddata.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.NumericFielddata - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class NumericFielddata implements JsonpSerializable { - private final NumericFielddataFormat format; - - // --------------------------------------------------------------------------------------------- - - private NumericFielddata(Builder builder) { - - this.format = ApiTypeHelper.requireNonNull(builder.format, this, "format"); - - } - - public static NumericFielddata of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code format} - */ - public final NumericFielddataFormat format() { - return this.format; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("format"); - this.format.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link NumericFielddata}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private NumericFielddataFormat format; - - /** - * Required - API name: {@code format} - */ - public final Builder format(NumericFielddataFormat value) { - this.format = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link NumericFielddata}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public NumericFielddata build() { - _checkSingleUse(); - - return new NumericFielddata(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link NumericFielddata} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - NumericFielddata::setupNumericFielddataDeserializer); - - protected static void setupNumericFielddataDeserializer(ObjectDeserializer op) { - - op.add(Builder::format, NumericFielddataFormat._DESERIALIZER, "format"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddataFormat.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddataFormat.java deleted file mode 100644 index 187639a8f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/NumericFielddataFormat.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum NumericFielddataFormat implements JsonEnum { - Array("array"), - - Disabled("disabled"), - - ; - - private final String jsonValue; - - NumericFielddataFormat(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - NumericFielddataFormat.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java deleted file mode 100644 index 75f743d04..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java +++ /dev/null @@ -1,559 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_alias.Request - -/** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutAliasRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Query filter; - - private final List index; - - @Nullable - private final String indexRouting; - - @Nullable - private final Boolean isWriteIndex; - - @Nullable - private final Time masterTimeout; - - private final String name; - - @Nullable - private final String routing; - - @Nullable - private final String searchRouting; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private PutAliasRequest(Builder builder) { - - this.filter = builder.filter; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.indexRouting = builder.indexRouting; - this.isWriteIndex = builder.isWriteIndex; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.routing = builder.routing; - this.searchRouting = builder.searchRouting; - this.timeout = builder.timeout; - - } - - public static PutAliasRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - @Nullable - public final Query filter() { - return this.filter; - } - - /** - * Required - Comma-separated list of data streams or indices to add. Supports - * wildcards (*). Wildcard patterns that match both data streams - * and indices return an error. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. Data - * stream aliases don’t support this parameter. - *

    - * API name: {@code index_routing} - */ - @Nullable - public final String indexRouting() { - return this.indexRouting; - } - - /** - * If true, sets the write index or data stream for the alias. If - * an alias points to multiple indices or data streams and - * is_write_index isn’t set, the alias rejects write requests. If - * an index alias points to one index and is_write_index isn’t set, - * the index automatically acts as the write index. Data stream aliases don’t - * automatically set a write data stream, even if the alias points to one data - * stream. - *

    - * API name: {@code is_write_index} - */ - @Nullable - public final Boolean isWriteIndex() { - return this.isWriteIndex; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Alias to update. If the alias doesn’t exist, the request creates - * it. Index alias names support date math. - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Value used to route indexing and search operations to a specific shard. Data - * stream aliases don’t support this parameter. - *

    - * API name: {@code routing} - */ - @Nullable - public final String routing() { - return this.routing; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. Data stream - * aliases don’t support this parameter. - *

    - * API name: {@code search_routing} - */ - @Nullable - public final String searchRouting() { - return this.searchRouting; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.filter != null) { - generator.writeKey("filter"); - this.filter.serialize(generator, mapper); - - } - if (this.indexRouting != null) { - generator.writeKey("index_routing"); - generator.write(this.indexRouting); - - } - if (this.isWriteIndex != null) { - generator.writeKey("is_write_index"); - generator.write(this.isWriteIndex); - - } - if (this.routing != null) { - generator.writeKey("routing"); - generator.write(this.routing); - - } - if (this.searchRouting != null) { - generator.writeKey("search_routing"); - generator.write(this.searchRouting); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutAliasRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Query filter; - - private List index; - - @Nullable - private String indexRouting; - - @Nullable - private Boolean isWriteIndex; - - @Nullable - private Time masterTimeout; - - private String name; - - @Nullable - private String routing; - - @Nullable - private String searchRouting; - - @Nullable - private Time timeout; - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(@Nullable Query value) { - this.filter = value; - return this; - } - - /** - * Query used to limit documents the alias can access. - *

    - * API name: {@code filter} - */ - public final Builder filter(Function> fn) { - return this.filter(fn.apply(new Query.Builder()).build()); - } - - /** - * Required - Comma-separated list of data streams or indices to add. Supports - * wildcards (*). Wildcard patterns that match both data streams - * and indices return an error. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - Comma-separated list of data streams or indices to add. Supports - * wildcards (*). Wildcard patterns that match both data streams - * and indices return an error. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Value used to route indexing operations to a specific shard. If specified, - * this overwrites the routing value for indexing operations. Data - * stream aliases don’t support this parameter. - *

    - * API name: {@code index_routing} - */ - public final Builder indexRouting(@Nullable String value) { - this.indexRouting = value; - return this; - } - - /** - * If true, sets the write index or data stream for the alias. If - * an alias points to multiple indices or data streams and - * is_write_index isn’t set, the alias rejects write requests. If - * an index alias points to one index and is_write_index isn’t set, - * the index automatically acts as the write index. Data stream aliases don’t - * automatically set a write data stream, even if the alias points to one data - * stream. - *

    - * API name: {@code is_write_index} - */ - public final Builder isWriteIndex(@Nullable Boolean value) { - this.isWriteIndex = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Alias to update. If the alias doesn’t exist, the request creates - * it. Index alias names support date math. - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Value used to route indexing and search operations to a specific shard. Data - * stream aliases don’t support this parameter. - *

    - * API name: {@code routing} - */ - public final Builder routing(@Nullable String value) { - this.routing = value; - return this; - } - - /** - * Value used to route search operations to a specific shard. If specified, this - * overwrites the routing value for search operations. Data stream - * aliases don’t support this parameter. - *

    - * API name: {@code search_routing} - */ - public final Builder searchRouting(@Nullable String value) { - this.searchRouting = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutAliasRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutAliasRequest build() { - _checkSingleUse(); - - return new PutAliasRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutAliasRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - PutAliasRequest::setupPutAliasRequestDeserializer); - - protected static void setupPutAliasRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::filter, Query._DESERIALIZER, "filter"); - op.add(Builder::indexRouting, JsonpDeserializer.stringDeserializer(), "index_routing"); - op.add(Builder::isWriteIndex, JsonpDeserializer.booleanDeserializer(), "is_write_index"); - op.add(Builder::routing, JsonpDeserializer.stringDeserializer(), "routing"); - op.add(Builder::searchRouting, JsonpDeserializer.stringDeserializer(), "search_routing"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_alias}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_alias", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - propsSet |= _index; - - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_alias"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - if (propsSet == (_index | _name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_aliases"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - final int _index = 1 << 1; - - int propsSet = 0; - - propsSet |= _name; - propsSet |= _index; - - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name); - } - if (propsSet == (_index | _name)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutAliasResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasResponse.java deleted file mode 100644 index 40cbac33b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_alias.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutAliasResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutAliasResponse(Builder builder) { - super(builder); - - } - - public static PutAliasResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutAliasResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutAliasResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutAliasResponse build() { - _checkSingleUse(); - - return new PutAliasResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutAliasResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - PutAliasResponse::setupPutAliasResponseDeserializer); - - protected static void setupPutAliasResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java deleted file mode 100644 index 00ad95dc1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleRequest.java +++ /dev/null @@ -1,474 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_data_lifecycle.Request - -/** - * Update data stream lifecycles. Update the data stream lifecycle of the - * specified data streams. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutDataLifecycleRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Time dataRetention; - - @Nullable - private final DataStreamLifecycleDownsampling downsampling; - - private final List expandWildcards; - - @Nullable - private final Time masterTimeout; - - private final List name; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private PutDataLifecycleRequest(Builder builder) { - - this.dataRetention = builder.dataRetention; - this.downsampling = builder.downsampling; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - this.timeout = builder.timeout; - - } - - public static PutDataLifecycleRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - @Nullable - public final Time dataRetention() { - return this.dataRetention; - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

    - * API name: {@code downsampling} - */ - @Nullable - public final DataStreamLifecycleDownsampling downsampling() { - return this.downsampling; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, hidden, open, - * closed, none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Comma-separated list of data streams used to limit the request. - * Supports wildcards (*). To target all data streams use - * * or _all. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.dataRetention != null) { - generator.writeKey("data_retention"); - this.dataRetention.serialize(generator, mapper); - - } - if (this.downsampling != null) { - generator.writeKey("downsampling"); - this.downsampling.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutDataLifecycleRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Time dataRetention; - - @Nullable - private DataStreamLifecycleDownsampling downsampling; - - @Nullable - private List expandWildcards; - - @Nullable - private Time masterTimeout; - - private List name; - - @Nullable - private Time timeout; - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - public final Builder dataRetention(@Nullable Time value) { - this.dataRetention = value; - return this; - } - - /** - * If defined, every document added to this data stream will be stored at least - * for this time frame. Any time after this duration the document could be - * deleted. When empty, every document in this data stream will be stored - * indefinitely. - *

    - * API name: {@code data_retention} - */ - public final Builder dataRetention(Function> fn) { - return this.dataRetention(fn.apply(new Time.Builder()).build()); - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

    - * API name: {@code downsampling} - */ - public final Builder downsampling(@Nullable DataStreamLifecycleDownsampling value) { - this.downsampling = value; - return this; - } - - /** - * If defined, every backing index will execute the configured downsampling - * configuration after the backing index is not the data stream write index - * anymore. - *

    - * API name: {@code downsampling} - */ - public final Builder downsampling( - Function> fn) { - return this.downsampling(fn.apply(new DataStreamLifecycleDownsampling.Builder()).build()); - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, hidden, open, - * closed, none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of data stream that wildcard patterns can match. Supports - * comma-separated values, such as open,hidden. Valid values are: - * all, hidden, open, - * closed, none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Comma-separated list of data streams used to limit the request. - * Supports wildcards (*). To target all data streams use - * * or _all. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated list of data streams used to limit the request. - * Supports wildcards (*). To target all data streams use - * * or _all. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutDataLifecycleRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutDataLifecycleRequest build() { - _checkSingleUse(); - - return new PutDataLifecycleRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutDataLifecycleRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutDataLifecycleRequest::setupPutDataLifecycleRequestDeserializer); - - protected static void setupPutDataLifecycleRequestDeserializer( - ObjectDeserializer op) { - - op.add(Builder::dataRetention, Time._DESERIALIZER, "data_retention"); - op.add(Builder::downsampling, DataStreamLifecycleDownsampling._DESERIALIZER, "downsampling"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_data_lifecycle}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_data_lifecycle", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_data_stream"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_lifecycle"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutDataLifecycleResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleResponse.java deleted file mode 100644 index b88e96fe0..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutDataLifecycleResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_data_lifecycle.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutDataLifecycleResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutDataLifecycleResponse(Builder builder) { - super(builder); - - } - - public static PutDataLifecycleResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutDataLifecycleResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutDataLifecycleResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutDataLifecycleResponse build() { - _checkSingleUse(); - - return new PutDataLifecycleResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutDataLifecycleResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutDataLifecycleResponse::setupPutDataLifecycleResponseDeserializer); - - protected static void setupPutDataLifecycleResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateRequest.java deleted file mode 100644 index f0ea33bcb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateRequest.java +++ /dev/null @@ -1,791 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.put_index_template.IndexTemplateMapping; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_index_template.Request - -/** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutIndexTemplateRequest extends RequestBase implements JsonpSerializable { - private final Map meta; - - @Nullable - private final Boolean allowAutoCreate; - - @Nullable - private final String cause; - - private final List composedOf; - - @Nullable - private final Boolean create; - - @Nullable - private final DataStreamVisibility dataStream; - - @Nullable - private final Boolean deprecated; - - private final List ignoreMissingComponentTemplates; - - private final List indexPatterns; - - @Nullable - private final Time masterTimeout; - - private final String name; - - @Nullable - private final Long priority; - - @Nullable - private final IndexTemplateMapping template; - - @Nullable - private final Long version; - - // --------------------------------------------------------------------------------------------- - - private PutIndexTemplateRequest(Builder builder) { - - this.meta = ApiTypeHelper.unmodifiable(builder.meta); - this.allowAutoCreate = builder.allowAutoCreate; - this.cause = builder.cause; - this.composedOf = ApiTypeHelper.unmodifiable(builder.composedOf); - this.create = builder.create; - this.dataStream = builder.dataStream; - this.deprecated = builder.deprecated; - this.ignoreMissingComponentTemplates = ApiTypeHelper.unmodifiable(builder.ignoreMissingComponentTemplates); - this.indexPatterns = ApiTypeHelper.unmodifiable(builder.indexPatterns); - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.priority = builder.priority; - this.template = builder.template; - this.version = builder.version; - - } - - public static PutIndexTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - */ - public final Map meta() { - return this.meta; - } - - /** - * This setting overrides the value of the action.auto_create_index - * cluster setting. If set to true in a template, then indices can - * be automatically created using that template even if auto-creation of indices - * is disabled via actions.auto_create_index. If set to - * false, then indices or data streams matching the template must - * always be explicitly created, and may never be automatically created. - *

    - * API name: {@code allow_auto_create} - */ - @Nullable - public final Boolean allowAutoCreate() { - return this.allowAutoCreate; - } - - /** - * User defined reason for creating/updating the index template - *

    - * API name: {@code cause} - */ - @Nullable - public final String cause() { - return this.cause; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - */ - public final List composedOf() { - return this.composedOf; - } - - /** - * If true, this request cannot replace or update existing index - * templates. - *

    - * API name: {@code create} - */ - @Nullable - public final Boolean create() { - return this.create; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - @Nullable - public final DataStreamVisibility dataStream() { - return this.dataStream; - } - - /** - * Marks this index template as deprecated. When creating or updating a - * non-deprecated index template that uses deprecated components, Elasticsearch - * will emit a deprecation warning. - *

    - * API name: {@code deprecated} - */ - @Nullable - public final Boolean deprecated() { - return this.deprecated; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - */ - public final List ignoreMissingComponentTemplates() { - return this.ignoreMissingComponentTemplates; - } - - /** - * Name of the index template to create. - *

    - * API name: {@code index_patterns} - */ - public final List indexPatterns() { - return this.indexPatterns; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Index or template name - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - @Nullable - public final Long priority() { - return this.priority; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - @Nullable - public final IndexTemplateMapping template() { - return this.template; - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - @Nullable - public final Long version() { - return this.version; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.meta)) { - generator.writeKey("_meta"); - generator.writeStartObject(); - for (Map.Entry item0 : this.meta.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.allowAutoCreate != null) { - generator.writeKey("allow_auto_create"); - generator.write(this.allowAutoCreate); - - } - if (ApiTypeHelper.isDefined(this.composedOf)) { - generator.writeKey("composed_of"); - generator.writeStartArray(); - for (String item0 : this.composedOf) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.dataStream != null) { - generator.writeKey("data_stream"); - this.dataStream.serialize(generator, mapper); - - } - if (this.deprecated != null) { - generator.writeKey("deprecated"); - generator.write(this.deprecated); - - } - if (ApiTypeHelper.isDefined(this.ignoreMissingComponentTemplates)) { - generator.writeKey("ignore_missing_component_templates"); - generator.writeStartArray(); - for (String item0 : this.ignoreMissingComponentTemplates) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.indexPatterns)) { - generator.writeKey("index_patterns"); - generator.writeStartArray(); - for (String item0 : this.indexPatterns) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.priority != null) { - generator.writeKey("priority"); - generator.write(this.priority); - - } - if (this.template != null) { - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - if (this.version != null) { - generator.writeKey("version"); - generator.write(this.version); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutIndexTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Map meta; - - @Nullable - private Boolean allowAutoCreate; - - @Nullable - private String cause; - - @Nullable - private List composedOf; - - @Nullable - private Boolean create; - - @Nullable - private DataStreamVisibility dataStream; - - @Nullable - private Boolean deprecated; - - @Nullable - private List ignoreMissingComponentTemplates; - - @Nullable - private List indexPatterns; - - @Nullable - private Time masterTimeout; - - private String name; - - @Nullable - private Long priority; - - @Nullable - private IndexTemplateMapping template; - - @Nullable - private Long version; - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds all entries of map to meta. - */ - public final Builder meta(Map map) { - this.meta = _mapPutAll(this.meta, map); - return this; - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds an entry to meta. - */ - public final Builder meta(String key, JsonData value) { - this.meta = _mapPut(this.meta, key, value); - return this; - } - - /** - * This setting overrides the value of the action.auto_create_index - * cluster setting. If set to true in a template, then indices can - * be automatically created using that template even if auto-creation of indices - * is disabled via actions.auto_create_index. If set to - * false, then indices or data streams matching the template must - * always be explicitly created, and may never be automatically created. - *

    - * API name: {@code allow_auto_create} - */ - public final Builder allowAutoCreate(@Nullable Boolean value) { - this.allowAutoCreate = value; - return this; - } - - /** - * User defined reason for creating/updating the index template - *

    - * API name: {@code cause} - */ - public final Builder cause(@Nullable String value) { - this.cause = value; - return this; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds all elements of list to composedOf. - */ - public final Builder composedOf(List list) { - this.composedOf = _listAddAll(this.composedOf, list); - return this; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds one or more values to composedOf. - */ - public final Builder composedOf(String value, String... values) { - this.composedOf = _listAdd(this.composedOf, value, values); - return this; - } - - /** - * If true, this request cannot replace or update existing index - * templates. - *

    - * API name: {@code create} - */ - public final Builder create(@Nullable Boolean value) { - this.create = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream(@Nullable DataStreamVisibility value) { - this.dataStream = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream( - Function> fn) { - return this.dataStream(fn.apply(new DataStreamVisibility.Builder()).build()); - } - - /** - * Marks this index template as deprecated. When creating or updating a - * non-deprecated index template that uses deprecated components, Elasticsearch - * will emit a deprecation warning. - *

    - * API name: {@code deprecated} - */ - public final Builder deprecated(@Nullable Boolean value) { - this.deprecated = value; - return this; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - *

    - * Adds all elements of list to - * ignoreMissingComponentTemplates. - */ - public final Builder ignoreMissingComponentTemplates(List list) { - this.ignoreMissingComponentTemplates = _listAddAll(this.ignoreMissingComponentTemplates, list); - return this; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - *

    - * Adds one or more values to ignoreMissingComponentTemplates. - */ - public final Builder ignoreMissingComponentTemplates(String value, String... values) { - this.ignoreMissingComponentTemplates = _listAdd(this.ignoreMissingComponentTemplates, value, values); - return this; - } - - /** - * Name of the index template to create. - *

    - * API name: {@code index_patterns} - *

    - * Adds all elements of list to indexPatterns. - */ - public final Builder indexPatterns(List list) { - this.indexPatterns = _listAddAll(this.indexPatterns, list); - return this; - } - - /** - * Name of the index template to create. - *

    - * API name: {@code index_patterns} - *

    - * Adds one or more values to indexPatterns. - */ - public final Builder indexPatterns(String value, String... values) { - this.indexPatterns = _listAdd(this.indexPatterns, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Index or template name - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - public final Builder priority(@Nullable Long value) { - this.priority = value; - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(@Nullable IndexTemplateMapping value) { - this.template = value; - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(Function> fn) { - return this.template(fn.apply(new IndexTemplateMapping.Builder()).build()); - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - public final Builder version(@Nullable Long value) { - this.version = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutIndexTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutIndexTemplateRequest build() { - _checkSingleUse(); - - return new PutIndexTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutIndexTemplateRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutIndexTemplateRequest::setupPutIndexTemplateRequestDeserializer); - - protected static void setupPutIndexTemplateRequestDeserializer( - ObjectDeserializer op) { - - op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); - op.add(Builder::allowAutoCreate, JsonpDeserializer.booleanDeserializer(), "allow_auto_create"); - op.add(Builder::composedOf, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "composed_of"); - op.add(Builder::dataStream, DataStreamVisibility._DESERIALIZER, "data_stream"); - op.add(Builder::deprecated, JsonpDeserializer.booleanDeserializer(), "deprecated"); - op.add(Builder::ignoreMissingComponentTemplates, - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "ignore_missing_component_templates"); - op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "index_patterns"); - op.add(Builder::priority, JsonpDeserializer.longDeserializer(), "priority"); - op.add(Builder::template, IndexTemplateMapping._DESERIALIZER, "template"); - op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_index_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_index_template", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.create != null) { - params.put("create", String.valueOf(request.create)); - } - if (request.cause != null) { - params.put("cause", request.cause); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutIndexTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateResponse.java deleted file mode 100644 index 461d66aa8..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndexTemplateResponse.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_index_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutIndexTemplateResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutIndexTemplateResponse(Builder builder) { - super(builder); - - } - - public static PutIndexTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutIndexTemplateResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutIndexTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutIndexTemplateResponse build() { - _checkSingleUse(); - - return new PutIndexTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutIndexTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutIndexTemplateResponse::setupPutIndexTemplateResponseDeserializer); - - protected static void setupPutIndexTemplateResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsRequest.java deleted file mode 100644 index 860a3a0ff..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsRequest.java +++ /dev/null @@ -1,538 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import jakarta.json.stream.JsonParser; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_settings.Request - -/** - * Update index settings. Changes dynamic index settings in real time. For data - * streams, index setting changes are applied to all backing indices by default. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutIndicesSettingsRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean flatSettings; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final Boolean preserveExisting; - - @Nullable - private final Time timeout; - - private final IndexSettings settings; - - // --------------------------------------------------------------------------------------------- - - private PutIndicesSettingsRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.flatSettings = builder.flatSettings; - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.masterTimeout = builder.masterTimeout; - this.preserveExisting = builder.preserveExisting; - this.timeout = builder.timeout; - this.settings = ApiTypeHelper.requireNonNull(builder.settings, this, "settings"); - - } - - public static PutIndicesSettingsRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with - * bar. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - @Nullable - public final Boolean flatSettings() { - return this.flatSettings; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * If true, existing index settings remain unchanged. - *

    - * API name: {@code preserve_existing} - */ - @Nullable - public final Boolean preserveExisting() { - return this.preserveExisting; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Required - Request body. - */ - public final IndexSettings settings() { - return this.settings; - } - - /** - * Serialize this value to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - this.settings.serialize(generator, mapper); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutIndicesSettingsRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean flatSettings; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - @Nullable - private Time masterTimeout; - - @Nullable - private Boolean preserveExisting; - - @Nullable - private Time timeout; - - private IndexSettings settings; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with - * bar. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code flat_settings} - */ - public final Builder flatSettings(@Nullable Boolean value) { - this.flatSettings = value; - return this; - } - - /** - * If true, returns settings in flat format. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * If true, existing index settings remain unchanged. - *

    - * API name: {@code preserve_existing} - */ - public final Builder preserveExisting(@Nullable Boolean value) { - this.preserveExisting = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Request body. - */ - public final Builder settings(IndexSettings value) { - this.settings = value; - return this; - } - - /** - * Required - Request body. - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - @Override - public Builder withJson(JsonParser parser, JsonpMapper mapper) { - - @SuppressWarnings("unchecked") - IndexSettings value = (IndexSettings) IndexSettings._DESERIALIZER.deserialize(parser, mapper); - return this.settings(value); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutIndicesSettingsRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutIndicesSettingsRequest build() { - _checkSingleUse(); - - return new PutIndicesSettingsRequest(this); - } - } - - public static final JsonpDeserializer _DESERIALIZER = createPutIndicesSettingsRequestDeserializer(); - protected static JsonpDeserializer createPutIndicesSettingsRequestDeserializer() { - - JsonpDeserializer valueDeserializer = IndexSettings._DESERIALIZER; - - return JsonpDeserializer.of(valueDeserializer.acceptedEvents(), (parser, mapper, event) -> new Builder() - .settings(valueDeserializer.deserialize(parser, mapper, event)).build()); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_settings}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_settings", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_settings"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_settings"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.flatSettings != null) { - params.put("flat_settings", String.valueOf(request.flatSettings)); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.preserveExisting != null) { - params.put("preserve_existing", String.valueOf(request.preserveExisting)); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutIndicesSettingsResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsResponse.java deleted file mode 100644 index 138fb4511..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutIndicesSettingsResponse.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_settings.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutIndicesSettingsResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutIndicesSettingsResponse(Builder builder) { - super(builder); - - } - - public static PutIndicesSettingsResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutIndicesSettingsResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutIndicesSettingsResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutIndicesSettingsResponse build() { - _checkSingleUse(); - - return new PutIndicesSettingsResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutIndicesSettingsResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutIndicesSettingsResponse::setupPutIndicesSettingsResponseDeserializer); - - protected static void setupPutIndicesSettingsResponseDeserializer( - ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingRequest.java deleted file mode 100644 index f818dc02d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingRequest.java +++ /dev/null @@ -1,1030 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.mapping.DynamicMapping; -import co.elastic.clients.elasticsearch._types.mapping.DynamicTemplate; -import co.elastic.clients.elasticsearch._types.mapping.FieldNamesField; -import co.elastic.clients.elasticsearch._types.mapping.Property; -import co.elastic.clients.elasticsearch._types.mapping.RoutingField; -import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; -import co.elastic.clients.elasticsearch._types.mapping.SourceField; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_mapping.Request - -/** - * Update field mappings. Adds new fields to an existing data stream or index. - * You can also use this API to change the search settings of existing fields. - * For data streams, these changes are applied to all backing indices by - * default. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutMappingRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final FieldNamesField fieldNames; - - private final Map meta; - - @Nullable - private final RoutingField routing; - - @Nullable - private final SourceField source; - - @Nullable - private final Boolean allowNoIndices; - - @Nullable - private final Boolean dateDetection; - - @Nullable - private final DynamicMapping dynamic; - - private final List dynamicDateFormats; - - private final List> dynamicTemplates; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final Boolean numericDetection; - - private final Map properties; - - private final Map runtime; - - @Nullable - private final Time timeout; - - @Nullable - private final Boolean writeIndexOnly; - - // --------------------------------------------------------------------------------------------- - - private PutMappingRequest(Builder builder) { - - this.fieldNames = builder.fieldNames; - this.meta = ApiTypeHelper.unmodifiable(builder.meta); - this.routing = builder.routing; - this.source = builder.source; - this.allowNoIndices = builder.allowNoIndices; - this.dateDetection = builder.dateDetection; - this.dynamic = builder.dynamic; - this.dynamicDateFormats = ApiTypeHelper.unmodifiable(builder.dynamicDateFormats); - this.dynamicTemplates = ApiTypeHelper.unmodifiable(builder.dynamicTemplates); - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiableRequired(builder.index, this, "index"); - this.masterTimeout = builder.masterTimeout; - this.numericDetection = builder.numericDetection; - this.properties = ApiTypeHelper.unmodifiable(builder.properties); - this.runtime = ApiTypeHelper.unmodifiable(builder.runtime); - this.timeout = builder.timeout; - this.writeIndexOnly = builder.writeIndexOnly; - - } - - public static PutMappingRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Control whether field names are enabled for the index. - *

    - * API name: {@code _field_names} - */ - @Nullable - public final FieldNamesField fieldNames() { - return this.fieldNames; - } - - /** - * A mapping type can have custom meta data associated with it. These are not - * used at all by Elasticsearch, but can be used to store application-specific - * metadata. - *

    - * API name: {@code _meta} - */ - public final Map meta() { - return this.meta; - } - - /** - * Enable making a routing value required on indexed documents. - *

    - * API name: {@code _routing} - */ - @Nullable - public final RoutingField routing() { - return this.routing; - } - - /** - * Control whether the _source field is enabled on the index. - *

    - * API name: {@code _source} - */ - @Nullable - public final SourceField source() { - return this.source; - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Controls whether dynamic date detection is enabled. - *

    - * API name: {@code date_detection} - */ - @Nullable - public final Boolean dateDetection() { - return this.dateDetection; - } - - /** - * Controls whether new fields are added dynamically. - *

    - * API name: {@code dynamic} - */ - @Nullable - public final DynamicMapping dynamic() { - return this.dynamic; - } - - /** - * If date detection is enabled then new string fields are checked against - * 'dynamic_date_formats' and if the value matches then a new date field is - * added instead of string. - *

    - * API name: {@code dynamic_date_formats} - */ - public final List dynamicDateFormats() { - return this.dynamicDateFormats; - } - - /** - * Specify dynamic templates for the mapping. - *

    - * API name: {@code dynamic_templates} - */ - public final List> dynamicTemplates() { - return this.dynamicTemplates; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Required - A comma-separated list of index names the mapping should be added - * to (supports wildcards); use _all or omit to add the mapping on - * all indices. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Automatically map strings into numeric data types for all fields. - *

    - * API name: {@code numeric_detection} - */ - @Nullable - public final Boolean numericDetection() { - return this.numericDetection; - } - - /** - * Mapping for a field. For new fields, this mapping can include: - *

      - *
    • Field name
    • - *
    • Field data type
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code properties} - */ - public final Map properties() { - return this.properties; - } - - /** - * Mapping of runtime fields for the index. - *

    - * API name: {@code runtime} - */ - public final Map runtime() { - return this.runtime; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * If true, the mappings are applied only to the current write - * index for the target. - *

    - * API name: {@code write_index_only} - */ - @Nullable - public final Boolean writeIndexOnly() { - return this.writeIndexOnly; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.fieldNames != null) { - generator.writeKey("_field_names"); - this.fieldNames.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.meta)) { - generator.writeKey("_meta"); - generator.writeStartObject(); - for (Map.Entry item0 : this.meta.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.routing != null) { - generator.writeKey("_routing"); - this.routing.serialize(generator, mapper); - - } - if (this.source != null) { - generator.writeKey("_source"); - this.source.serialize(generator, mapper); - - } - if (this.dateDetection != null) { - generator.writeKey("date_detection"); - generator.write(this.dateDetection); - - } - if (this.dynamic != null) { - generator.writeKey("dynamic"); - this.dynamic.serialize(generator, mapper); - } - if (ApiTypeHelper.isDefined(this.dynamicDateFormats)) { - generator.writeKey("dynamic_date_formats"); - generator.writeStartArray(); - for (String item0 : this.dynamicDateFormats) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.dynamicTemplates)) { - generator.writeKey("dynamic_templates"); - generator.writeStartArray(); - for (Map item0 : this.dynamicTemplates) { - generator.writeStartObject(); - if (item0 != null) { - for (Map.Entry item1 : item0.entrySet()) { - generator.writeKey(item1.getKey()); - item1.getValue().serialize(generator, mapper); - - } - } - generator.writeEnd(); - - } - generator.writeEnd(); - - } - if (this.numericDetection != null) { - generator.writeKey("numeric_detection"); - generator.write(this.numericDetection); - - } - if (ApiTypeHelper.isDefined(this.properties)) { - generator.writeKey("properties"); - generator.writeStartObject(); - for (Map.Entry item0 : this.properties.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.runtime)) { - generator.writeKey("runtime"); - generator.writeStartObject(); - for (Map.Entry item0 : this.runtime.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutMappingRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private FieldNamesField fieldNames; - - @Nullable - private Map meta; - - @Nullable - private RoutingField routing; - - @Nullable - private SourceField source; - - @Nullable - private Boolean allowNoIndices; - - @Nullable - private Boolean dateDetection; - - @Nullable - private DynamicMapping dynamic; - - @Nullable - private List dynamicDateFormats; - - @Nullable - private List> dynamicTemplates; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - private List index; - - @Nullable - private Time masterTimeout; - - @Nullable - private Boolean numericDetection; - - @Nullable - private Map properties; - - @Nullable - private Map runtime; - - @Nullable - private Time timeout; - - @Nullable - private Boolean writeIndexOnly; - - /** - * Control whether field names are enabled for the index. - *

    - * API name: {@code _field_names} - */ - public final Builder fieldNames(@Nullable FieldNamesField value) { - this.fieldNames = value; - return this; - } - - /** - * Control whether field names are enabled for the index. - *

    - * API name: {@code _field_names} - */ - public final Builder fieldNames(Function> fn) { - return this.fieldNames(fn.apply(new FieldNamesField.Builder()).build()); - } - - /** - * A mapping type can have custom meta data associated with it. These are not - * used at all by Elasticsearch, but can be used to store application-specific - * metadata. - *

    - * API name: {@code _meta} - *

    - * Adds all entries of map to meta. - */ - public final Builder meta(Map map) { - this.meta = _mapPutAll(this.meta, map); - return this; - } - - /** - * A mapping type can have custom meta data associated with it. These are not - * used at all by Elasticsearch, but can be used to store application-specific - * metadata. - *

    - * API name: {@code _meta} - *

    - * Adds an entry to meta. - */ - public final Builder meta(String key, JsonData value) { - this.meta = _mapPut(this.meta, key, value); - return this; - } - - /** - * Enable making a routing value required on indexed documents. - *

    - * API name: {@code _routing} - */ - public final Builder routing(@Nullable RoutingField value) { - this.routing = value; - return this; - } - - /** - * Enable making a routing value required on indexed documents. - *

    - * API name: {@code _routing} - */ - public final Builder routing(Function> fn) { - return this.routing(fn.apply(new RoutingField.Builder()).build()); - } - - /** - * Control whether the _source field is enabled on the index. - *

    - * API name: {@code _source} - */ - public final Builder source(@Nullable SourceField value) { - this.source = value; - return this; - } - - /** - * Control whether the _source field is enabled on the index. - *

    - * API name: {@code _source} - */ - public final Builder source(Function> fn) { - return this.source(fn.apply(new SourceField.Builder()).build()); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Controls whether dynamic date detection is enabled. - *

    - * API name: {@code date_detection} - */ - public final Builder dateDetection(@Nullable Boolean value) { - this.dateDetection = value; - return this; - } - - /** - * Controls whether new fields are added dynamically. - *

    - * API name: {@code dynamic} - */ - public final Builder dynamic(@Nullable DynamicMapping value) { - this.dynamic = value; - return this; - } - - /** - * If date detection is enabled then new string fields are checked against - * 'dynamic_date_formats' and if the value matches then a new date field is - * added instead of string. - *

    - * API name: {@code dynamic_date_formats} - *

    - * Adds all elements of list to dynamicDateFormats. - */ - public final Builder dynamicDateFormats(List list) { - this.dynamicDateFormats = _listAddAll(this.dynamicDateFormats, list); - return this; - } - - /** - * If date detection is enabled then new string fields are checked against - * 'dynamic_date_formats' and if the value matches then a new date field is - * added instead of string. - *

    - * API name: {@code dynamic_date_formats} - *

    - * Adds one or more values to dynamicDateFormats. - */ - public final Builder dynamicDateFormats(String value, String... values) { - this.dynamicDateFormats = _listAdd(this.dynamicDateFormats, value, values); - return this; - } - - /** - * Specify dynamic templates for the mapping. - *

    - * API name: {@code dynamic_templates} - *

    - * Adds all elements of list to dynamicTemplates. - */ - public final Builder dynamicTemplates(List> list) { - this.dynamicTemplates = _listAddAll(this.dynamicTemplates, list); - return this; - } - - /** - * Specify dynamic templates for the mapping. - *

    - * API name: {@code dynamic_templates} - *

    - * Adds one or more values to dynamicTemplates. - */ - public final Builder dynamicTemplates(Map value, - Map... values) { - this.dynamicTemplates = _listAdd(this.dynamicTemplates, value, values); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Required - A comma-separated list of index names the mapping should be added - * to (supports wildcards); use _all or omit to add the mapping on - * all indices. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Required - A comma-separated list of index names the mapping should be added - * to (supports wildcards); use _all or omit to add the mapping on - * all indices. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Automatically map strings into numeric data types for all fields. - *

    - * API name: {@code numeric_detection} - */ - public final Builder numericDetection(@Nullable Boolean value) { - this.numericDetection = value; - return this; - } - - /** - * Mapping for a field. For new fields, this mapping can include: - *

      - *
    • Field name
    • - *
    • Field data type
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code properties} - *

    - * Adds all entries of map to properties. - */ - public final Builder properties(Map map) { - this.properties = _mapPutAll(this.properties, map); - return this; - } - - /** - * Mapping for a field. For new fields, this mapping can include: - *

      - *
    • Field name
    • - *
    • Field data type
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code properties} - *

    - * Adds an entry to properties. - */ - public final Builder properties(String key, Property value) { - this.properties = _mapPut(this.properties, key, value); - return this; - } - - /** - * Mapping for a field. For new fields, this mapping can include: - *

      - *
    • Field name
    • - *
    • Field data type
    • - *
    • Mapping parameters
    • - *
    - *

    - * API name: {@code properties} - *

    - * Adds an entry to properties using a builder lambda. - */ - public final Builder properties(String key, Function> fn) { - return properties(key, fn.apply(new Property.Builder()).build()); - } - - /** - * Mapping of runtime fields for the index. - *

    - * API name: {@code runtime} - *

    - * Adds all entries of map to runtime. - */ - public final Builder runtime(Map map) { - this.runtime = _mapPutAll(this.runtime, map); - return this; - } - - /** - * Mapping of runtime fields for the index. - *

    - * API name: {@code runtime} - *

    - * Adds an entry to runtime. - */ - public final Builder runtime(String key, RuntimeField value) { - this.runtime = _mapPut(this.runtime, key, value); - return this; - } - - /** - * Mapping of runtime fields for the index. - *

    - * API name: {@code runtime} - *

    - * Adds an entry to runtime using a builder lambda. - */ - public final Builder runtime(String key, Function> fn) { - return runtime(key, fn.apply(new RuntimeField.Builder()).build()); - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * If true, the mappings are applied only to the current write - * index for the target. - *

    - * API name: {@code write_index_only} - */ - public final Builder writeIndexOnly(@Nullable Boolean value) { - this.writeIndexOnly = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutMappingRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutMappingRequest build() { - _checkSingleUse(); - - return new PutMappingRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutMappingRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutMappingRequest::setupPutMappingRequestDeserializer); - - protected static void setupPutMappingRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::fieldNames, FieldNamesField._DESERIALIZER, "_field_names"); - op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); - op.add(Builder::routing, RoutingField._DESERIALIZER, "_routing"); - op.add(Builder::source, SourceField._DESERIALIZER, "_source"); - op.add(Builder::dateDetection, JsonpDeserializer.booleanDeserializer(), "date_detection"); - op.add(Builder::dynamic, DynamicMapping._DESERIALIZER, "dynamic"); - op.add(Builder::dynamicDateFormats, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "dynamic_date_formats"); - op.add(Builder::dynamicTemplates, JsonpDeserializer.arrayDeserializer( - JsonpDeserializer.stringMapDeserializer(DynamicTemplate._DESERIALIZER)), "dynamic_templates"); - op.add(Builder::numericDetection, JsonpDeserializer.booleanDeserializer(), "numeric_detection"); - op.add(Builder::properties, JsonpDeserializer.stringMapDeserializer(Property._DESERIALIZER), "properties"); - op.add(Builder::runtime, JsonpDeserializer.stringMapDeserializer(RuntimeField._DESERIALIZER), "runtime"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_mapping}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_mapping", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_mapping"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - propsSet |= _index; - - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.writeIndexOnly != null) { - params.put("write_index_only", String.valueOf(request.writeIndexOnly)); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutMappingResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingResponse.java deleted file mode 100644 index be50ff1ee..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutMappingResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.IndicesResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_mapping.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutMappingResponse extends IndicesResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutMappingResponse(Builder builder) { - super(builder); - - } - - public static PutMappingResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutMappingResponse}. - */ - - public static class Builder extends IndicesResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutMappingResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutMappingResponse build() { - _checkSingleUse(); - - return new PutMappingResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutMappingResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutMappingResponse::setupPutMappingResponseDeserializer); - - protected static void setupPutMappingResponseDeserializer(ObjectDeserializer op) { - IndicesResponseBase.setupIndicesResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java deleted file mode 100644 index 5565de8d4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateRequest.java +++ /dev/null @@ -1,591 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_template.Request - -/** - * Create or update an index template. Index templates define settings, - * mappings, and aliases that can be applied automatically to new indices. - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutTemplateRequest extends RequestBase implements JsonpSerializable { - private final Map aliases; - - @Nullable - private final String cause; - - @Nullable - private final Boolean create; - - private final List indexPatterns; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final Time masterTimeout; - - private final String name; - - @Nullable - private final Integer order; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final Long version; - - // --------------------------------------------------------------------------------------------- - - private PutTemplateRequest(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.cause = builder.cause; - this.create = builder.create; - this.indexPatterns = ApiTypeHelper.unmodifiable(builder.indexPatterns); - this.mappings = builder.mappings; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.order = builder.order; - this.settings = builder.settings; - this.version = builder.version; - - } - - public static PutTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * API name: {@code cause} - */ - @Nullable - public final String cause() { - return this.cause; - } - - /** - * If true, this request cannot replace or update existing index templates. - *

    - * API name: {@code create} - */ - @Nullable - public final Boolean create() { - return this.create; - } - - /** - * Array of wildcard expressions used to match the names of indices during - * creation. - *

    - * API name: {@code index_patterns} - */ - public final List indexPatterns() { - return this.indexPatterns; - } - - /** - * Mapping for fields in the index. - *

    - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - The name of the template - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Order in which Elasticsearch applies this template if index matches multiple - * templates. - *

    - * Templates with lower 'order' values are merged first. Templates with higher - * 'order' values are merged later, overriding templates with lower values. - *

    - * API name: {@code order} - */ - @Nullable - public final Integer order() { - return this.order; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - @Nullable - public final Long version() { - return this.version; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.indexPatterns)) { - generator.writeKey("index_patterns"); - generator.writeStartArray(); - for (String item0 : this.indexPatterns) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (this.order != null) { - generator.writeKey("order"); - generator.write(this.order); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - if (this.version != null) { - generator.writeKey("version"); - generator.write(this.version); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Map aliases; - - @Nullable - private String cause; - - @Nullable - private Boolean create; - - @Nullable - private List indexPatterns; - - @Nullable - private TypeMapping mappings; - - @Nullable - private Time masterTimeout; - - private String name; - - @Nullable - private Integer order; - - @Nullable - private IndexSettings settings; - - @Nullable - private Long version; - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Aliases for the index. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * API name: {@code cause} - */ - public final Builder cause(@Nullable String value) { - this.cause = value; - return this; - } - - /** - * If true, this request cannot replace or update existing index templates. - *

    - * API name: {@code create} - */ - public final Builder create(@Nullable Boolean value) { - this.create = value; - return this; - } - - /** - * Array of wildcard expressions used to match the names of indices during - * creation. - *

    - * API name: {@code index_patterns} - *

    - * Adds all elements of list to indexPatterns. - */ - public final Builder indexPatterns(List list) { - this.indexPatterns = _listAddAll(this.indexPatterns, list); - return this; - } - - /** - * Array of wildcard expressions used to match the names of indices during - * creation. - *

    - * API name: {@code index_patterns} - *

    - * Adds one or more values to indexPatterns. - */ - public final Builder indexPatterns(String value, String... values) { - this.indexPatterns = _listAdd(this.indexPatterns, value, values); - return this; - } - - /** - * Mapping for fields in the index. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Mapping for fields in the index. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - The name of the template - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Order in which Elasticsearch applies this template if index matches multiple - * templates. - *

    - * Templates with lower 'order' values are merged first. Templates with higher - * 'order' values are merged later, overriding templates with lower values. - *

    - * API name: {@code order} - */ - public final Builder order(@Nullable Integer value) { - this.order = value; - return this; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - public final Builder version(@Nullable Long value) { - this.version = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutTemplateRequest build() { - _checkSingleUse(); - - return new PutTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutTemplateRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutTemplateRequest::setupPutTemplateRequestDeserializer); - - protected static void setupPutTemplateRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "index_patterns"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::order, JsonpDeserializer.integerDeserializer(), "order"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.put_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.put_template", - - // Request method - request -> { - return "PUT"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_template"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.create != null) { - params.put("create", String.valueOf(request.create)); - } - if (request.cause != null) { - params.put("cause", request.cause); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, PutTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateResponse.java deleted file mode 100644 index dd12b6c88..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/PutTemplateResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class PutTemplateResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private PutTemplateResponse(Builder builder) { - super(builder); - - } - - public static PutTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link PutTemplateResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link PutTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public PutTemplateResponse build() { - _checkSingleUse(); - - return new PutTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link PutTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, PutTemplateResponse::setupPutTemplateResponseDeserializer); - - protected static void setupPutTemplateResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Queries.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Queries.java deleted file mode 100644 index f5db74497..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Queries.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.Queries - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Queries implements JsonpSerializable { - @Nullable - private final CacheQueries cache; - - // --------------------------------------------------------------------------------------------- - - private Queries(Builder builder) { - - this.cache = builder.cache; - - } - - public static Queries of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code cache} - */ - @Nullable - public final CacheQueries cache() { - return this.cache; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.cache != null) { - generator.writeKey("cache"); - this.cache.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Queries}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private CacheQueries cache; - - /** - * API name: {@code cache} - */ - public final Builder cache(@Nullable CacheQueries value) { - this.cache = value; - return this; - } - - /** - * API name: {@code cache} - */ - public final Builder cache(Function> fn) { - return this.cache(fn.apply(new CacheQueries.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Queries}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Queries build() { - _checkSingleUse(); - - return new Queries(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Queries} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Queries::setupQueriesDeserializer); - - protected static void setupQueriesDeserializer(ObjectDeserializer op) { - - op.add(Builder::cache, CacheQueries._DESERIALIZER, "cache"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshRequest.java deleted file mode 100644 index 218b5a1c4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshRequest.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.refresh.Request - -/** - * Refresh an index. A refresh makes recent operations performed on one or more - * indices available for search. For data streams, the API runs the refresh - * operation on the stream’s backing indices. - * - * @see API - * specification - */ - -public class RefreshRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - // --------------------------------------------------------------------------------------------- - - private RefreshRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - - } - - public static RefreshRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RefreshRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases used to limit the - * request. Supports wildcards (*). To target all data streams and - * indices, omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RefreshRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RefreshRequest build() { - _checkSingleUse(); - - return new RefreshRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.refresh}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.refresh", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_refresh"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_refresh"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, RefreshResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshResponse.java deleted file mode 100644 index c000085e2..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RefreshResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ShardsOperationResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.refresh.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class RefreshResponse extends ShardsOperationResponseBase { - // --------------------------------------------------------------------------------------------- - - private RefreshResponse(Builder builder) { - super(builder); - - } - - public static RefreshResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RefreshResponse}. - */ - - public static class Builder extends ShardsOperationResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RefreshResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RefreshResponse build() { - _checkSingleUse(); - - return new RefreshResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RefreshResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RefreshResponse::setupRefreshResponseDeserializer); - - protected static void setupRefreshResponseDeserializer(ObjectDeserializer op) { - ShardsOperationResponseBase.setupShardsOperationResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java deleted file mode 100644 index 1e6af297b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexRequest.java +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.resolve_index.Request - -/** - * Resolves the specified name(s) and/or index patterns for indices, aliases, - * and data streams. Multiple patterns and remote clusters are supported. - * - * @see API - * specification - */ - -public class ResolveIndexRequest extends RequestBase { - @Nullable - private final Boolean allowNoIndices; - - private final List expandWildcards; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List name; - - // --------------------------------------------------------------------------------------------- - - private ResolveIndexRequest(Builder builder) { - - this.allowNoIndices = builder.allowNoIndices; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.ignoreUnavailable = builder.ignoreUnavailable; - this.name = ApiTypeHelper.unmodifiableRequired(builder.name, this, "name"); - - } - - public static ResolveIndexRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with - * bar. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Required - Comma-separated name(s) or index pattern(s) of the indices, - * aliases, and data streams to resolve. Resources on remote clusters can be - * specified using the <cluster>:<name> - * syntax. - *

    - * API name: {@code name} - */ - public final List name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ResolveIndexRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allowNoIndices; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean ignoreUnavailable; - - private List name; - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. For example, a request targeting foo*,bar* returns an - * error if an index starts with foo but no index starts with - * bar. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Required - Comma-separated name(s) or index pattern(s) of the indices, - * aliases, and data streams to resolve. Resources on remote clusters can be - * specified using the <cluster>:<name> - * syntax. - *

    - * API name: {@code name} - *

    - * Adds all elements of list to name. - */ - public final Builder name(List list) { - this.name = _listAddAll(this.name, list); - return this; - } - - /** - * Required - Comma-separated name(s) or index pattern(s) of the indices, - * aliases, and data streams to resolve. Resources on remote clusters can be - * specified using the <cluster>:<name> - * syntax. - *

    - * API name: {@code name} - *

    - * Adds one or more values to name. - */ - public final Builder name(String value, String... values) { - this.name = _listAdd(this.name, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ResolveIndexRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ResolveIndexRequest build() { - _checkSingleUse(); - - return new ResolveIndexRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.resolve_index}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.resolve_index", - - // Request method - request -> { - return "GET"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_resolve"); - buf.append("/index"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name.stream().map(v -> v).collect(Collectors.joining(",")), buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, ResolveIndexResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexResponse.java deleted file mode 100644 index 789d67994..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ResolveIndexResponse.java +++ /dev/null @@ -1,293 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.resolve_index.ResolveIndexAliasItem; -import co.elastic.clients.elasticsearch.indices.resolve_index.ResolveIndexDataStreamsItem; -import co.elastic.clients.elasticsearch.indices.resolve_index.ResolveIndexItem; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.resolve_index.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ResolveIndexResponse implements JsonpSerializable { - private final List indices; - - private final List aliases; - - private final List dataStreams; - - // --------------------------------------------------------------------------------------------- - - private ResolveIndexResponse(Builder builder) { - - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - this.aliases = ApiTypeHelper.unmodifiableRequired(builder.aliases, this, "aliases"); - this.dataStreams = ApiTypeHelper.unmodifiableRequired(builder.dataStreams, this, "dataStreams"); - - } - - public static ResolveIndexResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Required - API name: {@code aliases} - */ - public final List aliases() { - return this.aliases; - } - - /** - * Required - API name: {@code data_streams} - */ - public final List dataStreams() { - return this.dataStreams; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (ResolveIndexItem item0 : this.indices) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartArray(); - for (ResolveIndexAliasItem item0 : this.aliases) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.dataStreams)) { - generator.writeKey("data_streams"); - generator.writeStartArray(); - for (ResolveIndexDataStreamsItem item0 : this.dataStreams) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ResolveIndexResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private List indices; - - private List aliases; - - private List dataStreams; - - /** - * Required - API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(ResolveIndexItem value, ResolveIndexItem... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds a value to indices using a builder lambda. - */ - public final Builder indices(Function> fn) { - return indices(fn.apply(new ResolveIndexItem.Builder()).build()); - } - - /** - * Required - API name: {@code aliases} - *

    - * Adds all elements of list to aliases. - */ - public final Builder aliases(List list) { - this.aliases = _listAddAll(this.aliases, list); - return this; - } - - /** - * Required - API name: {@code aliases} - *

    - * Adds one or more values to aliases. - */ - public final Builder aliases(ResolveIndexAliasItem value, ResolveIndexAliasItem... values) { - this.aliases = _listAdd(this.aliases, value, values); - return this; - } - - /** - * Required - API name: {@code aliases} - *

    - * Adds a value to aliases using a builder lambda. - */ - public final Builder aliases(Function> fn) { - return aliases(fn.apply(new ResolveIndexAliasItem.Builder()).build()); - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds all elements of list to dataStreams. - */ - public final Builder dataStreams(List list) { - this.dataStreams = _listAddAll(this.dataStreams, list); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds one or more values to dataStreams. - */ - public final Builder dataStreams(ResolveIndexDataStreamsItem value, ResolveIndexDataStreamsItem... values) { - this.dataStreams = _listAdd(this.dataStreams, value, values); - return this; - } - - /** - * Required - API name: {@code data_streams} - *

    - * Adds a value to dataStreams using a builder lambda. - */ - public final Builder dataStreams( - Function> fn) { - return dataStreams(fn.apply(new ResolveIndexDataStreamsItem.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ResolveIndexResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ResolveIndexResponse build() { - _checkSingleUse(); - - return new ResolveIndexResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ResolveIndexResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ResolveIndexResponse::setupResolveIndexResponseDeserializer); - - protected static void setupResolveIndexResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(ResolveIndexItem._DESERIALIZER), "indices"); - op.add(Builder::aliases, JsonpDeserializer.arrayDeserializer(ResolveIndexAliasItem._DESERIALIZER), "aliases"); - op.add(Builder::dataStreams, JsonpDeserializer.arrayDeserializer(ResolveIndexDataStreamsItem._DESERIALIZER), - "data_streams"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RetentionLease.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RetentionLease.java deleted file mode 100644 index 0111463c2..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RetentionLease.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.RetentionLease - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class RetentionLease implements JsonpSerializable { - private final Time period; - - // --------------------------------------------------------------------------------------------- - - private RetentionLease(Builder builder) { - - this.period = ApiTypeHelper.requireNonNull(builder.period, this, "period"); - - } - - public static RetentionLease of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code period} - */ - public final Time period() { - return this.period; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("period"); - this.period.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RetentionLease}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Time period; - - /** - * Required - API name: {@code period} - */ - public final Builder period(Time value) { - this.period = value; - return this; - } - - /** - * Required - API name: {@code period} - */ - public final Builder period(Function> fn) { - return this.period(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RetentionLease}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RetentionLease build() { - _checkSingleUse(); - - return new RetentionLease(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RetentionLease} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RetentionLease::setupRetentionLeaseDeserializer); - - protected static void setupRetentionLeaseDeserializer(ObjectDeserializer op) { - - op.add(Builder::period, Time._DESERIALIZER, "period"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverRequest.java deleted file mode 100644 index 6c6fb15d4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverRequest.java +++ /dev/null @@ -1,643 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch._types.WaitForActiveShards; -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.elasticsearch.indices.rollover.RolloverConditions; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.rollover.Request - -/** - * Roll over to a new index. Creates a new index for a data stream or index - * alias. - * - * @see API - * specification - */ -@JsonpDeserializable -public class RolloverRequest extends RequestBase implements JsonpSerializable { - private final String alias; - - private final Map aliases; - - @Nullable - private final RolloverConditions conditions; - - @Nullable - private final Boolean dryRun; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final String newIndex; - - private final Map settings; - - @Nullable - private final Time timeout; - - @Nullable - private final WaitForActiveShards waitForActiveShards; - - // --------------------------------------------------------------------------------------------- - - private RolloverRequest(Builder builder) { - - this.alias = ApiTypeHelper.requireNonNull(builder.alias, this, "alias"); - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.conditions = builder.conditions; - this.dryRun = builder.dryRun; - this.mappings = builder.mappings; - this.masterTimeout = builder.masterTimeout; - this.newIndex = builder.newIndex; - this.settings = ApiTypeHelper.unmodifiable(builder.settings); - this.timeout = builder.timeout; - this.waitForActiveShards = builder.waitForActiveShards; - - } - - public static RolloverRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Name of the data stream or index alias to roll over. - *

    - * API name: {@code alias} - */ - public final String alias() { - return this.alias; - } - - /** - * Aliases for the target index. Data streams do not support this parameter. - *

    - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Conditions for the rollover. If specified, Elasticsearch only performs the - * rollover if the current index satisfies these conditions. If this parameter - * is not specified, Elasticsearch performs the rollover unconditionally. If - * conditions are specified, at least one of them must be a max_* - * condition. The index will rollover if any max_* condition is - * satisfied and all min_* conditions are satisfied. - *

    - * API name: {@code conditions} - */ - @Nullable - public final RolloverConditions conditions() { - return this.conditions; - } - - /** - * If true, checks whether the current index satisfies the - * specified conditions but does not perform a rollover. - *

    - * API name: {@code dry_run} - */ - @Nullable - public final Boolean dryRun() { - return this.dryRun; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping paramaters. - *

    - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Name of the index to create. Supports date math. Data streams do not support - * this parameter. - *

    - * API name: {@code new_index} - */ - @Nullable - public final String newIndex() { - return this.newIndex; - } - - /** - * Configuration options for the index. Data streams do not support this - * parameter. - *

    - * API name: {@code settings} - */ - public final Map settings() { - return this.settings; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total number of - * shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - @Nullable - public final WaitForActiveShards waitForActiveShards() { - return this.waitForActiveShards; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.conditions != null) { - generator.writeKey("conditions"); - this.conditions.serialize(generator, mapper); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.settings)) { - generator.writeKey("settings"); - generator.writeStartObject(); - for (Map.Entry item0 : this.settings.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RolloverRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder implements ObjectBuilder { - private String alias; - - @Nullable - private Map aliases; - - @Nullable - private RolloverConditions conditions; - - @Nullable - private Boolean dryRun; - - @Nullable - private TypeMapping mappings; - - @Nullable - private Time masterTimeout; - - @Nullable - private String newIndex; - - @Nullable - private Map settings; - - @Nullable - private Time timeout; - - @Nullable - private WaitForActiveShards waitForActiveShards; - - /** - * Required - Name of the data stream or index alias to roll over. - *

    - * API name: {@code alias} - */ - public final Builder alias(String value) { - this.alias = value; - return this; - } - - /** - * Aliases for the target index. Data streams do not support this parameter. - *

    - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Aliases for the target index. Data streams do not support this parameter. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Aliases for the target index. Data streams do not support this parameter. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * Conditions for the rollover. If specified, Elasticsearch only performs the - * rollover if the current index satisfies these conditions. If this parameter - * is not specified, Elasticsearch performs the rollover unconditionally. If - * conditions are specified, at least one of them must be a max_* - * condition. The index will rollover if any max_* condition is - * satisfied and all min_* conditions are satisfied. - *

    - * API name: {@code conditions} - */ - public final Builder conditions(@Nullable RolloverConditions value) { - this.conditions = value; - return this; - } - - /** - * Conditions for the rollover. If specified, Elasticsearch only performs the - * rollover if the current index satisfies these conditions. If this parameter - * is not specified, Elasticsearch performs the rollover unconditionally. If - * conditions are specified, at least one of them must be a max_* - * condition. The index will rollover if any max_* condition is - * satisfied and all min_* conditions are satisfied. - *

    - * API name: {@code conditions} - */ - public final Builder conditions(Function> fn) { - return this.conditions(fn.apply(new RolloverConditions.Builder()).build()); - } - - /** - * If true, checks whether the current index satisfies the - * specified conditions but does not perform a rollover. - *

    - * API name: {@code dry_run} - */ - public final Builder dryRun(@Nullable Boolean value) { - this.dryRun = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping paramaters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping paramaters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Name of the index to create. Supports date math. Data streams do not support - * this parameter. - *

    - * API name: {@code new_index} - */ - public final Builder newIndex(@Nullable String value) { - this.newIndex = value; - return this; - } - - /** - * Configuration options for the index. Data streams do not support this - * parameter. - *

    - * API name: {@code settings} - *

    - * Adds all entries of map to settings. - */ - public final Builder settings(Map map) { - this.settings = _mapPutAll(this.settings, map); - return this; - } - - /** - * Configuration options for the index. Data streams do not support this - * parameter. - *

    - * API name: {@code settings} - *

    - * Adds an entry to settings. - */ - public final Builder settings(String key, JsonData value) { - this.settings = _mapPut(this.settings, key, value); - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total number of - * shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - public final Builder waitForActiveShards(@Nullable WaitForActiveShards value) { - this.waitForActiveShards = value; - return this; - } - - /** - * The number of shard copies that must be active before proceeding with the - * operation. Set to all or any positive integer up to the total number of - * shards in the index (number_of_replicas+1). - *

    - * API name: {@code wait_for_active_shards} - */ - public final Builder waitForActiveShards( - Function> fn) { - return this.waitForActiveShards(fn.apply(new WaitForActiveShards.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RolloverRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RolloverRequest build() { - _checkSingleUse(); - - return new RolloverRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RolloverRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RolloverRequest::setupRolloverRequestDeserializer); - - protected static void setupRolloverRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::conditions, RolloverConditions._DESERIALIZER, "conditions"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::settings, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "settings"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.rollover}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.rollover", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _newIndex = 1 << 0; - final int _alias = 1 << 1; - - int propsSet = 0; - - if (request.newIndex() != null) - propsSet |= _newIndex; - propsSet |= _alias; - - if (propsSet == (_alias)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.alias, buf); - buf.append("/_rollover"); - return buf.toString(); - } - if (propsSet == (_alias | _newIndex)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.alias, buf); - buf.append("/_rollover"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.newIndex, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _newIndex = 1 << 0; - final int _alias = 1 << 1; - - int propsSet = 0; - - if (request.newIndex() != null) - propsSet |= _newIndex; - propsSet |= _alias; - - if (propsSet == (_alias)) { - params.put("alias", request.alias); - } - if (propsSet == (_alias | _newIndex)) { - params.put("alias", request.alias); - params.put("newIndex", request.newIndex); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.waitForActiveShards != null) { - params.put("wait_for_active_shards", request.waitForActiveShards._toJsonString()); - } - if (request.dryRun != null) { - params.put("dry_run", String.valueOf(request.dryRun)); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, RolloverResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverResponse.java deleted file mode 100644 index 1e54c4672..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/RolloverResponse.java +++ /dev/null @@ -1,321 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponse; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.rollover.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class RolloverResponse implements AcknowledgedResponse, JsonpSerializable { - private final boolean acknowledged; - - private final Map conditions; - - private final boolean dryRun; - - private final String newIndex; - - private final String oldIndex; - - private final boolean rolledOver; - - private final boolean shardsAcknowledged; - - // --------------------------------------------------------------------------------------------- - - private RolloverResponse(Builder builder) { - - this.acknowledged = ApiTypeHelper.requireNonNull(builder.acknowledged, this, "acknowledged"); - this.conditions = ApiTypeHelper.unmodifiableRequired(builder.conditions, this, "conditions"); - this.dryRun = ApiTypeHelper.requireNonNull(builder.dryRun, this, "dryRun"); - this.newIndex = ApiTypeHelper.requireNonNull(builder.newIndex, this, "newIndex"); - this.oldIndex = ApiTypeHelper.requireNonNull(builder.oldIndex, this, "oldIndex"); - this.rolledOver = ApiTypeHelper.requireNonNull(builder.rolledOver, this, "rolledOver"); - this.shardsAcknowledged = ApiTypeHelper.requireNonNull(builder.shardsAcknowledged, this, "shardsAcknowledged"); - - } - - public static RolloverResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code acknowledged} - */ - public final boolean acknowledged() { - return this.acknowledged; - } - - /** - * Required - API name: {@code conditions} - */ - public final Map conditions() { - return this.conditions; - } - - /** - * Required - API name: {@code dry_run} - */ - public final boolean dryRun() { - return this.dryRun; - } - - /** - * Required - API name: {@code new_index} - */ - public final String newIndex() { - return this.newIndex; - } - - /** - * Required - API name: {@code old_index} - */ - public final String oldIndex() { - return this.oldIndex; - } - - /** - * Required - API name: {@code rolled_over} - */ - public final boolean rolledOver() { - return this.rolledOver; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final boolean shardsAcknowledged() { - return this.shardsAcknowledged; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("acknowledged"); - generator.write(this.acknowledged); - - if (ApiTypeHelper.isDefined(this.conditions)) { - generator.writeKey("conditions"); - generator.writeStartObject(); - for (Map.Entry item0 : this.conditions.entrySet()) { - generator.writeKey(item0.getKey()); - generator.write(item0.getValue()); - - } - generator.writeEnd(); - - } - generator.writeKey("dry_run"); - generator.write(this.dryRun); - - generator.writeKey("new_index"); - generator.write(this.newIndex); - - generator.writeKey("old_index"); - generator.write(this.oldIndex); - - generator.writeKey("rolled_over"); - generator.write(this.rolledOver); - - generator.writeKey("shards_acknowledged"); - generator.write(this.shardsAcknowledged); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RolloverResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Boolean acknowledged; - - private Map conditions; - - private Boolean dryRun; - - private String newIndex; - - private String oldIndex; - - private Boolean rolledOver; - - private Boolean shardsAcknowledged; - - /** - * Required - API name: {@code acknowledged} - */ - public final Builder acknowledged(boolean value) { - this.acknowledged = value; - return this; - } - - /** - * Required - API name: {@code conditions} - *

    - * Adds all entries of map to conditions. - */ - public final Builder conditions(Map map) { - this.conditions = _mapPutAll(this.conditions, map); - return this; - } - - /** - * Required - API name: {@code conditions} - *

    - * Adds an entry to conditions. - */ - public final Builder conditions(String key, Boolean value) { - this.conditions = _mapPut(this.conditions, key, value); - return this; - } - - /** - * Required - API name: {@code dry_run} - */ - public final Builder dryRun(boolean value) { - this.dryRun = value; - return this; - } - - /** - * Required - API name: {@code new_index} - */ - public final Builder newIndex(String value) { - this.newIndex = value; - return this; - } - - /** - * Required - API name: {@code old_index} - */ - public final Builder oldIndex(String value) { - this.oldIndex = value; - return this; - } - - /** - * Required - API name: {@code rolled_over} - */ - public final Builder rolledOver(boolean value) { - this.rolledOver = value; - return this; - } - - /** - * Required - API name: {@code shards_acknowledged} - */ - public final Builder shardsAcknowledged(boolean value) { - this.shardsAcknowledged = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RolloverResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RolloverResponse build() { - _checkSingleUse(); - - return new RolloverResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RolloverResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - RolloverResponse::setupRolloverResponseDeserializer); - - protected static void setupRolloverResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::acknowledged, JsonpDeserializer.booleanDeserializer(), "acknowledged"); - op.add(Builder::conditions, JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.booleanDeserializer()), - "conditions"); - op.add(Builder::dryRun, JsonpDeserializer.booleanDeserializer(), "dry_run"); - op.add(Builder::newIndex, JsonpDeserializer.stringDeserializer(), "new_index"); - op.add(Builder::oldIndex, JsonpDeserializer.stringDeserializer(), "old_index"); - op.add(Builder::rolledOver, JsonpDeserializer.booleanDeserializer(), "rolled_over"); - op.add(Builder::shardsAcknowledged, JsonpDeserializer.booleanDeserializer(), "shards_acknowledged"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SearchIdle.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SearchIdle.java deleted file mode 100644 index b0d492f77..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SearchIdle.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SearchIdle - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SearchIdle implements JsonpSerializable { - @Nullable - private final Time after; - - // --------------------------------------------------------------------------------------------- - - private SearchIdle(Builder builder) { - - this.after = builder.after; - - } - - public static SearchIdle of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code after} - */ - @Nullable - public final Time after() { - return this.after; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.after != null) { - generator.writeKey("after"); - this.after.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SearchIdle}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Time after; - - /** - * API name: {@code after} - */ - public final Builder after(@Nullable Time value) { - this.after = value; - return this; - } - - /** - * API name: {@code after} - */ - public final Builder after(Function> fn) { - return this.after(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SearchIdle}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SearchIdle build() { - _checkSingleUse(); - - return new SearchIdle(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SearchIdle} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SearchIdle::setupSearchIdleDeserializer); - - protected static void setupSearchIdleDeserializer(ObjectDeserializer op) { - - op.add(Builder::after, Time._DESERIALIZER, "after"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMissing.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMissing.java deleted file mode 100644 index 7cfbf1b3a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMissing.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum SegmentSortMissing implements JsonEnum { - Last("_last"), - - First("_first"), - - ; - - private final String jsonValue; - - SegmentSortMissing(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - SegmentSortMissing.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMode.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMode.java deleted file mode 100644 index b2625620c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortMode.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum SegmentSortMode implements JsonEnum { - Min("min", "MIN"), - - Max("max", "MAX"), - - ; - - private final String jsonValue; - private final String[] aliases; - - SegmentSortMode(String jsonValue, String... aliases) { - this.jsonValue = jsonValue; - this.aliases = aliases; - } - - public String jsonValue() { - return this.jsonValue; - } - - public String[] aliases() { - return this.aliases; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - SegmentSortMode.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortOrder.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortOrder.java deleted file mode 100644 index 565f50904..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SegmentSortOrder.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum SegmentSortOrder implements JsonEnum { - Asc("asc", "ASC"), - - Desc("desc", "DESC"), - - ; - - private final String jsonValue; - private final String[] aliases; - - SegmentSortOrder(String jsonValue, String... aliases) { - this.jsonValue = jsonValue; - this.aliases = aliases; - } - - public String jsonValue() { - return this.jsonValue; - } - - public String[] aliases() { - return this.aliases; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - SegmentSortOrder.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsAnalyze.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsAnalyze.java deleted file mode 100644 index eb547c319..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsAnalyze.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsAnalyze - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsAnalyze implements JsonpSerializable { - @Nullable - private final Integer maxTokenCount; - - // --------------------------------------------------------------------------------------------- - - private SettingsAnalyze(Builder builder) { - - this.maxTokenCount = builder.maxTokenCount; - - } - - public static SettingsAnalyze of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code max_token_count} - */ - @Nullable - public final Integer maxTokenCount() { - return this.maxTokenCount; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.maxTokenCount != null) { - generator.writeKey("max_token_count"); - generator.write(this.maxTokenCount); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsAnalyze}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Integer maxTokenCount; - - /** - * API name: {@code max_token_count} - */ - public final Builder maxTokenCount(@Nullable Integer value) { - this.maxTokenCount = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsAnalyze}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsAnalyze build() { - _checkSingleUse(); - - return new SettingsAnalyze(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsAnalyze} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SettingsAnalyze::setupSettingsAnalyzeDeserializer); - - protected static void setupSettingsAnalyzeDeserializer(ObjectDeserializer op) { - - op.add(Builder::maxTokenCount, JsonpDeserializer.integerDeserializer(), "max_token_count"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsHighlight.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsHighlight.java deleted file mode 100644 index 5148f36e6..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsHighlight.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsHighlight - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsHighlight implements JsonpSerializable { - @Nullable - private final Integer maxAnalyzedOffset; - - // --------------------------------------------------------------------------------------------- - - private SettingsHighlight(Builder builder) { - - this.maxAnalyzedOffset = builder.maxAnalyzedOffset; - - } - - public static SettingsHighlight of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code max_analyzed_offset} - */ - @Nullable - public final Integer maxAnalyzedOffset() { - return this.maxAnalyzedOffset; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.maxAnalyzedOffset != null) { - generator.writeKey("max_analyzed_offset"); - generator.write(this.maxAnalyzedOffset); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsHighlight}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Integer maxAnalyzedOffset; - - /** - * API name: {@code max_analyzed_offset} - */ - public final Builder maxAnalyzedOffset(@Nullable Integer value) { - this.maxAnalyzedOffset = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsHighlight}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsHighlight build() { - _checkSingleUse(); - - return new SettingsHighlight(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsHighlight} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsHighlight::setupSettingsHighlightDeserializer); - - protected static void setupSettingsHighlightDeserializer(ObjectDeserializer op) { - - op.add(Builder::maxAnalyzedOffset, JsonpDeserializer.integerDeserializer(), "max_analyzed_offset"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsQueryString.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsQueryString.java deleted file mode 100644 index 4251c53c9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsQueryString.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsQueryString - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsQueryString implements JsonpSerializable { - private final boolean lenient; - - // --------------------------------------------------------------------------------------------- - - private SettingsQueryString(Builder builder) { - - this.lenient = ApiTypeHelper.requireNonNull(builder.lenient, this, "lenient"); - - } - - public static SettingsQueryString of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code lenient} - */ - public final boolean lenient() { - return this.lenient; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("lenient"); - generator.write(this.lenient); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsQueryString}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Boolean lenient; - - /** - * Required - API name: {@code lenient} - */ - public final Builder lenient(boolean value) { - this.lenient = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsQueryString}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsQueryString build() { - _checkSingleUse(); - - return new SettingsQueryString(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsQueryString} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsQueryString::setupSettingsQueryStringDeserializer); - - protected static void setupSettingsQueryStringDeserializer(ObjectDeserializer op) { - - op.add(Builder::lenient, JsonpDeserializer.booleanDeserializer(), "lenient"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSearch.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSearch.java deleted file mode 100644 index 94ab24661..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSearch.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSearch - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSearch implements JsonpSerializable { - @Nullable - private final SearchIdle idle; - - @Nullable - private final SlowlogSettings slowlog; - - // --------------------------------------------------------------------------------------------- - - private SettingsSearch(Builder builder) { - - this.idle = builder.idle; - this.slowlog = builder.slowlog; - - } - - public static SettingsSearch of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code idle} - */ - @Nullable - public final SearchIdle idle() { - return this.idle; - } - - /** - * API name: {@code slowlog} - */ - @Nullable - public final SlowlogSettings slowlog() { - return this.slowlog; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.idle != null) { - generator.writeKey("idle"); - this.idle.serialize(generator, mapper); - - } - if (this.slowlog != null) { - generator.writeKey("slowlog"); - this.slowlog.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSearch}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private SearchIdle idle; - - @Nullable - private SlowlogSettings slowlog; - - /** - * API name: {@code idle} - */ - public final Builder idle(@Nullable SearchIdle value) { - this.idle = value; - return this; - } - - /** - * API name: {@code idle} - */ - public final Builder idle(Function> fn) { - return this.idle(fn.apply(new SearchIdle.Builder()).build()); - } - - /** - * API name: {@code slowlog} - */ - public final Builder slowlog(@Nullable SlowlogSettings value) { - this.slowlog = value; - return this; - } - - /** - * API name: {@code slowlog} - */ - public final Builder slowlog(Function> fn) { - return this.slowlog(fn.apply(new SlowlogSettings.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSearch}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSearch build() { - _checkSingleUse(); - - return new SettingsSearch(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSearch} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SettingsSearch::setupSettingsSearchDeserializer); - - protected static void setupSettingsSearchDeserializer(ObjectDeserializer op) { - - op.add(Builder::idle, SearchIdle._DESERIALIZER, "idle"); - op.add(Builder::slowlog, SlowlogSettings._DESERIALIZER, "slowlog"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarity.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarity.java deleted file mode 100644 index 60d6d0d0f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarity.java +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarity - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarity - implements - TaggedUnion, - JsonpSerializable { - - /** - * {@link SettingsSimilarity} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - Bm25("BM25"), - - Boolean("boolean"), - - Dfi("DFI"), - - Dfr("DFR"), - - Ib("IB"), - - LMDirichlet("LMDirichlet"), - - LMJelinekMercer("LMJelinekMercer"), - - Scripted("scripted"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final SettingsSimilarityVariant _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final SettingsSimilarityVariant _get() { - return _value; - } - - public SettingsSimilarity(SettingsSimilarityVariant value) { - - this._kind = ApiTypeHelper.requireNonNull(value._settingsSimilarityKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); - - } - - private SettingsSimilarity(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static SettingsSimilarity of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code BM25}? - */ - public boolean isBm25() { - return _kind == Kind.Bm25; - } - - /** - * Get the {@code BM25} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code BM25} kind. - */ - public SettingsSimilarityBm25 bm25() { - return TaggedUnionUtils.get(this, Kind.Bm25); - } - - /** - * Is this variant instance of kind {@code boolean}? - */ - public boolean isBoolean() { - return _kind == Kind.Boolean; - } - - /** - * Get the {@code boolean} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code boolean} kind. - */ - public SettingsSimilarityBoolean boolean_() { - return TaggedUnionUtils.get(this, Kind.Boolean); - } - - /** - * Is this variant instance of kind {@code DFI}? - */ - public boolean isDfi() { - return _kind == Kind.Dfi; - } - - /** - * Get the {@code DFI} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code DFI} kind. - */ - public SettingsSimilarityDfi dfi() { - return TaggedUnionUtils.get(this, Kind.Dfi); - } - - /** - * Is this variant instance of kind {@code DFR}? - */ - public boolean isDfr() { - return _kind == Kind.Dfr; - } - - /** - * Get the {@code DFR} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code DFR} kind. - */ - public SettingsSimilarityDfr dfr() { - return TaggedUnionUtils.get(this, Kind.Dfr); - } - - /** - * Is this variant instance of kind {@code IB}? - */ - public boolean isIb() { - return _kind == Kind.Ib; - } - - /** - * Get the {@code IB} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code IB} kind. - */ - public SettingsSimilarityIb ib() { - return TaggedUnionUtils.get(this, Kind.Ib); - } - - /** - * Is this variant instance of kind {@code LMDirichlet}? - */ - public boolean isLMDirichlet() { - return _kind == Kind.LMDirichlet; - } - - /** - * Get the {@code LMDirichlet} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code LMDirichlet} kind. - */ - public SettingsSimilarityLmd lmdirichlet() { - return TaggedUnionUtils.get(this, Kind.LMDirichlet); - } - - /** - * Is this variant instance of kind {@code LMJelinekMercer}? - */ - public boolean isLMJelinekMercer() { - return _kind == Kind.LMJelinekMercer; - } - - /** - * Get the {@code LMJelinekMercer} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code LMJelinekMercer} - * kind. - */ - public SettingsSimilarityLmj lmjelinekmercer() { - return TaggedUnionUtils.get(this, Kind.LMJelinekMercer); - } - - /** - * Is this variant instance of kind {@code scripted}? - */ - public boolean isScripted() { - return _kind == Kind.Scripted; - } - - /** - * Get the {@code scripted} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code scripted} kind. - */ - public SettingsSimilarityScripted scripted() { - return TaggedUnionUtils.get(this, Kind.Scripted); - } - - @Override - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - - mapper.serialize(_value, generator); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Kind _kind; - private SettingsSimilarityVariant _value; - - @Override - protected Builder self() { - return this; - } - public ObjectBuilder bm25(SettingsSimilarityBm25 v) { - this._kind = Kind.Bm25; - this._value = v; - return this; - } - - public ObjectBuilder bm25( - Function> fn) { - return this.bm25(fn.apply(new SettingsSimilarityBm25.Builder()).build()); - } - - public ObjectBuilder boolean_(SettingsSimilarityBoolean v) { - this._kind = Kind.Boolean; - this._value = v; - return this; - } - - public ObjectBuilder boolean_( - Function> fn) { - return this.boolean_(fn.apply(new SettingsSimilarityBoolean.Builder()).build()); - } - - public ObjectBuilder dfi(SettingsSimilarityDfi v) { - this._kind = Kind.Dfi; - this._value = v; - return this; - } - - public ObjectBuilder dfi( - Function> fn) { - return this.dfi(fn.apply(new SettingsSimilarityDfi.Builder()).build()); - } - - public ObjectBuilder dfr(SettingsSimilarityDfr v) { - this._kind = Kind.Dfr; - this._value = v; - return this; - } - - public ObjectBuilder dfr( - Function> fn) { - return this.dfr(fn.apply(new SettingsSimilarityDfr.Builder()).build()); - } - - public ObjectBuilder ib(SettingsSimilarityIb v) { - this._kind = Kind.Ib; - this._value = v; - return this; - } - - public ObjectBuilder ib( - Function> fn) { - return this.ib(fn.apply(new SettingsSimilarityIb.Builder()).build()); - } - - public ObjectBuilder lmdirichlet(SettingsSimilarityLmd v) { - this._kind = Kind.LMDirichlet; - this._value = v; - return this; - } - - public ObjectBuilder lmdirichlet( - Function> fn) { - return this.lmdirichlet(fn.apply(new SettingsSimilarityLmd.Builder()).build()); - } - - public ObjectBuilder lmjelinekmercer(SettingsSimilarityLmj v) { - this._kind = Kind.LMJelinekMercer; - this._value = v; - return this; - } - - public ObjectBuilder lmjelinekmercer( - Function> fn) { - return this.lmjelinekmercer(fn.apply(new SettingsSimilarityLmj.Builder()).build()); - } - - public ObjectBuilder scripted(SettingsSimilarityScripted v) { - this._kind = Kind.Scripted; - this._value = v; - return this; - } - - public ObjectBuilder scripted( - Function> fn) { - return this.scripted(fn.apply(new SettingsSimilarityScripted.Builder()).build()); - } - - public SettingsSimilarity build() { - _checkSingleUse(); - return new SettingsSimilarity(this); - } - - } - - protected static void setupSettingsSimilarityDeserializer(ObjectDeserializer op) { - - op.add(Builder::bm25, SettingsSimilarityBm25._DESERIALIZER, "BM25"); - op.add(Builder::boolean_, SettingsSimilarityBoolean._DESERIALIZER, "boolean"); - op.add(Builder::dfi, SettingsSimilarityDfi._DESERIALIZER, "DFI"); - op.add(Builder::dfr, SettingsSimilarityDfr._DESERIALIZER, "DFR"); - op.add(Builder::ib, SettingsSimilarityIb._DESERIALIZER, "IB"); - op.add(Builder::lmdirichlet, SettingsSimilarityLmd._DESERIALIZER, "LMDirichlet"); - op.add(Builder::lmjelinekmercer, SettingsSimilarityLmj._DESERIALIZER, "LMJelinekMercer"); - op.add(Builder::scripted, SettingsSimilarityScripted._DESERIALIZER, "scripted"); - - op.setTypeProperty("type", null); - - } - - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarity::setupSettingsSimilarityDeserializer, Builder::build); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBm25.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBm25.java deleted file mode 100644 index 82ff73383..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBm25.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Double; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityBm25 - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityBm25 implements SettingsSimilarityVariant, JsonpSerializable { - @Nullable - private final Double b; - - @Nullable - private final Boolean discountOverlaps; - - @Nullable - private final Double k1; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityBm25(Builder builder) { - - this.b = builder.b; - this.discountOverlaps = builder.discountOverlaps; - this.k1 = builder.k1; - - } - - public static SettingsSimilarityBm25 of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Bm25; - } - - /** - * API name: {@code b} - */ - @Nullable - public final Double b() { - return this.b; - } - - /** - * API name: {@code discount_overlaps} - */ - @Nullable - public final Boolean discountOverlaps() { - return this.discountOverlaps; - } - - /** - * API name: {@code k1} - */ - @Nullable - public final Double k1() { - return this.k1; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "BM25"); - - if (this.b != null) { - generator.writeKey("b"); - generator.write(this.b); - - } - if (this.discountOverlaps != null) { - generator.writeKey("discount_overlaps"); - generator.write(this.discountOverlaps); - - } - if (this.k1 != null) { - generator.writeKey("k1"); - generator.write(this.k1); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityBm25}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Double b; - - @Nullable - private Boolean discountOverlaps; - - @Nullable - private Double k1; - - /** - * API name: {@code b} - */ - public final Builder b(@Nullable Double value) { - this.b = value; - return this; - } - - /** - * API name: {@code discount_overlaps} - */ - public final Builder discountOverlaps(@Nullable Boolean value) { - this.discountOverlaps = value; - return this; - } - - /** - * API name: {@code k1} - */ - public final Builder k1(@Nullable Double value) { - this.k1 = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityBm25}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityBm25 build() { - _checkSingleUse(); - - return new SettingsSimilarityBm25(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityBm25} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityBm25::setupSettingsSimilarityBm25Deserializer); - - protected static void setupSettingsSimilarityBm25Deserializer( - ObjectDeserializer op) { - - op.add(Builder::b, JsonpDeserializer.doubleDeserializer(), "b"); - op.add(Builder::discountOverlaps, JsonpDeserializer.booleanDeserializer(), "discount_overlaps"); - op.add(Builder::k1, JsonpDeserializer.doubleDeserializer(), "k1"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBoolean.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBoolean.java deleted file mode 100644 index e3016b8f1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBoolean.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityBoolean - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityBoolean implements SettingsSimilarityVariant, JsonpSerializable { - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityBoolean(Builder builder) { - - } - - public static SettingsSimilarityBoolean of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Boolean; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "boolean"); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityBoolean}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityBoolean}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityBoolean build() { - _checkSingleUse(); - - return new SettingsSimilarityBoolean(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityBoolean} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityBoolean::setupSettingsSimilarityBooleanDeserializer); - - protected static void setupSettingsSimilarityBooleanDeserializer( - ObjectDeserializer op) { - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBuilders.java deleted file mode 100644 index 454f72af1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityBuilders.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link SettingsSimilarity} variants. - */ -public class SettingsSimilarityBuilders { - private SettingsSimilarityBuilders() { - } - - /** - * Creates a builder for the {@link SettingsSimilarityBm25 BM25} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityBm25.Builder bm25() { - return new SettingsSimilarityBm25.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityBm25 BM25} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity bm25( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.bm25(fn.apply(new SettingsSimilarityBm25.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityBoolean boolean} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityBoolean.Builder boolean_() { - return new SettingsSimilarityBoolean.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityBoolean boolean} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity boolean_( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.boolean_(fn.apply(new SettingsSimilarityBoolean.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityDfi DFI} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityDfi.Builder dfi() { - return new SettingsSimilarityDfi.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityDfi DFI} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity dfi( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.dfi(fn.apply(new SettingsSimilarityDfi.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityDfr DFR} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityDfr.Builder dfr() { - return new SettingsSimilarityDfr.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityDfr DFR} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity dfr( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.dfr(fn.apply(new SettingsSimilarityDfr.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityIb IB} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityIb.Builder ib() { - return new SettingsSimilarityIb.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityIb IB} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity ib( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.ib(fn.apply(new SettingsSimilarityIb.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityLmd LMDirichlet} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityLmd.Builder lmdirichlet() { - return new SettingsSimilarityLmd.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityLmd LMDirichlet} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity lmdirichlet( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.lmdirichlet(fn.apply(new SettingsSimilarityLmd.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityLmj LMJelinekMercer} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityLmj.Builder lmjelinekmercer() { - return new SettingsSimilarityLmj.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityLmj - * LMJelinekMercer} {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity lmjelinekmercer( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.lmjelinekmercer(fn.apply(new SettingsSimilarityLmj.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link SettingsSimilarityScripted scripted} - * {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarityScripted.Builder scripted() { - return new SettingsSimilarityScripted.Builder(); - } - - /** - * Creates a SettingsSimilarity of the {@link SettingsSimilarityScripted - * scripted} {@code SettingsSimilarity} variant. - */ - public static SettingsSimilarity scripted( - Function> fn) { - SettingsSimilarity.Builder builder = new SettingsSimilarity.Builder(); - builder.scripted(fn.apply(new SettingsSimilarityScripted.Builder()).build()); - return builder.build(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfi.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfi.java deleted file mode 100644 index 596a78bd3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfi.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.DFIIndependenceMeasure; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityDfi - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityDfi implements SettingsSimilarityVariant, JsonpSerializable { - private final DFIIndependenceMeasure independenceMeasure; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityDfi(Builder builder) { - - this.independenceMeasure = ApiTypeHelper.requireNonNull(builder.independenceMeasure, this, - "independenceMeasure"); - - } - - public static SettingsSimilarityDfi of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Dfi; - } - - /** - * Required - API name: {@code independence_measure} - */ - public final DFIIndependenceMeasure independenceMeasure() { - return this.independenceMeasure; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "DFI"); - - generator.writeKey("independence_measure"); - this.independenceMeasure.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityDfi}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private DFIIndependenceMeasure independenceMeasure; - - /** - * Required - API name: {@code independence_measure} - */ - public final Builder independenceMeasure(DFIIndependenceMeasure value) { - this.independenceMeasure = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityDfi}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityDfi build() { - _checkSingleUse(); - - return new SettingsSimilarityDfi(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityDfi} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityDfi::setupSettingsSimilarityDfiDeserializer); - - protected static void setupSettingsSimilarityDfiDeserializer(ObjectDeserializer op) { - - op.add(Builder::independenceMeasure, DFIIndependenceMeasure._DESERIALIZER, "independence_measure"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfr.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfr.java deleted file mode 100644 index 9e022df97..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityDfr.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.DFRAfterEffect; -import co.elastic.clients.elasticsearch._types.DFRBasicModel; -import co.elastic.clients.elasticsearch._types.Normalization; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityDfr - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityDfr implements SettingsSimilarityVariant, JsonpSerializable { - private final DFRAfterEffect afterEffect; - - private final DFRBasicModel basicModel; - - private final Normalization normalization; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityDfr(Builder builder) { - - this.afterEffect = ApiTypeHelper.requireNonNull(builder.afterEffect, this, "afterEffect"); - this.basicModel = ApiTypeHelper.requireNonNull(builder.basicModel, this, "basicModel"); - this.normalization = ApiTypeHelper.requireNonNull(builder.normalization, this, "normalization"); - - } - - public static SettingsSimilarityDfr of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Dfr; - } - - /** - * Required - API name: {@code after_effect} - */ - public final DFRAfterEffect afterEffect() { - return this.afterEffect; - } - - /** - * Required - API name: {@code basic_model} - */ - public final DFRBasicModel basicModel() { - return this.basicModel; - } - - /** - * Required - API name: {@code normalization} - */ - public final Normalization normalization() { - return this.normalization; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "DFR"); - - generator.writeKey("after_effect"); - this.afterEffect.serialize(generator, mapper); - generator.writeKey("basic_model"); - this.basicModel.serialize(generator, mapper); - generator.writeKey("normalization"); - this.normalization.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityDfr}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private DFRAfterEffect afterEffect; - - private DFRBasicModel basicModel; - - private Normalization normalization; - - /** - * Required - API name: {@code after_effect} - */ - public final Builder afterEffect(DFRAfterEffect value) { - this.afterEffect = value; - return this; - } - - /** - * Required - API name: {@code basic_model} - */ - public final Builder basicModel(DFRBasicModel value) { - this.basicModel = value; - return this; - } - - /** - * Required - API name: {@code normalization} - */ - public final Builder normalization(Normalization value) { - this.normalization = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityDfr}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityDfr build() { - _checkSingleUse(); - - return new SettingsSimilarityDfr(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityDfr} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityDfr::setupSettingsSimilarityDfrDeserializer); - - protected static void setupSettingsSimilarityDfrDeserializer(ObjectDeserializer op) { - - op.add(Builder::afterEffect, DFRAfterEffect._DESERIALIZER, "after_effect"); - op.add(Builder::basicModel, DFRBasicModel._DESERIALIZER, "basic_model"); - op.add(Builder::normalization, Normalization._DESERIALIZER, "normalization"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityIb.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityIb.java deleted file mode 100644 index ad8bf0ba1..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityIb.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.IBDistribution; -import co.elastic.clients.elasticsearch._types.IBLambda; -import co.elastic.clients.elasticsearch._types.Normalization; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityIb - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityIb implements SettingsSimilarityVariant, JsonpSerializable { - private final IBDistribution distribution; - - private final IBLambda lambda; - - private final Normalization normalization; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityIb(Builder builder) { - - this.distribution = ApiTypeHelper.requireNonNull(builder.distribution, this, "distribution"); - this.lambda = ApiTypeHelper.requireNonNull(builder.lambda, this, "lambda"); - this.normalization = ApiTypeHelper.requireNonNull(builder.normalization, this, "normalization"); - - } - - public static SettingsSimilarityIb of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Ib; - } - - /** - * Required - API name: {@code distribution} - */ - public final IBDistribution distribution() { - return this.distribution; - } - - /** - * Required - API name: {@code lambda} - */ - public final IBLambda lambda() { - return this.lambda; - } - - /** - * Required - API name: {@code normalization} - */ - public final Normalization normalization() { - return this.normalization; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "IB"); - - generator.writeKey("distribution"); - this.distribution.serialize(generator, mapper); - generator.writeKey("lambda"); - this.lambda.serialize(generator, mapper); - generator.writeKey("normalization"); - this.normalization.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityIb}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private IBDistribution distribution; - - private IBLambda lambda; - - private Normalization normalization; - - /** - * Required - API name: {@code distribution} - */ - public final Builder distribution(IBDistribution value) { - this.distribution = value; - return this; - } - - /** - * Required - API name: {@code lambda} - */ - public final Builder lambda(IBLambda value) { - this.lambda = value; - return this; - } - - /** - * Required - API name: {@code normalization} - */ - public final Builder normalization(Normalization value) { - this.normalization = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityIb}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityIb build() { - _checkSingleUse(); - - return new SettingsSimilarityIb(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityIb} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityIb::setupSettingsSimilarityIbDeserializer); - - protected static void setupSettingsSimilarityIbDeserializer(ObjectDeserializer op) { - - op.add(Builder::distribution, IBDistribution._DESERIALIZER, "distribution"); - op.add(Builder::lambda, IBLambda._DESERIALIZER, "lambda"); - op.add(Builder::normalization, Normalization._DESERIALIZER, "normalization"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmd.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmd.java deleted file mode 100644 index 298c45d95..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmd.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityLmd - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityLmd implements SettingsSimilarityVariant, JsonpSerializable { - @Nullable - private final Double mu; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityLmd(Builder builder) { - - this.mu = builder.mu; - - } - - public static SettingsSimilarityLmd of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.LMDirichlet; - } - - /** - * API name: {@code mu} - */ - @Nullable - public final Double mu() { - return this.mu; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "LMDirichlet"); - - if (this.mu != null) { - generator.writeKey("mu"); - generator.write(this.mu); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityLmd}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Double mu; - - /** - * API name: {@code mu} - */ - public final Builder mu(@Nullable Double value) { - this.mu = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityLmd}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityLmd build() { - _checkSingleUse(); - - return new SettingsSimilarityLmd(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityLmd} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityLmd::setupSettingsSimilarityLmdDeserializer); - - protected static void setupSettingsSimilarityLmdDeserializer(ObjectDeserializer op) { - - op.add(Builder::mu, JsonpDeserializer.doubleDeserializer(), "mu"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmj.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmj.java deleted file mode 100644 index 5c8998fd8..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityLmj.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Double; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityLmj - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityLmj implements SettingsSimilarityVariant, JsonpSerializable { - @Nullable - private final Double lambda; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityLmj(Builder builder) { - - this.lambda = builder.lambda; - - } - - public static SettingsSimilarityLmj of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.LMJelinekMercer; - } - - /** - * API name: {@code lambda} - */ - @Nullable - public final Double lambda() { - return this.lambda; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "LMJelinekMercer"); - - if (this.lambda != null) { - generator.writeKey("lambda"); - generator.write(this.lambda); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityLmj}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Double lambda; - - /** - * API name: {@code lambda} - */ - public final Builder lambda(@Nullable Double value) { - this.lambda = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityLmj}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityLmj build() { - _checkSingleUse(); - - return new SettingsSimilarityLmj(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityLmj} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityLmj::setupSettingsSimilarityLmjDeserializer); - - protected static void setupSettingsSimilarityLmjDeserializer(ObjectDeserializer op) { - - op.add(Builder::lambda, JsonpDeserializer.doubleDeserializer(), "lambda"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityScripted.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityScripted.java deleted file mode 100644 index daa33e276..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityScripted.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Script; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SettingsSimilarityScripted - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SettingsSimilarityScripted implements SettingsSimilarityVariant, JsonpSerializable { - private final Script script; - - @Nullable - private final Script weightScript; - - // --------------------------------------------------------------------------------------------- - - private SettingsSimilarityScripted(Builder builder) { - - this.script = ApiTypeHelper.requireNonNull(builder.script, this, "script"); - this.weightScript = builder.weightScript; - - } - - public static SettingsSimilarityScripted of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * SettingsSimilarity variant kind. - */ - @Override - public SettingsSimilarity.Kind _settingsSimilarityKind() { - return SettingsSimilarity.Kind.Scripted; - } - - /** - * Required - API name: {@code script} - */ - public final Script script() { - return this.script; - } - - /** - * API name: {@code weight_script} - */ - @Nullable - public final Script weightScript() { - return this.weightScript; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.write("type", "scripted"); - - generator.writeKey("script"); - this.script.serialize(generator, mapper); - - if (this.weightScript != null) { - generator.writeKey("weight_script"); - this.weightScript.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SettingsSimilarityScripted}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Script script; - - @Nullable - private Script weightScript; - - /** - * Required - API name: {@code script} - */ - public final Builder script(Script value) { - this.script = value; - return this; - } - - /** - * Required - API name: {@code script} - */ - public final Builder script(Function> fn) { - return this.script(fn.apply(new Script.Builder()).build()); - } - - /** - * API name: {@code weight_script} - */ - public final Builder weightScript(@Nullable Script value) { - this.weightScript = value; - return this; - } - - /** - * API name: {@code weight_script} - */ - public final Builder weightScript(Function> fn) { - return this.weightScript(fn.apply(new Script.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SettingsSimilarityScripted}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SettingsSimilarityScripted build() { - _checkSingleUse(); - - return new SettingsSimilarityScripted(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SettingsSimilarityScripted} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SettingsSimilarityScripted::setupSettingsSimilarityScriptedDeserializer); - - protected static void setupSettingsSimilarityScriptedDeserializer( - ObjectDeserializer op) { - - op.add(Builder::script, Script._DESERIALIZER, "script"); - op.add(Builder::weightScript, Script._DESERIALIZER, "weight_script"); - - op.ignore("type"); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityVariant.java deleted file mode 100644 index b77e52300..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SettingsSimilarityVariant.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpSerializable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Base interface for {@link SettingsSimilarity} variants. - */ -public interface SettingsSimilarityVariant extends JsonpSerializable { - - SettingsSimilarity.Kind _settingsSimilarityKind(); - - default SettingsSimilarity _toSettingsSimilarity() { - return new SettingsSimilarity(this); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateRequest.java deleted file mode 100644 index 289107ed5..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateRequest.java +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_index_template.Request - -/** - * Simulate an index. Returns the index configuration that would be applied to - * the specified index from an existing index template. - * - * @see API - * specification - */ - -public class SimulateIndexTemplateRequest extends RequestBase { - @Nullable - private final Boolean includeDefaults; - - @Nullable - private final Time masterTimeout; - - private final String name; - - // --------------------------------------------------------------------------------------------- - - private SimulateIndexTemplateRequest(Builder builder) { - - this.includeDefaults = builder.includeDefaults; - this.masterTimeout = builder.masterTimeout; - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - - } - - public static SimulateIndexTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Required - Name of the index to simulate - *

    - * API name: {@code name} - */ - public final String name() { - return this.name; - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SimulateIndexTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean includeDefaults; - - @Nullable - private Time masterTimeout; - - private String name; - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Required - Name of the index to simulate - *

    - * API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SimulateIndexTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SimulateIndexTemplateRequest build() { - _checkSingleUse(); - - return new SimulateIndexTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.simulate_index_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.simulate_index_template", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/_simulate_index"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - propsSet |= _name; - - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - return params; - - }, SimpleEndpoint.emptyMap(), false, SimulateIndexTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateResponse.java deleted file mode 100644 index b53fc70d9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateIndexTemplateResponse.java +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.simulate_template.Overlapping; -import co.elastic.clients.elasticsearch.indices.simulate_template.Template; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_index_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SimulateIndexTemplateResponse implements JsonpSerializable { - private final List overlapping; - - private final Template template; - - // --------------------------------------------------------------------------------------------- - - private SimulateIndexTemplateResponse(Builder builder) { - - this.overlapping = ApiTypeHelper.unmodifiable(builder.overlapping); - this.template = ApiTypeHelper.requireNonNull(builder.template, this, "template"); - - } - - public static SimulateIndexTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code overlapping} - */ - public final List overlapping() { - return this.overlapping; - } - - /** - * Required - API name: {@code template} - */ - public final Template template() { - return this.template; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.overlapping)) { - generator.writeKey("overlapping"); - generator.writeStartArray(); - for (Overlapping item0 : this.overlapping) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SimulateIndexTemplateResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private List overlapping; - - private Template template; - - /** - * API name: {@code overlapping} - *

    - * Adds all elements of list to overlapping. - */ - public final Builder overlapping(List list) { - this.overlapping = _listAddAll(this.overlapping, list); - return this; - } - - /** - * API name: {@code overlapping} - *

    - * Adds one or more values to overlapping. - */ - public final Builder overlapping(Overlapping value, Overlapping... values) { - this.overlapping = _listAdd(this.overlapping, value, values); - return this; - } - - /** - * API name: {@code overlapping} - *

    - * Adds a value to overlapping using a builder lambda. - */ - public final Builder overlapping(Function> fn) { - return overlapping(fn.apply(new Overlapping.Builder()).build()); - } - - /** - * Required - API name: {@code template} - */ - public final Builder template(Template value) { - this.template = value; - return this; - } - - /** - * Required - API name: {@code template} - */ - public final Builder template(Function> fn) { - return this.template(fn.apply(new Template.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SimulateIndexTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SimulateIndexTemplateResponse build() { - _checkSingleUse(); - - return new SimulateIndexTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SimulateIndexTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SimulateIndexTemplateResponse::setupSimulateIndexTemplateResponseDeserializer); - - protected static void setupSimulateIndexTemplateResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::overlapping, JsonpDeserializer.arrayDeserializer(Overlapping._DESERIALIZER), "overlapping"); - op.add(Builder::template, Template._DESERIALIZER, "template"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateRequest.java deleted file mode 100644 index 8f253a4c8..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateRequest.java +++ /dev/null @@ -1,816 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.put_index_template.IndexTemplateMapping; -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_template.Request - -/** - * Simulate an index template. Returns the index configuration that would be - * applied by a particular index template. - * - * @see API - * specification - */ -@JsonpDeserializable -public class SimulateTemplateRequest extends RequestBase implements JsonpSerializable { - private final Map meta; - - @Nullable - private final Boolean allowAutoCreate; - - private final List composedOf; - - @Nullable - private final Boolean create; - - @Nullable - private final DataStreamVisibility dataStream; - - @Nullable - private final Boolean deprecated; - - private final List ignoreMissingComponentTemplates; - - @Nullable - private final Boolean includeDefaults; - - private final List indexPatterns; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final String name; - - @Nullable - private final Long priority; - - @Nullable - private final IndexTemplateMapping template; - - @Nullable - private final Long version; - - // --------------------------------------------------------------------------------------------- - - private SimulateTemplateRequest(Builder builder) { - - this.meta = ApiTypeHelper.unmodifiable(builder.meta); - this.allowAutoCreate = builder.allowAutoCreate; - this.composedOf = ApiTypeHelper.unmodifiable(builder.composedOf); - this.create = builder.create; - this.dataStream = builder.dataStream; - this.deprecated = builder.deprecated; - this.ignoreMissingComponentTemplates = ApiTypeHelper.unmodifiable(builder.ignoreMissingComponentTemplates); - this.includeDefaults = builder.includeDefaults; - this.indexPatterns = ApiTypeHelper.unmodifiable(builder.indexPatterns); - this.masterTimeout = builder.masterTimeout; - this.name = builder.name; - this.priority = builder.priority; - this.template = builder.template; - this.version = builder.version; - - } - - public static SimulateTemplateRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - */ - public final Map meta() { - return this.meta; - } - - /** - * This setting overrides the value of the action.auto_create_index - * cluster setting. If set to true in a template, then indices can - * be automatically created using that template even if auto-creation of indices - * is disabled via actions.auto_create_index. If set to - * false, then indices or data streams matching the template must - * always be explicitly created, and may never be automatically created. - *

    - * API name: {@code allow_auto_create} - */ - @Nullable - public final Boolean allowAutoCreate() { - return this.allowAutoCreate; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - */ - public final List composedOf() { - return this.composedOf; - } - - /** - * If true, the template passed in the body is only used if no existing - * templates match the same index patterns. If false, the simulation uses the - * template with the highest priority. Note that the template is not permanently - * added or updated in either case; it is only used for the simulation. - *

    - * API name: {@code create} - */ - @Nullable - public final Boolean create() { - return this.create; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - @Nullable - public final DataStreamVisibility dataStream() { - return this.dataStream; - } - - /** - * Marks this index template as deprecated. When creating or updating a - * non-deprecated index template that uses deprecated components, Elasticsearch - * will emit a deprecation warning. - *

    - * API name: {@code deprecated} - */ - @Nullable - public final Boolean deprecated() { - return this.deprecated; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - */ - public final List ignoreMissingComponentTemplates() { - return this.ignoreMissingComponentTemplates; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - @Nullable - public final Boolean includeDefaults() { - return this.includeDefaults; - } - - /** - * Array of wildcard (*) expressions used to match the names of - * data streams and indices during creation. - *

    - * API name: {@code index_patterns} - */ - public final List indexPatterns() { - return this.indexPatterns; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Name of the index template to simulate. To test a template configuration - * before you add it to the cluster, omit this parameter and specify the - * template configuration in the request body. - *

    - * API name: {@code name} - */ - @Nullable - public final String name() { - return this.name; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - @Nullable - public final Long priority() { - return this.priority; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - @Nullable - public final IndexTemplateMapping template() { - return this.template; - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - @Nullable - public final Long version() { - return this.version; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.meta)) { - generator.writeKey("_meta"); - generator.writeStartObject(); - for (Map.Entry item0 : this.meta.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.allowAutoCreate != null) { - generator.writeKey("allow_auto_create"); - generator.write(this.allowAutoCreate); - - } - if (ApiTypeHelper.isDefined(this.composedOf)) { - generator.writeKey("composed_of"); - generator.writeStartArray(); - for (String item0 : this.composedOf) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.dataStream != null) { - generator.writeKey("data_stream"); - this.dataStream.serialize(generator, mapper); - - } - if (this.deprecated != null) { - generator.writeKey("deprecated"); - generator.write(this.deprecated); - - } - if (ApiTypeHelper.isDefined(this.ignoreMissingComponentTemplates)) { - generator.writeKey("ignore_missing_component_templates"); - generator.writeStartArray(); - for (String item0 : this.ignoreMissingComponentTemplates) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.indexPatterns)) { - generator.writeKey("index_patterns"); - generator.writeStartArray(); - for (String item0 : this.indexPatterns) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.priority != null) { - generator.writeKey("priority"); - generator.write(this.priority); - - } - if (this.template != null) { - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - if (this.version != null) { - generator.writeKey("version"); - generator.write(this.version); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SimulateTemplateRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Map meta; - - @Nullable - private Boolean allowAutoCreate; - - @Nullable - private List composedOf; - - @Nullable - private Boolean create; - - @Nullable - private DataStreamVisibility dataStream; - - @Nullable - private Boolean deprecated; - - @Nullable - private List ignoreMissingComponentTemplates; - - @Nullable - private Boolean includeDefaults; - - @Nullable - private List indexPatterns; - - @Nullable - private Time masterTimeout; - - @Nullable - private String name; - - @Nullable - private Long priority; - - @Nullable - private IndexTemplateMapping template; - - @Nullable - private Long version; - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds all entries of map to meta. - */ - public final Builder meta(Map map) { - this.meta = _mapPutAll(this.meta, map); - return this; - } - - /** - * Optional user metadata about the index template. May have any contents. This - * map is not automatically generated by Elasticsearch. - *

    - * API name: {@code _meta} - *

    - * Adds an entry to meta. - */ - public final Builder meta(String key, JsonData value) { - this.meta = _mapPut(this.meta, key, value); - return this; - } - - /** - * This setting overrides the value of the action.auto_create_index - * cluster setting. If set to true in a template, then indices can - * be automatically created using that template even if auto-creation of indices - * is disabled via actions.auto_create_index. If set to - * false, then indices or data streams matching the template must - * always be explicitly created, and may never be automatically created. - *

    - * API name: {@code allow_auto_create} - */ - public final Builder allowAutoCreate(@Nullable Boolean value) { - this.allowAutoCreate = value; - return this; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds all elements of list to composedOf. - */ - public final Builder composedOf(List list) { - this.composedOf = _listAddAll(this.composedOf, list); - return this; - } - - /** - * An ordered list of component template names. Component templates are merged - * in the order specified, meaning that the last component template specified - * has the highest precedence. - *

    - * API name: {@code composed_of} - *

    - * Adds one or more values to composedOf. - */ - public final Builder composedOf(String value, String... values) { - this.composedOf = _listAdd(this.composedOf, value, values); - return this; - } - - /** - * If true, the template passed in the body is only used if no existing - * templates match the same index patterns. If false, the simulation uses the - * template with the highest priority. Note that the template is not permanently - * added or updated in either case; it is only used for the simulation. - *

    - * API name: {@code create} - */ - public final Builder create(@Nullable Boolean value) { - this.create = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream(@Nullable DataStreamVisibility value) { - this.dataStream = value; - return this; - } - - /** - * If this object is included, the template is used to create data streams and - * their backing indices. Supports an empty object. Data streams require a - * matching index template with a data_stream object. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream( - Function> fn) { - return this.dataStream(fn.apply(new DataStreamVisibility.Builder()).build()); - } - - /** - * Marks this index template as deprecated. When creating or updating a - * non-deprecated index template that uses deprecated components, Elasticsearch - * will emit a deprecation warning. - *

    - * API name: {@code deprecated} - */ - public final Builder deprecated(@Nullable Boolean value) { - this.deprecated = value; - return this; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - *

    - * Adds all elements of list to - * ignoreMissingComponentTemplates. - */ - public final Builder ignoreMissingComponentTemplates(List list) { - this.ignoreMissingComponentTemplates = _listAddAll(this.ignoreMissingComponentTemplates, list); - return this; - } - - /** - * The configuration option ignore_missing_component_templates can be used when - * an index template references a component template that might not exist - *

    - * API name: {@code ignore_missing_component_templates} - *

    - * Adds one or more values to ignoreMissingComponentTemplates. - */ - public final Builder ignoreMissingComponentTemplates(String value, String... values) { - this.ignoreMissingComponentTemplates = _listAdd(this.ignoreMissingComponentTemplates, value, values); - return this; - } - - /** - * If true, returns all relevant default configurations for the index template. - *

    - * API name: {@code include_defaults} - */ - public final Builder includeDefaults(@Nullable Boolean value) { - this.includeDefaults = value; - return this; - } - - /** - * Array of wildcard (*) expressions used to match the names of - * data streams and indices during creation. - *

    - * API name: {@code index_patterns} - *

    - * Adds all elements of list to indexPatterns. - */ - public final Builder indexPatterns(List list) { - this.indexPatterns = _listAddAll(this.indexPatterns, list); - return this; - } - - /** - * Array of wildcard (*) expressions used to match the names of - * data streams and indices during creation. - *

    - * API name: {@code index_patterns} - *

    - * Adds one or more values to indexPatterns. - */ - public final Builder indexPatterns(String value, String... values) { - this.indexPatterns = _listAdd(this.indexPatterns, value, values); - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Name of the index template to simulate. To test a template configuration - * before you add it to the cluster, omit this parameter and specify the - * template configuration in the request body. - *

    - * API name: {@code name} - */ - public final Builder name(@Nullable String value) { - this.name = value; - return this; - } - - /** - * Priority to determine index template precedence when a new data stream or - * index is created. The index template with the highest priority is chosen. If - * no priority is specified the template is treated as though it is of priority - * 0 (lowest priority). This number is not automatically generated by - * Elasticsearch. - *

    - * API name: {@code priority} - */ - public final Builder priority(@Nullable Long value) { - this.priority = value; - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(@Nullable IndexTemplateMapping value) { - this.template = value; - return this; - } - - /** - * Template to be applied. It may optionally include an aliases, - * mappings, or settings configuration. - *

    - * API name: {@code template} - */ - public final Builder template(Function> fn) { - return this.template(fn.apply(new IndexTemplateMapping.Builder()).build()); - } - - /** - * Version number used to manage index templates externally. This number is not - * automatically generated by Elasticsearch. - *

    - * API name: {@code version} - */ - public final Builder version(@Nullable Long value) { - this.version = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SimulateTemplateRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SimulateTemplateRequest build() { - _checkSingleUse(); - - return new SimulateTemplateRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SimulateTemplateRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SimulateTemplateRequest::setupSimulateTemplateRequestDeserializer); - - protected static void setupSimulateTemplateRequestDeserializer( - ObjectDeserializer op) { - - op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta"); - op.add(Builder::allowAutoCreate, JsonpDeserializer.booleanDeserializer(), "allow_auto_create"); - op.add(Builder::composedOf, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "composed_of"); - op.add(Builder::dataStream, DataStreamVisibility._DESERIALIZER, "data_stream"); - op.add(Builder::deprecated, JsonpDeserializer.booleanDeserializer(), "deprecated"); - op.add(Builder::ignoreMissingComponentTemplates, - JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "ignore_missing_component_templates"); - op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "index_patterns"); - op.add(Builder::priority, JsonpDeserializer.longDeserializer(), "priority"); - op.add(Builder::template, IndexTemplateMapping._DESERIALIZER, "template"); - op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.simulate_template}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.simulate_template", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/_simulate"); - return buf.toString(); - } - if (propsSet == (_name)) { - StringBuilder buf = new StringBuilder(); - buf.append("/_index_template"); - buf.append("/_simulate"); - buf.append("/"); - SimpleEndpoint.pathEncode(request.name, buf); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _name = 1 << 0; - - int propsSet = 0; - - if (request.name() != null) - propsSet |= _name; - - if (propsSet == 0) { - } - if (propsSet == (_name)) { - params.put("name", request.name); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.create != null) { - params.put("create", String.valueOf(request.create)); - } - if (request.includeDefaults != null) { - params.put("include_defaults", String.valueOf(request.includeDefaults)); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, SimulateTemplateResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateResponse.java deleted file mode 100644 index d3411d785..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SimulateTemplateResponse.java +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch.indices.simulate_template.Overlapping; -import co.elastic.clients.elasticsearch.indices.simulate_template.Template; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_template.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SimulateTemplateResponse implements JsonpSerializable { - private final List overlapping; - - private final Template template; - - // --------------------------------------------------------------------------------------------- - - private SimulateTemplateResponse(Builder builder) { - - this.overlapping = ApiTypeHelper.unmodifiable(builder.overlapping); - this.template = ApiTypeHelper.requireNonNull(builder.template, this, "template"); - - } - - public static SimulateTemplateResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code overlapping} - */ - public final List overlapping() { - return this.overlapping; - } - - /** - * Required - API name: {@code template} - */ - public final Template template() { - return this.template; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.overlapping)) { - generator.writeKey("overlapping"); - generator.writeStartArray(); - for (Overlapping item0 : this.overlapping) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("template"); - this.template.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SimulateTemplateResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private List overlapping; - - private Template template; - - /** - * API name: {@code overlapping} - *

    - * Adds all elements of list to overlapping. - */ - public final Builder overlapping(List list) { - this.overlapping = _listAddAll(this.overlapping, list); - return this; - } - - /** - * API name: {@code overlapping} - *

    - * Adds one or more values to overlapping. - */ - public final Builder overlapping(Overlapping value, Overlapping... values) { - this.overlapping = _listAdd(this.overlapping, value, values); - return this; - } - - /** - * API name: {@code overlapping} - *

    - * Adds a value to overlapping using a builder lambda. - */ - public final Builder overlapping(Function> fn) { - return overlapping(fn.apply(new Overlapping.Builder()).build()); - } - - /** - * Required - API name: {@code template} - */ - public final Builder template(Template value) { - this.template = value; - return this; - } - - /** - * Required - API name: {@code template} - */ - public final Builder template(Function> fn) { - return this.template(fn.apply(new Template.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SimulateTemplateResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SimulateTemplateResponse build() { - _checkSingleUse(); - - return new SimulateTemplateResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SimulateTemplateResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SimulateTemplateResponse::setupSimulateTemplateResponseDeserializer); - - protected static void setupSimulateTemplateResponseDeserializer( - ObjectDeserializer op) { - - op.add(Builder::overlapping, JsonpDeserializer.arrayDeserializer(Overlapping._DESERIALIZER), "overlapping"); - op.add(Builder::template, Template._DESERIALIZER, "template"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogSettings.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogSettings.java deleted file mode 100644 index d191134f2..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogSettings.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SlowlogSettings - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SlowlogSettings implements JsonpSerializable { - @Nullable - private final String level; - - @Nullable - private final Integer source; - - @Nullable - private final Boolean reformat; - - @Nullable - private final SlowlogTresholds threshold; - - // --------------------------------------------------------------------------------------------- - - private SlowlogSettings(Builder builder) { - - this.level = builder.level; - this.source = builder.source; - this.reformat = builder.reformat; - this.threshold = builder.threshold; - - } - - public static SlowlogSettings of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code level} - */ - @Nullable - public final String level() { - return this.level; - } - - /** - * API name: {@code source} - */ - @Nullable - public final Integer source() { - return this.source; - } - - /** - * API name: {@code reformat} - */ - @Nullable - public final Boolean reformat() { - return this.reformat; - } - - /** - * API name: {@code threshold} - */ - @Nullable - public final SlowlogTresholds threshold() { - return this.threshold; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.level != null) { - generator.writeKey("level"); - generator.write(this.level); - - } - if (this.source != null) { - generator.writeKey("source"); - generator.write(this.source); - - } - if (this.reformat != null) { - generator.writeKey("reformat"); - generator.write(this.reformat); - - } - if (this.threshold != null) { - generator.writeKey("threshold"); - this.threshold.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SlowlogSettings}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private String level; - - @Nullable - private Integer source; - - @Nullable - private Boolean reformat; - - @Nullable - private SlowlogTresholds threshold; - - /** - * API name: {@code level} - */ - public final Builder level(@Nullable String value) { - this.level = value; - return this; - } - - /** - * API name: {@code source} - */ - public final Builder source(@Nullable Integer value) { - this.source = value; - return this; - } - - /** - * API name: {@code reformat} - */ - public final Builder reformat(@Nullable Boolean value) { - this.reformat = value; - return this; - } - - /** - * API name: {@code threshold} - */ - public final Builder threshold(@Nullable SlowlogTresholds value) { - this.threshold = value; - return this; - } - - /** - * API name: {@code threshold} - */ - public final Builder threshold(Function> fn) { - return this.threshold(fn.apply(new SlowlogTresholds.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SlowlogSettings}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SlowlogSettings build() { - _checkSingleUse(); - - return new SlowlogSettings(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SlowlogSettings} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SlowlogSettings::setupSlowlogSettingsDeserializer); - - protected static void setupSlowlogSettingsDeserializer(ObjectDeserializer op) { - - op.add(Builder::level, JsonpDeserializer.stringDeserializer(), "level"); - op.add(Builder::source, JsonpDeserializer.integerDeserializer(), "source"); - op.add(Builder::reformat, JsonpDeserializer.booleanDeserializer(), "reformat"); - op.add(Builder::threshold, SlowlogTresholds._DESERIALIZER, "threshold"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholdLevels.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholdLevels.java deleted file mode 100644 index 16e3e513f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholdLevels.java +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SlowlogTresholdLevels - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SlowlogTresholdLevels implements JsonpSerializable { - @Nullable - private final Time warn; - - @Nullable - private final Time info; - - @Nullable - private final Time debug; - - @Nullable - private final Time trace; - - // --------------------------------------------------------------------------------------------- - - private SlowlogTresholdLevels(Builder builder) { - - this.warn = builder.warn; - this.info = builder.info; - this.debug = builder.debug; - this.trace = builder.trace; - - } - - public static SlowlogTresholdLevels of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code warn} - */ - @Nullable - public final Time warn() { - return this.warn; - } - - /** - * API name: {@code info} - */ - @Nullable - public final Time info() { - return this.info; - } - - /** - * API name: {@code debug} - */ - @Nullable - public final Time debug() { - return this.debug; - } - - /** - * API name: {@code trace} - */ - @Nullable - public final Time trace() { - return this.trace; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.warn != null) { - generator.writeKey("warn"); - this.warn.serialize(generator, mapper); - - } - if (this.info != null) { - generator.writeKey("info"); - this.info.serialize(generator, mapper); - - } - if (this.debug != null) { - generator.writeKey("debug"); - this.debug.serialize(generator, mapper); - - } - if (this.trace != null) { - generator.writeKey("trace"); - this.trace.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SlowlogTresholdLevels}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time warn; - - @Nullable - private Time info; - - @Nullable - private Time debug; - - @Nullable - private Time trace; - - /** - * API name: {@code warn} - */ - public final Builder warn(@Nullable Time value) { - this.warn = value; - return this; - } - - /** - * API name: {@code warn} - */ - public final Builder warn(Function> fn) { - return this.warn(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code info} - */ - public final Builder info(@Nullable Time value) { - this.info = value; - return this; - } - - /** - * API name: {@code info} - */ - public final Builder info(Function> fn) { - return this.info(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code debug} - */ - public final Builder debug(@Nullable Time value) { - this.debug = value; - return this; - } - - /** - * API name: {@code debug} - */ - public final Builder debug(Function> fn) { - return this.debug(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code trace} - */ - public final Builder trace(@Nullable Time value) { - this.trace = value; - return this; - } - - /** - * API name: {@code trace} - */ - public final Builder trace(Function> fn) { - return this.trace(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SlowlogTresholdLevels}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SlowlogTresholdLevels build() { - _checkSingleUse(); - - return new SlowlogTresholdLevels(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SlowlogTresholdLevels} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, SlowlogTresholdLevels::setupSlowlogTresholdLevelsDeserializer); - - protected static void setupSlowlogTresholdLevelsDeserializer(ObjectDeserializer op) { - - op.add(Builder::warn, Time._DESERIALIZER, "warn"); - op.add(Builder::info, Time._DESERIALIZER, "info"); - op.add(Builder::debug, Time._DESERIALIZER, "debug"); - op.add(Builder::trace, Time._DESERIALIZER, "trace"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholds.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholds.java deleted file mode 100644 index 4354d448a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SlowlogTresholds.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SlowlogTresholds - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SlowlogTresholds implements JsonpSerializable { - @Nullable - private final SlowlogTresholdLevels query; - - @Nullable - private final SlowlogTresholdLevels fetch; - - // --------------------------------------------------------------------------------------------- - - private SlowlogTresholds(Builder builder) { - - this.query = builder.query; - this.fetch = builder.fetch; - - } - - public static SlowlogTresholds of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code query} - */ - @Nullable - public final SlowlogTresholdLevels query() { - return this.query; - } - - /** - * API name: {@code fetch} - */ - @Nullable - public final SlowlogTresholdLevels fetch() { - return this.fetch; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.query != null) { - generator.writeKey("query"); - this.query.serialize(generator, mapper); - - } - if (this.fetch != null) { - generator.writeKey("fetch"); - this.fetch.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SlowlogTresholds}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private SlowlogTresholdLevels query; - - @Nullable - private SlowlogTresholdLevels fetch; - - /** - * API name: {@code query} - */ - public final Builder query(@Nullable SlowlogTresholdLevels value) { - this.query = value; - return this; - } - - /** - * API name: {@code query} - */ - public final Builder query(Function> fn) { - return this.query(fn.apply(new SlowlogTresholdLevels.Builder()).build()); - } - - /** - * API name: {@code fetch} - */ - public final Builder fetch(@Nullable SlowlogTresholdLevels value) { - this.fetch = value; - return this; - } - - /** - * API name: {@code fetch} - */ - public final Builder fetch(Function> fn) { - return this.fetch(fn.apply(new SlowlogTresholdLevels.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SlowlogTresholds}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SlowlogTresholds build() { - _checkSingleUse(); - - return new SlowlogTresholds(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SlowlogTresholds} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SlowlogTresholds::setupSlowlogTresholdsDeserializer); - - protected static void setupSlowlogTresholdsDeserializer(ObjectDeserializer op) { - - op.add(Builder::query, SlowlogTresholdLevels._DESERIALIZER, "query"); - op.add(Builder::fetch, SlowlogTresholdLevels._DESERIALIZER, "fetch"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SoftDeletes.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SoftDeletes.java deleted file mode 100644 index 13aa7f0d7..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/SoftDeletes.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.SoftDeletes - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class SoftDeletes implements JsonpSerializable { - @Nullable - private final Boolean enabled; - - @Nullable - private final RetentionLease retentionLease; - - // --------------------------------------------------------------------------------------------- - - private SoftDeletes(Builder builder) { - - this.enabled = builder.enabled; - this.retentionLease = builder.retentionLease; - - } - - public static SoftDeletes of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Indicates whether soft deletes are enabled on the index. - *

    - * API name: {@code enabled} - */ - @Nullable - public final Boolean enabled() { - return this.enabled; - } - - /** - * The maximum period to retain a shard history retention lease before it is - * considered expired. Shard history retention leases ensure that soft deletes - * are retained during merges on the Lucene index. If a soft delete is merged - * away before it can be replicated to a follower the following process will - * fail due to incomplete history on the leader. - *

    - * API name: {@code retention_lease} - */ - @Nullable - public final RetentionLease retentionLease() { - return this.retentionLease; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.enabled != null) { - generator.writeKey("enabled"); - generator.write(this.enabled); - - } - if (this.retentionLease != null) { - generator.writeKey("retention_lease"); - this.retentionLease.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link SoftDeletes}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Boolean enabled; - - @Nullable - private RetentionLease retentionLease; - - /** - * Indicates whether soft deletes are enabled on the index. - *

    - * API name: {@code enabled} - */ - public final Builder enabled(@Nullable Boolean value) { - this.enabled = value; - return this; - } - - /** - * The maximum period to retain a shard history retention lease before it is - * considered expired. Shard history retention leases ensure that soft deletes - * are retained during merges on the Lucene index. If a soft delete is merged - * away before it can be replicated to a follower the following process will - * fail due to incomplete history on the leader. - *

    - * API name: {@code retention_lease} - */ - public final Builder retentionLease(@Nullable RetentionLease value) { - this.retentionLease = value; - return this; - } - - /** - * The maximum period to retain a shard history retention lease before it is - * considered expired. Shard history retention leases ensure that soft deletes - * are retained during merges on the Lucene index. If a soft delete is merged - * away before it can be replicated to a follower the following process will - * fail due to incomplete history on the leader. - *

    - * API name: {@code retention_lease} - */ - public final Builder retentionLease(Function> fn) { - return this.retentionLease(fn.apply(new RetentionLease.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link SoftDeletes}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public SoftDeletes build() { - _checkSingleUse(); - - return new SoftDeletes(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link SoftDeletes} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - SoftDeletes::setupSoftDeletesDeserializer); - - protected static void setupSoftDeletesDeserializer(ObjectDeserializer op) { - - op.add(Builder::enabled, JsonpDeserializer.booleanDeserializer(), "enabled"); - op.add(Builder::retentionLease, RetentionLease._DESERIALIZER, "retention_lease"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Storage.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Storage.java deleted file mode 100644 index f1a8c63f9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Storage.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.Storage - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Storage implements JsonpSerializable { - private final String type; - - @Nullable - private final Boolean allowMmap; - - // --------------------------------------------------------------------------------------------- - - private Storage(Builder builder) { - - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - this.allowMmap = builder.allowMmap; - - } - - public static Storage of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code type} - */ - public final String type() { - return this.type; - } - - /** - * You can restrict the use of the mmapfs and the related hybridfs store type - * via the setting node.store.allow_mmap. This is a boolean setting indicating - * whether or not memory-mapping is allowed. The default is to allow it. This - * setting is useful, for example, if you are in an environment where you can - * not control the ability to create a lot of memory maps so you need disable - * the ability to use memory-mapping. - *

    - * API name: {@code allow_mmap} - */ - @Nullable - public final Boolean allowMmap() { - return this.allowMmap; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("type"); - generator.write(this.type); - - if (this.allowMmap != null) { - generator.writeKey("allow_mmap"); - generator.write(this.allowMmap); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Storage}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String type; - - @Nullable - private Boolean allowMmap; - - /** - * Required - API name: {@code type} - */ - public final Builder type(String value) { - this.type = value; - return this; - } - - /** - * Required - API name: {@code type} - */ - public final Builder type(StorageType value) { - this.type = value == null ? null : value.jsonValue(); - return this; - } - - /** - * You can restrict the use of the mmapfs and the related hybridfs store type - * via the setting node.store.allow_mmap. This is a boolean setting indicating - * whether or not memory-mapping is allowed. The default is to allow it. This - * setting is useful, for example, if you are in an environment where you can - * not control the ability to create a lot of memory maps so you need disable - * the ability to use memory-mapping. - *

    - * API name: {@code allow_mmap} - */ - public final Builder allowMmap(@Nullable Boolean value) { - this.allowMmap = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Storage}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Storage build() { - _checkSingleUse(); - - return new Storage(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Storage} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Storage::setupStorageDeserializer); - - protected static void setupStorageDeserializer(ObjectDeserializer op) { - - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - op.add(Builder::allowMmap, JsonpDeserializer.booleanDeserializer(), "allow_mmap"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/StorageType.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/StorageType.java deleted file mode 100644 index 2b429e72c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/StorageType.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum StorageType implements JsonEnum { - /** - * Default file system implementation. This will pick the best implementation - * depending on the operating environment, which is currently hybridfs on all - * supported systems but is subject to change. - */ - Fs("fs"), - - /** - * The NIO FS type stores the shard index on the file system (maps to Lucene - * NIOFSDirectory) using NIO. It allows multiple threads to read from the same - * file concurrently. It is not recommended on Windows because of a bug in the - * SUN Java implementation and disables some optimizations for heap memory - * usage. - */ - Niofs("niofs"), - - /** - * The MMap FS type stores the shard index on the file system (maps to Lucene - * MMapDirectory) by mapping a file into memory (mmap). Memory mapping uses up a - * portion of the virtual memory address space in your process equal to the size - * of the file being mapped. Before using this class, be sure you have allowed - * plenty of virtual address space. - */ - Mmapfs("mmapfs"), - - /** - * The hybridfs type is a hybrid of niofs and mmapfs, which chooses the best - * file system type for each type of file based on the read access pattern. - * Currently only the Lucene term dictionary, norms and doc values files are - * memory mapped. All other files are opened using Lucene NIOFSDirectory. - * Similarly to mmapfs be sure you have allowed plenty of virtual address space. - */ - Hybridfs("hybridfs"), - - ; - - private final String jsonValue; - - StorageType(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - StorageType.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Translog.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Translog.java deleted file mode 100644 index 5f42a6e05..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/Translog.java +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.Translog - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Translog implements JsonpSerializable { - @Nullable - private final Time syncInterval; - - @Nullable - private final TranslogDurability durability; - - @Nullable - private final String flushThresholdSize; - - @Nullable - private final TranslogRetention retention; - - // --------------------------------------------------------------------------------------------- - - private Translog(Builder builder) { - - this.syncInterval = builder.syncInterval; - this.durability = builder.durability; - this.flushThresholdSize = builder.flushThresholdSize; - this.retention = builder.retention; - - } - - public static Translog of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * How often the translog is fsynced to disk and committed, regardless of write - * operations. Values less than 100ms are not allowed. - *

    - * API name: {@code sync_interval} - */ - @Nullable - public final Time syncInterval() { - return this.syncInterval; - } - - /** - * Whether or not to fsync and commit the translog after every - * index, delete, update, or bulk request. - *

    - * API name: {@code durability} - */ - @Nullable - public final TranslogDurability durability() { - return this.durability; - } - - /** - * The translog stores all operations that are not yet safely persisted in - * Lucene (i.e., are not part of a Lucene commit point). Although these - * operations are available for reads, they will need to be replayed if the - * shard was stopped and had to be recovered. This setting controls the maximum - * total size of these operations, to prevent recoveries from taking too long. - * Once the maximum size has been reached a flush will happen, generating a new - * Lucene commit point. - *

    - * API name: {@code flush_threshold_size} - */ - @Nullable - public final String flushThresholdSize() { - return this.flushThresholdSize; - } - - /** - * API name: {@code retention} - */ - @Nullable - public final TranslogRetention retention() { - return this.retention; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.syncInterval != null) { - generator.writeKey("sync_interval"); - this.syncInterval.serialize(generator, mapper); - - } - if (this.durability != null) { - generator.writeKey("durability"); - this.durability.serialize(generator, mapper); - } - if (this.flushThresholdSize != null) { - generator.writeKey("flush_threshold_size"); - generator.write(this.flushThresholdSize); - - } - if (this.retention != null) { - generator.writeKey("retention"); - this.retention.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Translog}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private Time syncInterval; - - @Nullable - private TranslogDurability durability; - - @Nullable - private String flushThresholdSize; - - @Nullable - private TranslogRetention retention; - - /** - * How often the translog is fsynced to disk and committed, regardless of write - * operations. Values less than 100ms are not allowed. - *

    - * API name: {@code sync_interval} - */ - public final Builder syncInterval(@Nullable Time value) { - this.syncInterval = value; - return this; - } - - /** - * How often the translog is fsynced to disk and committed, regardless of write - * operations. Values less than 100ms are not allowed. - *

    - * API name: {@code sync_interval} - */ - public final Builder syncInterval(Function> fn) { - return this.syncInterval(fn.apply(new Time.Builder()).build()); - } - - /** - * Whether or not to fsync and commit the translog after every - * index, delete, update, or bulk request. - *

    - * API name: {@code durability} - */ - public final Builder durability(@Nullable TranslogDurability value) { - this.durability = value; - return this; - } - - /** - * The translog stores all operations that are not yet safely persisted in - * Lucene (i.e., are not part of a Lucene commit point). Although these - * operations are available for reads, they will need to be replayed if the - * shard was stopped and had to be recovered. This setting controls the maximum - * total size of these operations, to prevent recoveries from taking too long. - * Once the maximum size has been reached a flush will happen, generating a new - * Lucene commit point. - *

    - * API name: {@code flush_threshold_size} - */ - public final Builder flushThresholdSize(@Nullable String value) { - this.flushThresholdSize = value; - return this; - } - - /** - * API name: {@code retention} - */ - public final Builder retention(@Nullable TranslogRetention value) { - this.retention = value; - return this; - } - - /** - * API name: {@code retention} - */ - public final Builder retention(Function> fn) { - return this.retention(fn.apply(new TranslogRetention.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Translog}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Translog build() { - _checkSingleUse(); - - return new Translog(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Translog} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Translog::setupTranslogDeserializer); - - protected static void setupTranslogDeserializer(ObjectDeserializer op) { - - op.add(Builder::syncInterval, Time._DESERIALIZER, "sync_interval"); - op.add(Builder::durability, TranslogDurability._DESERIALIZER, "durability"); - op.add(Builder::flushThresholdSize, JsonpDeserializer.stringDeserializer(), "flush_threshold_size"); - op.add(Builder::retention, TranslogRetention._DESERIALIZER, "retention"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogDurability.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogDurability.java deleted file mode 100644 index c56acd4ca..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogDurability.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum TranslogDurability implements JsonEnum { - /** - * (default) fsync and commit after every request. In the event of hardware - * failure, all acknowledged writes will already have been committed to disk. - */ - Request("request", "REQUEST"), - - /** - * fsync and commit in the background every sync_interval. In the event of a - * failure, all acknowledged writes since the last automatic commit will be - * discarded. - */ - Async("async", "ASYNC"), - - ; - - private final String jsonValue; - private final String[] aliases; - - TranslogDurability(String jsonValue, String... aliases) { - this.jsonValue = jsonValue; - this.aliases = aliases; - } - - public String jsonValue() { - return this.jsonValue; - } - - public String[] aliases() { - return this.aliases; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - TranslogDurability.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogRetention.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogRetention.java deleted file mode 100644 index 5b768461b..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/TranslogRetention.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices._types.TranslogRetention - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class TranslogRetention implements JsonpSerializable { - @Nullable - private final String size; - - @Nullable - private final Time age; - - // --------------------------------------------------------------------------------------------- - - private TranslogRetention(Builder builder) { - - this.size = builder.size; - this.age = builder.age; - - } - - public static TranslogRetention of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * This controls the total size of translog files to keep for each shard. - * Keeping more translog files increases the chance of performing an operation - * based sync when recovering a replica. If the translog files are not - * sufficient, replica recovery will fall back to a file based sync. This - * setting is ignored, and should not be set, if soft deletes are enabled. Soft - * deletes are enabled by default in indices created in Elasticsearch versions - * 7.0.0 and later. - *

    - * API name: {@code size} - */ - @Nullable - public final String size() { - return this.size; - } - - /** - * This controls the maximum duration for which translog files are kept by each - * shard. Keeping more translog files increases the chance of performing an - * operation based sync when recovering replicas. If the translog files are not - * sufficient, replica recovery will fall back to a file based sync. This - * setting is ignored, and should not be set, if soft deletes are enabled. Soft - * deletes are enabled by default in indices created in Elasticsearch versions - * 7.0.0 and later. - *

    - * API name: {@code age} - */ - @Nullable - public final Time age() { - return this.age; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.size != null) { - generator.writeKey("size"); - generator.write(this.size); - - } - if (this.age != null) { - generator.writeKey("age"); - this.age.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link TranslogRetention}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private String size; - - @Nullable - private Time age; - - /** - * This controls the total size of translog files to keep for each shard. - * Keeping more translog files increases the chance of performing an operation - * based sync when recovering a replica. If the translog files are not - * sufficient, replica recovery will fall back to a file based sync. This - * setting is ignored, and should not be set, if soft deletes are enabled. Soft - * deletes are enabled by default in indices created in Elasticsearch versions - * 7.0.0 and later. - *

    - * API name: {@code size} - */ - public final Builder size(@Nullable String value) { - this.size = value; - return this; - } - - /** - * This controls the maximum duration for which translog files are kept by each - * shard. Keeping more translog files increases the chance of performing an - * operation based sync when recovering replicas. If the translog files are not - * sufficient, replica recovery will fall back to a file based sync. This - * setting is ignored, and should not be set, if soft deletes are enabled. Soft - * deletes are enabled by default in indices created in Elasticsearch versions - * 7.0.0 and later. - *

    - * API name: {@code age} - */ - public final Builder age(@Nullable Time value) { - this.age = value; - return this; - } - - /** - * This controls the maximum duration for which translog files are kept by each - * shard. Keeping more translog files increases the chance of performing an - * operation based sync when recovering replicas. If the translog files are not - * sufficient, replica recovery will fall back to a file based sync. This - * setting is ignored, and should not be set, if soft deletes are enabled. Soft - * deletes are enabled by default in indices created in Elasticsearch versions - * 7.0.0 and later. - *

    - * API name: {@code age} - */ - public final Builder age(Function> fn) { - return this.age(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link TranslogRetention}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public TranslogRetention build() { - _checkSingleUse(); - - return new TranslogRetention(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link TranslogRetention} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, TranslogRetention::setupTranslogRetentionDeserializer); - - protected static void setupTranslogRetentionDeserializer(ObjectDeserializer op) { - - op.add(Builder::size, JsonpDeserializer.stringDeserializer(), "size"); - op.add(Builder::age, Time._DESERIALIZER, "age"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java deleted file mode 100644 index 8c5b888d7..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.update_aliases.Action; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.update_aliases.Request - -/** - * Create or update an alias. Adds a data stream or index to an alias. - * - * @see API - * specification - */ -@JsonpDeserializable -public class UpdateAliasesRequest extends RequestBase implements JsonpSerializable { - private final List actions; - - @Nullable - private final Time masterTimeout; - - @Nullable - private final Time timeout; - - // --------------------------------------------------------------------------------------------- - - private UpdateAliasesRequest(Builder builder) { - - this.actions = ApiTypeHelper.unmodifiable(builder.actions); - this.masterTimeout = builder.masterTimeout; - this.timeout = builder.timeout; - - } - - public static UpdateAliasesRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Actions to perform. - *

    - * API name: {@code actions} - */ - public final List actions() { - return this.actions; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - @Nullable - public final Time masterTimeout() { - return this.masterTimeout; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - @Nullable - public final Time timeout() { - return this.timeout; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.actions)) { - generator.writeKey("actions"); - generator.writeStartArray(); - for (Action item0 : this.actions) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link UpdateAliasesRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private List actions; - - @Nullable - private Time masterTimeout; - - @Nullable - private Time timeout; - - /** - * Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds all elements of list to actions. - */ - public final Builder actions(List list) { - this.actions = _listAddAll(this.actions, list); - return this; - } - - /** - * Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds one or more values to actions. - */ - public final Builder actions(Action value, Action... values) { - this.actions = _listAdd(this.actions, value, values); - return this; - } - - /** - * Actions to perform. - *

    - * API name: {@code actions} - *

    - * Adds a value to actions using a builder lambda. - */ - public final Builder actions(Function> fn) { - return actions(fn.apply(new Action.Builder()).build()); - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(@Nullable Time value) { - this.masterTimeout = value; - return this; - } - - /** - * Period to wait for a connection to the master node. If no response is - * received before the timeout expires, the request fails and returns an error. - *

    - * API name: {@code master_timeout} - */ - public final Builder masterTimeout(Function> fn) { - return this.masterTimeout(fn.apply(new Time.Builder()).build()); - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(@Nullable Time value) { - this.timeout = value; - return this; - } - - /** - * Period to wait for a response. If no response is received before the timeout - * expires, the request fails and returns an error. - *

    - * API name: {@code timeout} - */ - public final Builder timeout(Function> fn) { - return this.timeout(fn.apply(new Time.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link UpdateAliasesRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public UpdateAliasesRequest build() { - _checkSingleUse(); - - return new UpdateAliasesRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link UpdateAliasesRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, UpdateAliasesRequest::setupUpdateAliasesRequestDeserializer); - - protected static void setupUpdateAliasesRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::actions, JsonpDeserializer.arrayDeserializer(Action._DESERIALIZER), "actions"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.update_aliases}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.update_aliases", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - return "/_aliases"; - - }, - - // Path parameters - request -> { - return Collections.emptyMap(); - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.masterTimeout != null) { - params.put("master_timeout", request.masterTimeout._toJsonString()); - } - if (request.timeout != null) { - params.put("timeout", request.timeout._toJsonString()); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, UpdateAliasesResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesResponse.java deleted file mode 100644 index defd4316c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesResponse.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.AcknowledgedResponseBase; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.update_aliases.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class UpdateAliasesResponse extends AcknowledgedResponseBase { - // --------------------------------------------------------------------------------------------- - - private UpdateAliasesResponse(Builder builder) { - super(builder); - - } - - public static UpdateAliasesResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link UpdateAliasesResponse}. - */ - - public static class Builder extends AcknowledgedResponseBase.AbstractBuilder - implements - ObjectBuilder { - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link UpdateAliasesResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public UpdateAliasesResponse build() { - _checkSingleUse(); - - return new UpdateAliasesResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link UpdateAliasesResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, UpdateAliasesResponse::setupUpdateAliasesResponseDeserializer); - - protected static void setupUpdateAliasesResponseDeserializer(ObjectDeserializer op) { - AcknowledgedResponseBase.setupAcknowledgedResponseBaseDeserializer(op); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java deleted file mode 100644 index 0d2ae4412..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java +++ /dev/null @@ -1,702 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ErrorResponse; -import co.elastic.clients.elasticsearch._types.ExpandWildcard; -import co.elastic.clients.elasticsearch._types.RequestBase; -import co.elastic.clients.elasticsearch._types.query_dsl.Operator; -import co.elastic.clients.elasticsearch._types.query_dsl.Query; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.transport.Endpoint; -import co.elastic.clients.transport.endpoints.SimpleEndpoint; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.validate_query.Request - -/** - * Validate a query. Validates a query without running it. - * - * @see API - * specification - */ -@JsonpDeserializable -public class ValidateQueryRequest extends RequestBase implements JsonpSerializable { - @Nullable - private final Boolean allShards; - - @Nullable - private final Boolean allowNoIndices; - - @Nullable - private final Boolean analyzeWildcard; - - @Nullable - private final String analyzer; - - @Nullable - private final Operator defaultOperator; - - @Nullable - private final String df; - - private final List expandWildcards; - - @Nullable - private final Boolean explain; - - @Nullable - private final Boolean ignoreUnavailable; - - private final List index; - - @Nullable - private final Boolean lenient; - - @Nullable - private final String q; - - @Nullable - private final Query query; - - @Nullable - private final Boolean rewrite; - - // --------------------------------------------------------------------------------------------- - - private ValidateQueryRequest(Builder builder) { - - this.allShards = builder.allShards; - this.allowNoIndices = builder.allowNoIndices; - this.analyzeWildcard = builder.analyzeWildcard; - this.analyzer = builder.analyzer; - this.defaultOperator = builder.defaultOperator; - this.df = builder.df; - this.expandWildcards = ApiTypeHelper.unmodifiable(builder.expandWildcards); - this.explain = builder.explain; - this.ignoreUnavailable = builder.ignoreUnavailable; - this.index = ApiTypeHelper.unmodifiable(builder.index); - this.lenient = builder.lenient; - this.q = builder.q; - this.query = builder.query; - this.rewrite = builder.rewrite; - - } - - public static ValidateQueryRequest of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * If true, the validation is executed on all shards instead of one - * random shard per index. - *

    - * API name: {@code all_shards} - */ - @Nullable - public final Boolean allShards() { - return this.allShards; - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - @Nullable - public final Boolean allowNoIndices() { - return this.allowNoIndices; - } - - /** - * If true, wildcard and prefix queries are analyzed. - *

    - * API name: {@code analyze_wildcard} - */ - @Nullable - public final Boolean analyzeWildcard() { - return this.analyzeWildcard; - } - - /** - * Analyzer to use for the query string. This parameter can only be used when - * the q query string parameter is specified. - *

    - * API name: {@code analyzer} - */ - @Nullable - public final String analyzer() { - return this.analyzer; - } - - /** - * The default operator for query string query: AND or - * OR. - *

    - * API name: {@code default_operator} - */ - @Nullable - public final Operator defaultOperator() { - return this.defaultOperator; - } - - /** - * Field to use as default where no field prefix is given in the query string. - * This parameter can only be used when the q query string - * parameter is specified. - *

    - * API name: {@code df} - */ - @Nullable - public final String df() { - return this.df; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - */ - public final List expandWildcards() { - return this.expandWildcards; - } - - /** - * If true, the response returns detailed information if an error - * has occurred. - *

    - * API name: {@code explain} - */ - @Nullable - public final Boolean explain() { - return this.explain; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - @Nullable - public final Boolean ignoreUnavailable() { - return this.ignoreUnavailable; - } - - /** - * Comma-separated list of data streams, indices, and aliases to search. - * Supports wildcards (*). To search all data streams or indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - */ - public final List index() { - return this.index; - } - - /** - * If true, format-based query failures (such as providing text to - * a numeric field) in the query string will be ignored. - *

    - * API name: {@code lenient} - */ - @Nullable - public final Boolean lenient() { - return this.lenient; - } - - /** - * Query in the Lucene query string syntax. - *

    - * API name: {@code q} - */ - @Nullable - public final String q() { - return this.q; - } - - /** - * Query in the Lucene query string syntax. - *

    - * API name: {@code query} - */ - @Nullable - public final Query query() { - return this.query; - } - - /** - * If true, returns a more detailed explanation showing the actual - * Lucene query that will be executed. - *

    - * API name: {@code rewrite} - */ - @Nullable - public final Boolean rewrite() { - return this.rewrite; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.query != null) { - generator.writeKey("query"); - this.query.serialize(generator, mapper); - - } - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ValidateQueryRequest}. - */ - - public static class Builder extends RequestBase.AbstractBuilder - implements - ObjectBuilder { - @Nullable - private Boolean allShards; - - @Nullable - private Boolean allowNoIndices; - - @Nullable - private Boolean analyzeWildcard; - - @Nullable - private String analyzer; - - @Nullable - private Operator defaultOperator; - - @Nullable - private String df; - - @Nullable - private List expandWildcards; - - @Nullable - private Boolean explain; - - @Nullable - private Boolean ignoreUnavailable; - - @Nullable - private List index; - - @Nullable - private Boolean lenient; - - @Nullable - private String q; - - @Nullable - private Query query; - - @Nullable - private Boolean rewrite; - - /** - * If true, the validation is executed on all shards instead of one - * random shard per index. - *

    - * API name: {@code all_shards} - */ - public final Builder allShards(@Nullable Boolean value) { - this.allShards = value; - return this; - } - - /** - * If false, the request returns an error if any wildcard - * expression, index alias, or _all value targets only missing or - * closed indices. This behavior applies even if the request targets other open - * indices. - *

    - * API name: {@code allow_no_indices} - */ - public final Builder allowNoIndices(@Nullable Boolean value) { - this.allowNoIndices = value; - return this; - } - - /** - * If true, wildcard and prefix queries are analyzed. - *

    - * API name: {@code analyze_wildcard} - */ - public final Builder analyzeWildcard(@Nullable Boolean value) { - this.analyzeWildcard = value; - return this; - } - - /** - * Analyzer to use for the query string. This parameter can only be used when - * the q query string parameter is specified. - *

    - * API name: {@code analyzer} - */ - public final Builder analyzer(@Nullable String value) { - this.analyzer = value; - return this; - } - - /** - * The default operator for query string query: AND or - * OR. - *

    - * API name: {@code default_operator} - */ - public final Builder defaultOperator(@Nullable Operator value) { - this.defaultOperator = value; - return this; - } - - /** - * Field to use as default where no field prefix is given in the query string. - * This parameter can only be used when the q query string - * parameter is specified. - *

    - * API name: {@code df} - */ - public final Builder df(@Nullable String value) { - this.df = value; - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds all elements of list to expandWildcards. - */ - public final Builder expandWildcards(List list) { - this.expandWildcards = _listAddAll(this.expandWildcards, list); - return this; - } - - /** - * Type of index that wildcard patterns can match. If the request can target - * data streams, this argument determines whether wildcard expressions match - * hidden data streams. Supports comma-separated values, such as - * open,hidden. Valid values are: all, - * open, closed, hidden, - * none. - *

    - * API name: {@code expand_wildcards} - *

    - * Adds one or more values to expandWildcards. - */ - public final Builder expandWildcards(ExpandWildcard value, ExpandWildcard... values) { - this.expandWildcards = _listAdd(this.expandWildcards, value, values); - return this; - } - - /** - * If true, the response returns detailed information if an error - * has occurred. - *

    - * API name: {@code explain} - */ - public final Builder explain(@Nullable Boolean value) { - this.explain = value; - return this; - } - - /** - * If false, the request returns an error if it targets a missing - * or closed index. - *

    - * API name: {@code ignore_unavailable} - */ - public final Builder ignoreUnavailable(@Nullable Boolean value) { - this.ignoreUnavailable = value; - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases to search. - * Supports wildcards (*). To search all data streams or indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds all elements of list to index. - */ - public final Builder index(List list) { - this.index = _listAddAll(this.index, list); - return this; - } - - /** - * Comma-separated list of data streams, indices, and aliases to search. - * Supports wildcards (*). To search all data streams or indices, - * omit this parameter or use * or _all. - *

    - * API name: {@code index} - *

    - * Adds one or more values to index. - */ - public final Builder index(String value, String... values) { - this.index = _listAdd(this.index, value, values); - return this; - } - - /** - * If true, format-based query failures (such as providing text to - * a numeric field) in the query string will be ignored. - *

    - * API name: {@code lenient} - */ - public final Builder lenient(@Nullable Boolean value) { - this.lenient = value; - return this; - } - - /** - * Query in the Lucene query string syntax. - *

    - * API name: {@code q} - */ - public final Builder q(@Nullable String value) { - this.q = value; - return this; - } - - /** - * Query in the Lucene query string syntax. - *

    - * API name: {@code query} - */ - public final Builder query(@Nullable Query value) { - this.query = value; - return this; - } - - /** - * Query in the Lucene query string syntax. - *

    - * API name: {@code query} - */ - public final Builder query(Function> fn) { - return this.query(fn.apply(new Query.Builder()).build()); - } - - /** - * If true, returns a more detailed explanation showing the actual - * Lucene query that will be executed. - *

    - * API name: {@code rewrite} - */ - public final Builder rewrite(@Nullable Boolean value) { - this.rewrite = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ValidateQueryRequest}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ValidateQueryRequest build() { - _checkSingleUse(); - - return new ValidateQueryRequest(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ValidateQueryRequest} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ValidateQueryRequest::setupValidateQueryRequestDeserializer); - - protected static void setupValidateQueryRequestDeserializer(ObjectDeserializer op) { - - op.add(Builder::query, Query._DESERIALIZER, "query"); - - } - - // --------------------------------------------------------------------------------------------- - - /** - * Endpoint "{@code indices.validate_query}". - */ - public static final Endpoint _ENDPOINT = new SimpleEndpoint<>( - "es/indices.validate_query", - - // Request method - request -> { - return "POST"; - - }, - - // Request path - request -> { - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - StringBuilder buf = new StringBuilder(); - buf.append("/_validate"); - buf.append("/query"); - return buf.toString(); - } - if (propsSet == (_index)) { - StringBuilder buf = new StringBuilder(); - buf.append("/"); - SimpleEndpoint.pathEncode(request.index.stream().map(v -> v).collect(Collectors.joining(",")), buf); - buf.append("/_validate"); - buf.append("/query"); - return buf.toString(); - } - throw SimpleEndpoint.noPathTemplateFound("path"); - - }, - - // Path parameters - request -> { - Map params = new HashMap<>(); - final int _index = 1 << 0; - - int propsSet = 0; - - if (ApiTypeHelper.isDefined(request.index())) - propsSet |= _index; - - if (propsSet == 0) { - } - if (propsSet == (_index)) { - params.put("index", request.index.stream().map(v -> v).collect(Collectors.joining(","))); - } - return params; - }, - - // Request parameters - request -> { - Map params = new HashMap<>(); - if (request.explain != null) { - params.put("explain", String.valueOf(request.explain)); - } - if (request.q != null) { - params.put("q", request.q); - } - if (request.df != null) { - params.put("df", request.df); - } - if (request.defaultOperator != null) { - params.put("default_operator", request.defaultOperator.jsonValue()); - } - if (request.allShards != null) { - params.put("all_shards", String.valueOf(request.allShards)); - } - if (ApiTypeHelper.isDefined(request.expandWildcards)) { - params.put("expand_wildcards", - request.expandWildcards.stream().map(v -> v.jsonValue()).collect(Collectors.joining(","))); - } - if (request.ignoreUnavailable != null) { - params.put("ignore_unavailable", String.valueOf(request.ignoreUnavailable)); - } - if (request.allowNoIndices != null) { - params.put("allow_no_indices", String.valueOf(request.allowNoIndices)); - } - if (request.analyzer != null) { - params.put("analyzer", request.analyzer); - } - if (request.analyzeWildcard != null) { - params.put("analyze_wildcard", String.valueOf(request.analyzeWildcard)); - } - if (request.lenient != null) { - params.put("lenient", String.valueOf(request.lenient)); - } - if (request.rewrite != null) { - params.put("rewrite", String.valueOf(request.rewrite)); - } - return params; - - }, SimpleEndpoint.emptyMap(), true, ValidateQueryResponse._DESERIALIZER); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryResponse.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryResponse.java deleted file mode 100644 index b269fc8ad..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryResponse.java +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices; - -import co.elastic.clients.elasticsearch._types.ShardStatistics; -import co.elastic.clients.elasticsearch.indices.validate_query.IndicesValidationExplanation; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.validate_query.Response - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ValidateQueryResponse implements JsonpSerializable { - private final List explanations; - - @Nullable - private final ShardStatistics shards; - - private final boolean valid; - - @Nullable - private final String error; - - // --------------------------------------------------------------------------------------------- - - private ValidateQueryResponse(Builder builder) { - - this.explanations = ApiTypeHelper.unmodifiable(builder.explanations); - this.shards = builder.shards; - this.valid = ApiTypeHelper.requireNonNull(builder.valid, this, "valid"); - this.error = builder.error; - - } - - public static ValidateQueryResponse of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code explanations} - */ - public final List explanations() { - return this.explanations; - } - - /** - * API name: {@code _shards} - */ - @Nullable - public final ShardStatistics shards() { - return this.shards; - } - - /** - * Required - API name: {@code valid} - */ - public final boolean valid() { - return this.valid; - } - - /** - * API name: {@code error} - */ - @Nullable - public final String error() { - return this.error; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.explanations)) { - generator.writeKey("explanations"); - generator.writeStartArray(); - for (IndicesValidationExplanation item0 : this.explanations) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.shards != null) { - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); - - } - generator.writeKey("valid"); - generator.write(this.valid); - - if (this.error != null) { - generator.writeKey("error"); - generator.write(this.error); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ValidateQueryResponse}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private List explanations; - - @Nullable - private ShardStatistics shards; - - private Boolean valid; - - @Nullable - private String error; - - /** - * API name: {@code explanations} - *

    - * Adds all elements of list to explanations. - */ - public final Builder explanations(List list) { - this.explanations = _listAddAll(this.explanations, list); - return this; - } - - /** - * API name: {@code explanations} - *

    - * Adds one or more values to explanations. - */ - public final Builder explanations(IndicesValidationExplanation value, IndicesValidationExplanation... values) { - this.explanations = _listAdd(this.explanations, value, values); - return this; - } - - /** - * API name: {@code explanations} - *

    - * Adds a value to explanations using a builder lambda. - */ - public final Builder explanations( - Function> fn) { - return explanations(fn.apply(new IndicesValidationExplanation.Builder()).build()); - } - - /** - * API name: {@code _shards} - */ - public final Builder shards(@Nullable ShardStatistics value) { - this.shards = value; - return this; - } - - /** - * API name: {@code _shards} - */ - public final Builder shards(Function> fn) { - return this.shards(fn.apply(new ShardStatistics.Builder()).build()); - } - - /** - * Required - API name: {@code valid} - */ - public final Builder valid(boolean value) { - this.valid = value; - return this; - } - - /** - * API name: {@code error} - */ - public final Builder error(@Nullable String value) { - this.error = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ValidateQueryResponse}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ValidateQueryResponse build() { - _checkSingleUse(); - - return new ValidateQueryResponse(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ValidateQueryResponse} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ValidateQueryResponse::setupValidateQueryResponseDeserializer); - - protected static void setupValidateQueryResponseDeserializer(ObjectDeserializer op) { - - op.add(Builder::explanations, JsonpDeserializer.arrayDeserializer(IndicesValidationExplanation._DESERIALIZER), - "explanations"); - op.add(Builder::shards, ShardStatistics._DESERIALIZER, "_shards"); - op.add(Builder::valid, JsonpDeserializer.booleanDeserializer(), "valid"); - op.add(Builder::error, JsonpDeserializer.stringDeserializer(), "error"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockOptions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockOptions.java deleted file mode 100644 index 7c646190d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockOptions.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.add_block; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum IndicesBlockOptions implements JsonEnum { - Metadata("metadata"), - - Read("read"), - - ReadOnly("read_only"), - - Write("write"), - - ; - - private final String jsonValue; - - IndicesBlockOptions(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>( - IndicesBlockOptions.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockStatus.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockStatus.java deleted file mode 100644 index cd9d033cd..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/add_block/IndicesBlockStatus.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.add_block; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.add_block.IndicesBlockStatus - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndicesBlockStatus implements JsonpSerializable { - private final String name; - - private final boolean blocked; - - // --------------------------------------------------------------------------------------------- - - private IndicesBlockStatus(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.blocked = ApiTypeHelper.requireNonNull(builder.blocked, this, "blocked"); - - } - - public static IndicesBlockStatus of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code blocked} - */ - public final boolean blocked() { - return this.blocked; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - generator.writeKey("blocked"); - generator.write(this.blocked); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndicesBlockStatus}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String name; - - private Boolean blocked; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code blocked} - */ - public final Builder blocked(boolean value) { - this.blocked = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndicesBlockStatus}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndicesBlockStatus build() { - _checkSingleUse(); - - return new IndicesBlockStatus(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndicesBlockStatus} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndicesBlockStatus::setupIndicesBlockStatusDeserializer); - - protected static void setupIndicesBlockStatusDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::blocked, JsonpDeserializer.booleanDeserializer(), "blocked"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeDetail.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeDetail.java deleted file mode 100644 index 00ba2a66c..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeDetail.java +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.AnalyzeDetail - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AnalyzeDetail implements JsonpSerializable { - @Nullable - private final AnalyzerDetail analyzer; - - private final List charfilters; - - private final boolean customAnalyzer; - - private final List tokenfilters; - - @Nullable - private final TokenDetail tokenizer; - - // --------------------------------------------------------------------------------------------- - - private AnalyzeDetail(Builder builder) { - - this.analyzer = builder.analyzer; - this.charfilters = ApiTypeHelper.unmodifiable(builder.charfilters); - this.customAnalyzer = ApiTypeHelper.requireNonNull(builder.customAnalyzer, this, "customAnalyzer"); - this.tokenfilters = ApiTypeHelper.unmodifiable(builder.tokenfilters); - this.tokenizer = builder.tokenizer; - - } - - public static AnalyzeDetail of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code analyzer} - */ - @Nullable - public final AnalyzerDetail analyzer() { - return this.analyzer; - } - - /** - * API name: {@code charfilters} - */ - public final List charfilters() { - return this.charfilters; - } - - /** - * Required - API name: {@code custom_analyzer} - */ - public final boolean customAnalyzer() { - return this.customAnalyzer; - } - - /** - * API name: {@code tokenfilters} - */ - public final List tokenfilters() { - return this.tokenfilters; - } - - /** - * API name: {@code tokenizer} - */ - @Nullable - public final TokenDetail tokenizer() { - return this.tokenizer; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.analyzer != null) { - generator.writeKey("analyzer"); - this.analyzer.serialize(generator, mapper); - - } - if (ApiTypeHelper.isDefined(this.charfilters)) { - generator.writeKey("charfilters"); - generator.writeStartArray(); - for (CharFilterDetail item0 : this.charfilters) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("custom_analyzer"); - generator.write(this.customAnalyzer); - - if (ApiTypeHelper.isDefined(this.tokenfilters)) { - generator.writeKey("tokenfilters"); - generator.writeStartArray(); - for (TokenDetail item0 : this.tokenfilters) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.tokenizer != null) { - generator.writeKey("tokenizer"); - this.tokenizer.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AnalyzeDetail}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - @Nullable - private AnalyzerDetail analyzer; - - @Nullable - private List charfilters; - - private Boolean customAnalyzer; - - @Nullable - private List tokenfilters; - - @Nullable - private TokenDetail tokenizer; - - /** - * API name: {@code analyzer} - */ - public final Builder analyzer(@Nullable AnalyzerDetail value) { - this.analyzer = value; - return this; - } - - /** - * API name: {@code analyzer} - */ - public final Builder analyzer(Function> fn) { - return this.analyzer(fn.apply(new AnalyzerDetail.Builder()).build()); - } - - /** - * API name: {@code charfilters} - *

    - * Adds all elements of list to charfilters. - */ - public final Builder charfilters(List list) { - this.charfilters = _listAddAll(this.charfilters, list); - return this; - } - - /** - * API name: {@code charfilters} - *

    - * Adds one or more values to charfilters. - */ - public final Builder charfilters(CharFilterDetail value, CharFilterDetail... values) { - this.charfilters = _listAdd(this.charfilters, value, values); - return this; - } - - /** - * API name: {@code charfilters} - *

    - * Adds a value to charfilters using a builder lambda. - */ - public final Builder charfilters(Function> fn) { - return charfilters(fn.apply(new CharFilterDetail.Builder()).build()); - } - - /** - * Required - API name: {@code custom_analyzer} - */ - public final Builder customAnalyzer(boolean value) { - this.customAnalyzer = value; - return this; - } - - /** - * API name: {@code tokenfilters} - *

    - * Adds all elements of list to tokenfilters. - */ - public final Builder tokenfilters(List list) { - this.tokenfilters = _listAddAll(this.tokenfilters, list); - return this; - } - - /** - * API name: {@code tokenfilters} - *

    - * Adds one or more values to tokenfilters. - */ - public final Builder tokenfilters(TokenDetail value, TokenDetail... values) { - this.tokenfilters = _listAdd(this.tokenfilters, value, values); - return this; - } - - /** - * API name: {@code tokenfilters} - *

    - * Adds a value to tokenfilters using a builder lambda. - */ - public final Builder tokenfilters(Function> fn) { - return tokenfilters(fn.apply(new TokenDetail.Builder()).build()); - } - - /** - * API name: {@code tokenizer} - */ - public final Builder tokenizer(@Nullable TokenDetail value) { - this.tokenizer = value; - return this; - } - - /** - * API name: {@code tokenizer} - */ - public final Builder tokenizer(Function> fn) { - return this.tokenizer(fn.apply(new TokenDetail.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AnalyzeDetail}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AnalyzeDetail build() { - _checkSingleUse(); - - return new AnalyzeDetail(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AnalyzeDetail} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AnalyzeDetail::setupAnalyzeDetailDeserializer); - - protected static void setupAnalyzeDetailDeserializer(ObjectDeserializer op) { - - op.add(Builder::analyzer, AnalyzerDetail._DESERIALIZER, "analyzer"); - op.add(Builder::charfilters, JsonpDeserializer.arrayDeserializer(CharFilterDetail._DESERIALIZER), - "charfilters"); - op.add(Builder::customAnalyzer, JsonpDeserializer.booleanDeserializer(), "custom_analyzer"); - op.add(Builder::tokenfilters, JsonpDeserializer.arrayDeserializer(TokenDetail._DESERIALIZER), "tokenfilters"); - op.add(Builder::tokenizer, TokenDetail._DESERIALIZER, "tokenizer"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeToken.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeToken.java deleted file mode 100644 index e2630d9e9..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzeToken.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.AnalyzeToken - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AnalyzeToken implements JsonpSerializable { - private final long endOffset; - - private final long position; - - @Nullable - private final Long positionlength; - - private final long startOffset; - - private final String token; - - private final String type; - - // --------------------------------------------------------------------------------------------- - - private AnalyzeToken(Builder builder) { - - this.endOffset = ApiTypeHelper.requireNonNull(builder.endOffset, this, "endOffset"); - this.position = ApiTypeHelper.requireNonNull(builder.position, this, "position"); - this.positionlength = builder.positionlength; - this.startOffset = ApiTypeHelper.requireNonNull(builder.startOffset, this, "startOffset"); - this.token = ApiTypeHelper.requireNonNull(builder.token, this, "token"); - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - - } - - public static AnalyzeToken of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code end_offset} - */ - public final long endOffset() { - return this.endOffset; - } - - /** - * Required - API name: {@code position} - */ - public final long position() { - return this.position; - } - - /** - * API name: {@code positionLength} - */ - @Nullable - public final Long positionlength() { - return this.positionlength; - } - - /** - * Required - API name: {@code start_offset} - */ - public final long startOffset() { - return this.startOffset; - } - - /** - * Required - API name: {@code token} - */ - public final String token() { - return this.token; - } - - /** - * Required - API name: {@code type} - */ - public final String type() { - return this.type; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("end_offset"); - generator.write(this.endOffset); - - generator.writeKey("position"); - generator.write(this.position); - - if (this.positionlength != null) { - generator.writeKey("positionLength"); - generator.write(this.positionlength); - - } - generator.writeKey("start_offset"); - generator.write(this.startOffset); - - generator.writeKey("token"); - generator.write(this.token); - - generator.writeKey("type"); - generator.write(this.type); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AnalyzeToken}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Long endOffset; - - private Long position; - - @Nullable - private Long positionlength; - - private Long startOffset; - - private String token; - - private String type; - - /** - * Required - API name: {@code end_offset} - */ - public final Builder endOffset(long value) { - this.endOffset = value; - return this; - } - - /** - * Required - API name: {@code position} - */ - public final Builder position(long value) { - this.position = value; - return this; - } - - /** - * API name: {@code positionLength} - */ - public final Builder positionlength(@Nullable Long value) { - this.positionlength = value; - return this; - } - - /** - * Required - API name: {@code start_offset} - */ - public final Builder startOffset(long value) { - this.startOffset = value; - return this; - } - - /** - * Required - API name: {@code token} - */ - public final Builder token(String value) { - this.token = value; - return this; - } - - /** - * Required - API name: {@code type} - */ - public final Builder type(String value) { - this.type = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AnalyzeToken}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AnalyzeToken build() { - _checkSingleUse(); - - return new AnalyzeToken(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AnalyzeToken} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AnalyzeToken::setupAnalyzeTokenDeserializer); - - protected static void setupAnalyzeTokenDeserializer(ObjectDeserializer op) { - - op.add(Builder::endOffset, JsonpDeserializer.longDeserializer(), "end_offset"); - op.add(Builder::position, JsonpDeserializer.longDeserializer(), "position"); - op.add(Builder::positionlength, JsonpDeserializer.longDeserializer(), "positionLength"); - op.add(Builder::startOffset, JsonpDeserializer.longDeserializer(), "start_offset"); - op.add(Builder::token, JsonpDeserializer.stringDeserializer(), "token"); - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzerDetail.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzerDetail.java deleted file mode 100644 index 3037ce531..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/AnalyzerDetail.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.AnalyzerDetail - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class AnalyzerDetail implements JsonpSerializable { - private final String name; - - private final List tokens; - - // --------------------------------------------------------------------------------------------- - - private AnalyzerDetail(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.tokens = ApiTypeHelper.unmodifiableRequired(builder.tokens, this, "tokens"); - - } - - public static AnalyzerDetail of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code tokens} - */ - public final List tokens() { - return this.tokens; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (ApiTypeHelper.isDefined(this.tokens)) { - generator.writeKey("tokens"); - generator.writeStartArray(); - for (ExplainAnalyzeToken item0 : this.tokens) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link AnalyzerDetail}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - private List tokens; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds all elements of list to tokens. - */ - public final Builder tokens(List list) { - this.tokens = _listAddAll(this.tokens, list); - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds one or more values to tokens. - */ - public final Builder tokens(ExplainAnalyzeToken value, ExplainAnalyzeToken... values) { - this.tokens = _listAdd(this.tokens, value, values); - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds a value to tokens using a builder lambda. - */ - public final Builder tokens(Function> fn) { - return tokens(fn.apply(new ExplainAnalyzeToken.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link AnalyzerDetail}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public AnalyzerDetail build() { - _checkSingleUse(); - - return new AnalyzerDetail(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link AnalyzerDetail} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - AnalyzerDetail::setupAnalyzerDetailDeserializer); - - protected static void setupAnalyzerDetailDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::tokens, JsonpDeserializer.arrayDeserializer(ExplainAnalyzeToken._DESERIALIZER), "tokens"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/CharFilterDetail.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/CharFilterDetail.java deleted file mode 100644 index 4abd71957..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/CharFilterDetail.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.CharFilterDetail - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class CharFilterDetail implements JsonpSerializable { - private final List filteredText; - - private final String name; - - // --------------------------------------------------------------------------------------------- - - private CharFilterDetail(Builder builder) { - - this.filteredText = ApiTypeHelper.unmodifiableRequired(builder.filteredText, this, "filteredText"); - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - - } - - public static CharFilterDetail of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code filtered_text} - */ - public final List filteredText() { - return this.filteredText; - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.filteredText)) { - generator.writeKey("filtered_text"); - generator.writeStartArray(); - for (String item0 : this.filteredText) { - generator.write(item0); - - } - generator.writeEnd(); - - } - generator.writeKey("name"); - generator.write(this.name); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link CharFilterDetail}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List filteredText; - - private String name; - - /** - * Required - API name: {@code filtered_text} - *

    - * Adds all elements of list to filteredText. - */ - public final Builder filteredText(List list) { - this.filteredText = _listAddAll(this.filteredText, list); - return this; - } - - /** - * Required - API name: {@code filtered_text} - *

    - * Adds one or more values to filteredText. - */ - public final Builder filteredText(String value, String... values) { - this.filteredText = _listAdd(this.filteredText, value, values); - return this; - } - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link CharFilterDetail}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public CharFilterDetail build() { - _checkSingleUse(); - - return new CharFilterDetail(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link CharFilterDetail} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - CharFilterDetail::setupCharFilterDetailDeserializer); - - protected static void setupCharFilterDetailDeserializer(ObjectDeserializer op) { - - op.add(Builder::filteredText, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "filtered_text"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/ExplainAnalyzeToken.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/ExplainAnalyzeToken.java deleted file mode 100644 index 241ceebf2..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/ExplainAnalyzeToken.java +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonData; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.ExplainAnalyzeToken - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ExplainAnalyzeToken implements JsonpSerializable { - private final Map attributes; - - private final String bytes; - - private final long endOffset; - - @Nullable - private final Boolean keyword; - - private final long position; - - private final long positionlength; - - private final long startOffset; - - private final long termfrequency; - - private final String token; - - private final String type; - - // --------------------------------------------------------------------------------------------- - - private ExplainAnalyzeToken(Builder builder) { - - this.attributes = ApiTypeHelper.unmodifiable(builder.attributes); - - this.bytes = ApiTypeHelper.requireNonNull(builder.bytes, this, "bytes"); - this.endOffset = ApiTypeHelper.requireNonNull(builder.endOffset, this, "endOffset"); - this.keyword = builder.keyword; - this.position = ApiTypeHelper.requireNonNull(builder.position, this, "position"); - this.positionlength = ApiTypeHelper.requireNonNull(builder.positionlength, this, "positionlength"); - this.startOffset = ApiTypeHelper.requireNonNull(builder.startOffset, this, "startOffset"); - this.termfrequency = ApiTypeHelper.requireNonNull(builder.termfrequency, this, "termfrequency"); - this.token = ApiTypeHelper.requireNonNull(builder.token, this, "token"); - this.type = ApiTypeHelper.requireNonNull(builder.type, this, "type"); - - } - - public static ExplainAnalyzeToken of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Additional tokenizer-specific attributes - */ - public final Map attributes() { - return this.attributes; - } - - /** - * Required - API name: {@code bytes} - */ - public final String bytes() { - return this.bytes; - } - - /** - * Required - API name: {@code end_offset} - */ - public final long endOffset() { - return this.endOffset; - } - - /** - * API name: {@code keyword} - */ - @Nullable - public final Boolean keyword() { - return this.keyword; - } - - /** - * Required - API name: {@code position} - */ - public final long position() { - return this.position; - } - - /** - * Required - API name: {@code positionLength} - */ - public final long positionlength() { - return this.positionlength; - } - - /** - * Required - API name: {@code start_offset} - */ - public final long startOffset() { - return this.startOffset; - } - - /** - * Required - API name: {@code termFrequency} - */ - public final long termfrequency() { - return this.termfrequency; - } - - /** - * Required - API name: {@code token} - */ - public final String token() { - return this.token; - } - - /** - * Required - API name: {@code type} - */ - public final String type() { - return this.type; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - for (Map.Entry item0 : this.attributes.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - - generator.writeKey("bytes"); - generator.write(this.bytes); - - generator.writeKey("end_offset"); - generator.write(this.endOffset); - - if (this.keyword != null) { - generator.writeKey("keyword"); - generator.write(this.keyword); - - } - generator.writeKey("position"); - generator.write(this.position); - - generator.writeKey("positionLength"); - generator.write(this.positionlength); - - generator.writeKey("start_offset"); - generator.write(this.startOffset); - - generator.writeKey("termFrequency"); - generator.write(this.termfrequency); - - generator.writeKey("token"); - generator.write(this.token); - - generator.writeKey("type"); - generator.write(this.type); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ExplainAnalyzeToken}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Map attributes = new HashMap<>(); - - /** - * Additional tokenizer-specific attributes - *

    - * Adds all entries of map to attributes. - */ - public final Builder attributes(Map map) { - this.attributes = _mapPutAll(this.attributes, map); - return this; - } - - /** - * Additional tokenizer-specific attributes - *

    - * Adds an entry to attributes. - */ - public final Builder attributes(String key, JsonData value) { - this.attributes = _mapPut(this.attributes, key, value); - return this; - } - - private String bytes; - - private Long endOffset; - - @Nullable - private Boolean keyword; - - private Long position; - - private Long positionlength; - - private Long startOffset; - - private Long termfrequency; - - private String token; - - private String type; - - /** - * Required - API name: {@code bytes} - */ - public final Builder bytes(String value) { - this.bytes = value; - return this; - } - - /** - * Required - API name: {@code end_offset} - */ - public final Builder endOffset(long value) { - this.endOffset = value; - return this; - } - - /** - * API name: {@code keyword} - */ - public final Builder keyword(@Nullable Boolean value) { - this.keyword = value; - return this; - } - - /** - * Required - API name: {@code position} - */ - public final Builder position(long value) { - this.position = value; - return this; - } - - /** - * Required - API name: {@code positionLength} - */ - public final Builder positionlength(long value) { - this.positionlength = value; - return this; - } - - /** - * Required - API name: {@code start_offset} - */ - public final Builder startOffset(long value) { - this.startOffset = value; - return this; - } - - /** - * Required - API name: {@code termFrequency} - */ - public final Builder termfrequency(long value) { - this.termfrequency = value; - return this; - } - - /** - * Required - API name: {@code token} - */ - public final Builder token(String value) { - this.token = value; - return this; - } - - /** - * Required - API name: {@code type} - */ - public final Builder type(String value) { - this.type = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ExplainAnalyzeToken}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ExplainAnalyzeToken build() { - _checkSingleUse(); - - return new ExplainAnalyzeToken(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ExplainAnalyzeToken} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ExplainAnalyzeToken::setupExplainAnalyzeTokenDeserializer); - - protected static void setupExplainAnalyzeTokenDeserializer(ObjectDeserializer op) { - - op.add(Builder::bytes, JsonpDeserializer.stringDeserializer(), "bytes"); - op.add(Builder::endOffset, JsonpDeserializer.longDeserializer(), "end_offset"); - op.add(Builder::keyword, JsonpDeserializer.booleanDeserializer(), "keyword"); - op.add(Builder::position, JsonpDeserializer.longDeserializer(), "position"); - op.add(Builder::positionlength, JsonpDeserializer.longDeserializer(), "positionLength"); - op.add(Builder::startOffset, JsonpDeserializer.longDeserializer(), "start_offset"); - op.add(Builder::termfrequency, JsonpDeserializer.longDeserializer(), "termFrequency"); - op.add(Builder::token, JsonpDeserializer.stringDeserializer(), "token"); - op.add(Builder::type, JsonpDeserializer.stringDeserializer(), "type"); - - op.setUnknownFieldHandler((builder, name, parser, mapper) -> { - builder.attributes(name, JsonData._DESERIALIZER.deserialize(parser, mapper)); - }); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/TokenDetail.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/TokenDetail.java deleted file mode 100644 index c8da22be3..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/analyze/TokenDetail.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.analyze; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.analyze.TokenDetail - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class TokenDetail implements JsonpSerializable { - private final String name; - - private final List tokens; - - // --------------------------------------------------------------------------------------------- - - private TokenDetail(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.tokens = ApiTypeHelper.unmodifiableRequired(builder.tokens, this, "tokens"); - - } - - public static TokenDetail of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code tokens} - */ - public final List tokens() { - return this.tokens; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (ApiTypeHelper.isDefined(this.tokens)) { - generator.writeKey("tokens"); - generator.writeStartArray(); - for (ExplainAnalyzeToken item0 : this.tokens) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link TokenDetail}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - private List tokens; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds all elements of list to tokens. - */ - public final Builder tokens(List list) { - this.tokens = _listAddAll(this.tokens, list); - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds one or more values to tokens. - */ - public final Builder tokens(ExplainAnalyzeToken value, ExplainAnalyzeToken... values) { - this.tokens = _listAdd(this.tokens, value, values); - return this; - } - - /** - * Required - API name: {@code tokens} - *

    - * Adds a value to tokens using a builder lambda. - */ - public final Builder tokens(Function> fn) { - return tokens(fn.apply(new ExplainAnalyzeToken.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link TokenDetail}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public TokenDetail build() { - _checkSingleUse(); - - return new TokenDetail(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link TokenDetail} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - TokenDetail::setupTokenDetailDeserializer); - - protected static void setupTokenDetailDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::tokens, JsonpDeserializer.arrayDeserializer(ExplainAnalyzeToken._DESERIALIZER), "tokens"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/data_streams_stats/DataStreamsStatsItem.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/data_streams_stats/DataStreamsStatsItem.java deleted file mode 100644 index 1545c0030..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/data_streams_stats/DataStreamsStatsItem.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.data_streams_stats; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Integer; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.data_streams_stats.DataStreamsStatsItem - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamsStatsItem implements JsonpSerializable { - private final int backingIndices; - - private final String dataStream; - - private final long maximumTimestamp; - - @Nullable - private final String storeSize; - - private final long storeSizeBytes; - - // --------------------------------------------------------------------------------------------- - - private DataStreamsStatsItem(Builder builder) { - - this.backingIndices = ApiTypeHelper.requireNonNull(builder.backingIndices, this, "backingIndices"); - this.dataStream = ApiTypeHelper.requireNonNull(builder.dataStream, this, "dataStream"); - this.maximumTimestamp = ApiTypeHelper.requireNonNull(builder.maximumTimestamp, this, "maximumTimestamp"); - this.storeSize = builder.storeSize; - this.storeSizeBytes = ApiTypeHelper.requireNonNull(builder.storeSizeBytes, this, "storeSizeBytes"); - - } - - public static DataStreamsStatsItem of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - Current number of backing indices for the data stream. - *

    - * API name: {@code backing_indices} - */ - public final int backingIndices() { - return this.backingIndices; - } - - /** - * Required - Name of the data stream. - *

    - * API name: {@code data_stream} - */ - public final String dataStream() { - return this.dataStream; - } - - /** - * Required - The data stream’s highest @timestamp value, converted - * to milliseconds since the Unix epoch. NOTE: This timestamp is provided as a - * best effort. The data stream may contain @timestamp values - * higher than this if one or more of the following conditions are met: The - * stream contains closed backing indices; Backing indices with a lower - * generation contain higher @timestamp values. - *

    - * API name: {@code maximum_timestamp} - */ - public final long maximumTimestamp() { - return this.maximumTimestamp; - } - - /** - * Total size of all shards for the data stream’s backing indices. This - * parameter is only returned if the human query parameter is - * true. - *

    - * API name: {@code store_size} - */ - @Nullable - public final String storeSize() { - return this.storeSize; - } - - /** - * Required - Total size, in bytes, of all shards for the data stream’s backing - * indices. - *

    - * API name: {@code store_size_bytes} - */ - public final long storeSizeBytes() { - return this.storeSizeBytes; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("backing_indices"); - generator.write(this.backingIndices); - - generator.writeKey("data_stream"); - generator.write(this.dataStream); - - generator.writeKey("maximum_timestamp"); - generator.write(this.maximumTimestamp); - - if (this.storeSize != null) { - generator.writeKey("store_size"); - generator.write(this.storeSize); - - } - generator.writeKey("store_size_bytes"); - generator.write(this.storeSizeBytes); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamsStatsItem}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private Integer backingIndices; - - private String dataStream; - - private Long maximumTimestamp; - - @Nullable - private String storeSize; - - private Long storeSizeBytes; - - /** - * Required - Current number of backing indices for the data stream. - *

    - * API name: {@code backing_indices} - */ - public final Builder backingIndices(int value) { - this.backingIndices = value; - return this; - } - - /** - * Required - Name of the data stream. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream(String value) { - this.dataStream = value; - return this; - } - - /** - * Required - The data stream’s highest @timestamp value, converted - * to milliseconds since the Unix epoch. NOTE: This timestamp is provided as a - * best effort. The data stream may contain @timestamp values - * higher than this if one or more of the following conditions are met: The - * stream contains closed backing indices; Backing indices with a lower - * generation contain higher @timestamp values. - *

    - * API name: {@code maximum_timestamp} - */ - public final Builder maximumTimestamp(long value) { - this.maximumTimestamp = value; - return this; - } - - /** - * Total size of all shards for the data stream’s backing indices. This - * parameter is only returned if the human query parameter is - * true. - *

    - * API name: {@code store_size} - */ - public final Builder storeSize(@Nullable String value) { - this.storeSize = value; - return this; - } - - /** - * Required - Total size, in bytes, of all shards for the data stream’s backing - * indices. - *

    - * API name: {@code store_size_bytes} - */ - public final Builder storeSizeBytes(long value) { - this.storeSizeBytes = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamsStatsItem}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamsStatsItem build() { - _checkSingleUse(); - - return new DataStreamsStatsItem(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamsStatsItem} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamsStatsItem::setupDataStreamsStatsItemDeserializer); - - protected static void setupDataStreamsStatsItemDeserializer(ObjectDeserializer op) { - - op.add(Builder::backingIndices, JsonpDeserializer.integerDeserializer(), "backing_indices"); - op.add(Builder::dataStream, JsonpDeserializer.stringDeserializer(), "data_stream"); - op.add(Builder::maximumTimestamp, JsonpDeserializer.longDeserializer(), "maximum_timestamp"); - op.add(Builder::storeSize, JsonpDeserializer.stringDeserializer(), "store_size"); - op.add(Builder::storeSizeBytes, JsonpDeserializer.longDeserializer(), "store_size_bytes"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/explain_data_lifecycle/DataStreamLifecycleExplain.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/explain_data_lifecycle/DataStreamLifecycleExplain.java deleted file mode 100644 index 145d2197f..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/explain_data_lifecycle/DataStreamLifecycleExplain.java +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.explain_data_lifecycle; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.elasticsearch.indices.DataStreamLifecycleWithRollover; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Boolean; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.explain_data_lifecycle.DataStreamLifecycleExplain - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamLifecycleExplain implements JsonpSerializable { - private final String index; - - private final boolean managedByLifecycle; - - @Nullable - private final Long indexCreationDateMillis; - - @Nullable - private final Time timeSinceIndexCreation; - - @Nullable - private final Long rolloverDateMillis; - - @Nullable - private final Time timeSinceRollover; - - @Nullable - private final DataStreamLifecycleWithRollover lifecycle; - - @Nullable - private final Time generationTime; - - @Nullable - private final String error; - - // --------------------------------------------------------------------------------------------- - - private DataStreamLifecycleExplain(Builder builder) { - - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.managedByLifecycle = ApiTypeHelper.requireNonNull(builder.managedByLifecycle, this, "managedByLifecycle"); - this.indexCreationDateMillis = builder.indexCreationDateMillis; - this.timeSinceIndexCreation = builder.timeSinceIndexCreation; - this.rolloverDateMillis = builder.rolloverDateMillis; - this.timeSinceRollover = builder.timeSinceRollover; - this.lifecycle = builder.lifecycle; - this.generationTime = builder.generationTime; - this.error = builder.error; - - } - - public static DataStreamLifecycleExplain of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Required - API name: {@code managed_by_lifecycle} - */ - public final boolean managedByLifecycle() { - return this.managedByLifecycle; - } - - /** - * API name: {@code index_creation_date_millis} - */ - @Nullable - public final Long indexCreationDateMillis() { - return this.indexCreationDateMillis; - } - - /** - * API name: {@code time_since_index_creation} - */ - @Nullable - public final Time timeSinceIndexCreation() { - return this.timeSinceIndexCreation; - } - - /** - * API name: {@code rollover_date_millis} - */ - @Nullable - public final Long rolloverDateMillis() { - return this.rolloverDateMillis; - } - - /** - * API name: {@code time_since_rollover} - */ - @Nullable - public final Time timeSinceRollover() { - return this.timeSinceRollover; - } - - /** - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycleWithRollover lifecycle() { - return this.lifecycle; - } - - /** - * API name: {@code generation_time} - */ - @Nullable - public final Time generationTime() { - return this.generationTime; - } - - /** - * API name: {@code error} - */ - @Nullable - public final String error() { - return this.error; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("index"); - generator.write(this.index); - - generator.writeKey("managed_by_lifecycle"); - generator.write(this.managedByLifecycle); - - if (this.indexCreationDateMillis != null) { - generator.writeKey("index_creation_date_millis"); - generator.write(this.indexCreationDateMillis); - - } - if (this.timeSinceIndexCreation != null) { - generator.writeKey("time_since_index_creation"); - this.timeSinceIndexCreation.serialize(generator, mapper); - - } - if (this.rolloverDateMillis != null) { - generator.writeKey("rollover_date_millis"); - generator.write(this.rolloverDateMillis); - - } - if (this.timeSinceRollover != null) { - generator.writeKey("time_since_rollover"); - this.timeSinceRollover.serialize(generator, mapper); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - if (this.generationTime != null) { - generator.writeKey("generation_time"); - this.generationTime.serialize(generator, mapper); - - } - if (this.error != null) { - generator.writeKey("error"); - generator.write(this.error); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamLifecycleExplain}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String index; - - private Boolean managedByLifecycle; - - @Nullable - private Long indexCreationDateMillis; - - @Nullable - private Time timeSinceIndexCreation; - - @Nullable - private Long rolloverDateMillis; - - @Nullable - private Time timeSinceRollover; - - @Nullable - private DataStreamLifecycleWithRollover lifecycle; - - @Nullable - private Time generationTime; - - @Nullable - private String error; - - /** - * Required - API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Required - API name: {@code managed_by_lifecycle} - */ - public final Builder managedByLifecycle(boolean value) { - this.managedByLifecycle = value; - return this; - } - - /** - * API name: {@code index_creation_date_millis} - */ - public final Builder indexCreationDateMillis(@Nullable Long value) { - this.indexCreationDateMillis = value; - return this; - } - - /** - * API name: {@code time_since_index_creation} - */ - public final Builder timeSinceIndexCreation(@Nullable Time value) { - this.timeSinceIndexCreation = value; - return this; - } - - /** - * API name: {@code time_since_index_creation} - */ - public final Builder timeSinceIndexCreation(Function> fn) { - return this.timeSinceIndexCreation(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code rollover_date_millis} - */ - public final Builder rolloverDateMillis(@Nullable Long value) { - this.rolloverDateMillis = value; - return this; - } - - /** - * API name: {@code time_since_rollover} - */ - public final Builder timeSinceRollover(@Nullable Time value) { - this.timeSinceRollover = value; - return this; - } - - /** - * API name: {@code time_since_rollover} - */ - public final Builder timeSinceRollover(Function> fn) { - return this.timeSinceRollover(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycleWithRollover value) { - this.lifecycle = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle( - Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycleWithRollover.Builder()).build()); - } - - /** - * API name: {@code generation_time} - */ - public final Builder generationTime(@Nullable Time value) { - this.generationTime = value; - return this; - } - - /** - * API name: {@code generation_time} - */ - public final Builder generationTime(Function> fn) { - return this.generationTime(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code error} - */ - public final Builder error(@Nullable String value) { - this.error = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamLifecycleExplain}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamLifecycleExplain build() { - _checkSingleUse(); - - return new DataStreamLifecycleExplain(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamLifecycleExplain} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamLifecycleExplain::setupDataStreamLifecycleExplainDeserializer); - - protected static void setupDataStreamLifecycleExplainDeserializer( - ObjectDeserializer op) { - - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index"); - op.add(Builder::managedByLifecycle, JsonpDeserializer.booleanDeserializer(), "managed_by_lifecycle"); - op.add(Builder::indexCreationDateMillis, JsonpDeserializer.longDeserializer(), "index_creation_date_millis"); - op.add(Builder::timeSinceIndexCreation, Time._DESERIALIZER, "time_since_index_creation"); - op.add(Builder::rolloverDateMillis, JsonpDeserializer.longDeserializer(), "rollover_date_millis"); - op.add(Builder::timeSinceRollover, Time._DESERIALIZER, "time_since_rollover"); - op.add(Builder::lifecycle, DataStreamLifecycleWithRollover._DESERIALIZER, "lifecycle"); - op.add(Builder::generationTime, Time._DESERIALIZER, "generation_time"); - op.add(Builder::error, JsonpDeserializer.stringDeserializer(), "error"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get/Feature.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get/Feature.java deleted file mode 100644 index e89ee66bb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get/Feature.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.get; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public enum Feature implements JsonEnum { - Aliases("aliases"), - - Mappings("mappings"), - - Settings("settings"), - - ; - - private final String jsonValue; - - Feature(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - public static final JsonEnum.Deserializer _DESERIALIZER = new JsonEnum.Deserializer<>(Feature.values()); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_alias/IndexAliases.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_alias/IndexAliases.java deleted file mode 100644 index 23ab2d267..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_alias/IndexAliases.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.get_alias; - -import co.elastic.clients.elasticsearch.indices.AliasDefinition; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_alias.IndexAliases - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexAliases implements JsonpSerializable { - private final Map aliases; - - // --------------------------------------------------------------------------------------------- - - private IndexAliases(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiableRequired(builder.aliases, this, "aliases"); - - } - - public static IndexAliases of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexAliases}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Map aliases; - - /** - * Required - API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Required - API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, AliasDefinition value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Required - API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new AliasDefinition.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexAliases}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexAliases build() { - _checkSingleUse(); - - return new IndexAliases(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexAliases} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - IndexAliases::setupIndexAliasesDeserializer); - - protected static void setupIndexAliasesDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(AliasDefinition._DESERIALIZER), "aliases"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java deleted file mode 100644 index c0f1c5612..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_data_lifecycle/DataStreamWithLifecycle.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.get_data_lifecycle; - -import co.elastic.clients.elasticsearch.indices.DataStreamLifecycle; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_data_lifecycle.DataStreamWithLifecycle - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class DataStreamWithLifecycle implements JsonpSerializable { - private final String name; - - @Nullable - private final DataStreamLifecycle lifecycle; - - // --------------------------------------------------------------------------------------------- - - private DataStreamWithLifecycle(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.lifecycle = builder.lifecycle; - - } - - public static DataStreamWithLifecycle of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycle lifecycle() { - return this.lifecycle; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link DataStreamWithLifecycle}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String name; - - @Nullable - private DataStreamLifecycle lifecycle; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycle value) { - this.lifecycle = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycle.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link DataStreamWithLifecycle}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public DataStreamWithLifecycle build() { - _checkSingleUse(); - - return new DataStreamWithLifecycle(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link DataStreamWithLifecycle} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, DataStreamWithLifecycle::setupDataStreamWithLifecycleDeserializer); - - protected static void setupDataStreamWithLifecycleDeserializer( - ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::lifecycle, DataStreamLifecycle._DESERIALIZER, "lifecycle"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_index_template/IndexTemplateItem.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_index_template/IndexTemplateItem.java deleted file mode 100644 index 83a4abfd7..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_index_template/IndexTemplateItem.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.get_index_template; - -import co.elastic.clients.elasticsearch.indices.IndexTemplate; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_index_template.IndexTemplateItem - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexTemplateItem implements JsonpSerializable { - private final String name; - - private final IndexTemplate indexTemplate; - - // --------------------------------------------------------------------------------------------- - - private IndexTemplateItem(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.indexTemplate = ApiTypeHelper.requireNonNull(builder.indexTemplate, this, "indexTemplate"); - - } - - public static IndexTemplateItem of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code index_template} - */ - public final IndexTemplate indexTemplate() { - return this.indexTemplate; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - generator.writeKey("index_template"); - this.indexTemplate.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexTemplateItem}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - private IndexTemplate indexTemplate; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code index_template} - */ - public final Builder indexTemplate(IndexTemplate value) { - this.indexTemplate = value; - return this; - } - - /** - * Required - API name: {@code index_template} - */ - public final Builder indexTemplate(Function> fn) { - return this.indexTemplate(fn.apply(new IndexTemplate.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexTemplateItem}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexTemplateItem build() { - _checkSingleUse(); - - return new IndexTemplateItem(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexTemplateItem} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexTemplateItem::setupIndexTemplateItemDeserializer); - - protected static void setupIndexTemplateItemDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::indexTemplate, IndexTemplate._DESERIALIZER, "index_template"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_mapping/IndexMappingRecord.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_mapping/IndexMappingRecord.java deleted file mode 100644 index 5a7ae2e65..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/get_mapping/IndexMappingRecord.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.get_mapping; - -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.get_mapping.IndexMappingRecord - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexMappingRecord implements JsonpSerializable { - @Nullable - private final TypeMapping item; - - private final TypeMapping mappings; - - // --------------------------------------------------------------------------------------------- - - private IndexMappingRecord(Builder builder) { - - this.item = builder.item; - this.mappings = ApiTypeHelper.requireNonNull(builder.mappings, this, "mappings"); - - } - - public static IndexMappingRecord of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code item} - */ - @Nullable - public final TypeMapping item() { - return this.item; - } - - /** - * Required - API name: {@code mappings} - */ - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.item != null) { - generator.writeKey("item"); - this.item.serialize(generator, mapper); - - } - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexMappingRecord}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private TypeMapping item; - - private TypeMapping mappings; - - /** - * API name: {@code item} - */ - public final Builder item(@Nullable TypeMapping value) { - this.item = value; - return this; - } - - /** - * API name: {@code item} - */ - public final Builder item(Function> fn) { - return this.item(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Required - API name: {@code mappings} - */ - public final Builder mappings(TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Required - API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexMappingRecord}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexMappingRecord build() { - _checkSingleUse(); - - return new IndexMappingRecord(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexMappingRecord} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexMappingRecord::setupIndexMappingRecordDeserializer); - - protected static void setupIndexMappingRecordDeserializer(ObjectDeserializer op) { - - op.add(Builder::item, TypeMapping._DESERIALIZER, "item"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/Action.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/Action.java deleted file mode 100644 index 6fe324d84..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/Action.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.modify_data_stream; - -import co.elastic.clients.json.JsonEnum; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.TaggedUnion; -import co.elastic.clients.util.TaggedUnionUtils; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Object; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.modify_data_stream.Action - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Action implements TaggedUnion, JsonpSerializable { - - /** - * {@link Action} variant kinds. - * - * @see API - * specification - */ - - public enum Kind implements JsonEnum { - AddBackingIndex("add_backing_index"), - - RemoveBackingIndex("remove_backing_index"), - - ; - - private final String jsonValue; - - Kind(String jsonValue) { - this.jsonValue = jsonValue; - } - - public String jsonValue() { - return this.jsonValue; - } - - } - - private final Kind _kind; - private final Object _value; - - @Override - public final Kind _kind() { - return _kind; - } - - @Override - public final Object _get() { - return _value; - } - - public Action(ActionVariant value) { - - this._kind = ApiTypeHelper.requireNonNull(value._actionKind(), this, ""); - this._value = ApiTypeHelper.requireNonNull(value, this, ""); - - } - - private Action(Builder builder) { - - this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, ""); - this._value = ApiTypeHelper.requireNonNull(builder._value, builder, ""); - - } - - public static Action of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Is this variant instance of kind {@code add_backing_index}? - */ - public boolean isAddBackingIndex() { - return _kind == Kind.AddBackingIndex; - } - - /** - * Get the {@code add_backing_index} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code add_backing_index} - * kind. - */ - public IndexAndDataStreamAction addBackingIndex() { - return TaggedUnionUtils.get(this, Kind.AddBackingIndex); - } - - /** - * Is this variant instance of kind {@code remove_backing_index}? - */ - public boolean isRemoveBackingIndex() { - return _kind == Kind.RemoveBackingIndex; - } - - /** - * Get the {@code remove_backing_index} variant value. - * - * @throws IllegalStateException - * if the current variant is not of the {@code remove_backing_index} - * kind. - */ - public IndexAndDataStreamAction removeBackingIndex() { - return TaggedUnionUtils.get(this, Kind.RemoveBackingIndex); - } - - @Override - @SuppressWarnings("unchecked") - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeStartObject(); - - generator.writeKey(_kind.jsonValue()); - if (_value instanceof JsonpSerializable) { - ((JsonpSerializable) _value).serialize(generator, mapper); - } - - generator.writeEnd(); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private Kind _kind; - private Object _value; - - @Override - protected Builder self() { - return this; - } - public ObjectBuilder addBackingIndex(IndexAndDataStreamAction v) { - this._kind = Kind.AddBackingIndex; - this._value = v; - return this; - } - - public ObjectBuilder addBackingIndex( - Function> fn) { - return this.addBackingIndex(fn.apply(new IndexAndDataStreamAction.Builder()).build()); - } - - public ObjectBuilder removeBackingIndex(IndexAndDataStreamAction v) { - this._kind = Kind.RemoveBackingIndex; - this._value = v; - return this; - } - - public ObjectBuilder removeBackingIndex( - Function> fn) { - return this.removeBackingIndex(fn.apply(new IndexAndDataStreamAction.Builder()).build()); - } - - public Action build() { - _checkSingleUse(); - return new Action(this); - } - - } - - protected static void setupActionDeserializer(ObjectDeserializer op) { - - op.add(Builder::addBackingIndex, IndexAndDataStreamAction._DESERIALIZER, "add_backing_index"); - op.add(Builder::removeBackingIndex, IndexAndDataStreamAction._DESERIALIZER, "remove_backing_index"); - - } - - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Action::setupActionDeserializer, Builder::build); -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionBuilders.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionBuilders.java deleted file mode 100644 index 966068fba..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionBuilders.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.modify_data_stream; - -import co.elastic.clients.util.ObjectBuilder; -import java.util.function.Function; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Builders for {@link Action} variants. - */ -public class ActionBuilders { - private ActionBuilders() { - } - - /** - * Creates a builder for the {@link IndexAndDataStreamAction add_backing_index} - * {@code Action} variant. - */ - public static IndexAndDataStreamAction.Builder addBackingIndex() { - return new IndexAndDataStreamAction.Builder(); - } - - /** - * Creates a Action of the {@link IndexAndDataStreamAction add_backing_index} - * {@code Action} variant. - */ - public static Action addBackingIndex( - Function> fn) { - Action.Builder builder = new Action.Builder(); - builder.addBackingIndex(fn.apply(new IndexAndDataStreamAction.Builder()).build()); - return builder.build(); - } - - /** - * Creates a builder for the {@link IndexAndDataStreamAction - * remove_backing_index} {@code Action} variant. - */ - public static IndexAndDataStreamAction.Builder removeBackingIndex() { - return new IndexAndDataStreamAction.Builder(); - } - - /** - * Creates a Action of the {@link IndexAndDataStreamAction remove_backing_index} - * {@code Action} variant. - */ - public static Action removeBackingIndex( - Function> fn) { - Action.Builder builder = new Action.Builder(); - builder.removeBackingIndex(fn.apply(new IndexAndDataStreamAction.Builder()).build()); - return builder.build(); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionVariant.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionVariant.java deleted file mode 100644 index 88a044748..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/ActionVariant.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.modify_data_stream; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -/** - * Base interface for {@link Action} variants. - */ -public interface ActionVariant { - - Action.Kind _actionKind(); - - default Action _toAction() { - return new Action(this); - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/IndexAndDataStreamAction.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/IndexAndDataStreamAction.java deleted file mode 100644 index 79d42882d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/modify_data_stream/IndexAndDataStreamAction.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.modify_data_stream; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.modify_data_stream.IndexAndDataStreamAction - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexAndDataStreamAction implements ActionVariant, JsonpSerializable { - private final String dataStream; - - private final String index; - - // --------------------------------------------------------------------------------------------- - - private IndexAndDataStreamAction(Builder builder) { - - this.dataStream = ApiTypeHelper.requireNonNull(builder.dataStream, this, "dataStream"); - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - - } - - public static IndexAndDataStreamAction of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Action variant kind. - */ - @Override - public Action.Kind _actionKind() { - return Action.Kind.RemoveBackingIndex; - } - - /** - * Required - Data stream targeted by the action. - *

    - * API name: {@code data_stream} - */ - public final String dataStream() { - return this.dataStream; - } - - /** - * Required - Index for the action. - *

    - * API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("data_stream"); - generator.write(this.dataStream); - - generator.writeKey("index"); - generator.write(this.index); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexAndDataStreamAction}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String dataStream; - - private String index; - - /** - * Required - Data stream targeted by the action. - *

    - * API name: {@code data_stream} - */ - public final Builder dataStream(String value) { - this.dataStream = value; - return this; - } - - /** - * Required - Index for the action. - *

    - * API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexAndDataStreamAction}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexAndDataStreamAction build() { - _checkSingleUse(); - - return new IndexAndDataStreamAction(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexAndDataStreamAction} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexAndDataStreamAction::setupIndexAndDataStreamActionDeserializer); - - protected static void setupIndexAndDataStreamActionDeserializer( - ObjectDeserializer op) { - - op.add(Builder::dataStream, JsonpDeserializer.stringDeserializer(), "data_stream"); - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/put_index_template/IndexTemplateMapping.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/put_index_template/IndexTemplateMapping.java deleted file mode 100644 index b22923919..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/put_index_template/IndexTemplateMapping.java +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.put_index_template; - -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.elasticsearch.indices.Alias; -import co.elastic.clients.elasticsearch.indices.DataStreamLifecycle; -import co.elastic.clients.elasticsearch.indices.IndexSettings; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.put_index_template.IndexTemplateMapping - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class IndexTemplateMapping implements JsonpSerializable { - private final Map aliases; - - @Nullable - private final TypeMapping mappings; - - @Nullable - private final IndexSettings settings; - - @Nullable - private final DataStreamLifecycle lifecycle; - - // --------------------------------------------------------------------------------------------- - - private IndexTemplateMapping(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.mappings = builder.mappings; - this.settings = builder.settings; - this.lifecycle = builder.lifecycle; - - } - - public static IndexTemplateMapping of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - @Nullable - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - @Nullable - public final IndexSettings settings() { - return this.settings; - } - - /** - * API name: {@code lifecycle} - */ - @Nullable - public final DataStreamLifecycle lifecycle() { - return this.lifecycle; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - if (this.mappings != null) { - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - } - if (this.settings != null) { - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - if (this.lifecycle != null) { - generator.writeKey("lifecycle"); - this.lifecycle.serialize(generator, mapper); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link IndexTemplateMapping}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Map aliases; - - @Nullable - private TypeMapping mappings; - - @Nullable - private IndexSettings settings; - - @Nullable - private DataStreamLifecycle lifecycle; - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds all entries of map to aliases. - */ - public final Builder aliases(Map map) { - this.aliases = _mapPutAll(this.aliases, map); - return this; - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases. - */ - public final Builder aliases(String key, Alias value) { - this.aliases = _mapPut(this.aliases, key, value); - return this; - } - - /** - * Aliases to add. If the index template includes a data_stream - * object, these are data stream aliases. Otherwise, these are index aliases. - * Data stream aliases ignore the index_routing, - * routing, and search_routing options. - *

    - * API name: {@code aliases} - *

    - * Adds an entry to aliases using a builder lambda. - */ - public final Builder aliases(String key, Function> fn) { - return aliases(key, fn.apply(new Alias.Builder()).build()); - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(@Nullable TypeMapping value) { - this.mappings = value; - return this; - } - - /** - * Mapping for fields in the index. If specified, this mapping can include field - * names, field data types, and mapping parameters. - *

    - * API name: {@code mappings} - */ - public final Builder mappings(Function> fn) { - return this.mappings(fn.apply(new TypeMapping.Builder()).build()); - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(@Nullable IndexSettings value) { - this.settings = value; - return this; - } - - /** - * Configuration options for the index. - *

    - * API name: {@code settings} - */ - public final Builder settings(Function> fn) { - return this.settings(fn.apply(new IndexSettings.Builder()).build()); - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(@Nullable DataStreamLifecycle value) { - this.lifecycle = value; - return this; - } - - /** - * API name: {@code lifecycle} - */ - public final Builder lifecycle(Function> fn) { - return this.lifecycle(fn.apply(new DataStreamLifecycle.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link IndexTemplateMapping}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public IndexTemplateMapping build() { - _checkSingleUse(); - - return new IndexTemplateMapping(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link IndexTemplateMapping} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, IndexTemplateMapping::setupIndexTemplateMappingDeserializer); - - protected static void setupIndexTemplateMappingDeserializer(ObjectDeserializer op) { - - op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases"); - op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings"); - op.add(Builder::settings, IndexSettings._DESERIALIZER, "settings"); - op.add(Builder::lifecycle, DataStreamLifecycle._DESERIALIZER, "lifecycle"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadDetails.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadDetails.java deleted file mode 100644 index 982e693ae..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadDetails.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.reload_search_analyzers; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.reload_search_analyzers.ReloadDetails - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ReloadDetails implements JsonpSerializable { - private final String index; - - private final List reloadedAnalyzers; - - private final List reloadedNodeIds; - - // --------------------------------------------------------------------------------------------- - - private ReloadDetails(Builder builder) { - - this.index = ApiTypeHelper.requireNonNull(builder.index, this, "index"); - this.reloadedAnalyzers = ApiTypeHelper.unmodifiableRequired(builder.reloadedAnalyzers, this, - "reloadedAnalyzers"); - this.reloadedNodeIds = ApiTypeHelper.unmodifiableRequired(builder.reloadedNodeIds, this, "reloadedNodeIds"); - - } - - public static ReloadDetails of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code index} - */ - public final String index() { - return this.index; - } - - /** - * Required - API name: {@code reloaded_analyzers} - */ - public final List reloadedAnalyzers() { - return this.reloadedAnalyzers; - } - - /** - * Required - API name: {@code reloaded_node_ids} - */ - public final List reloadedNodeIds() { - return this.reloadedNodeIds; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("index"); - generator.write(this.index); - - if (ApiTypeHelper.isDefined(this.reloadedAnalyzers)) { - generator.writeKey("reloaded_analyzers"); - generator.writeStartArray(); - for (String item0 : this.reloadedAnalyzers) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.reloadedNodeIds)) { - generator.writeKey("reloaded_node_ids"); - generator.writeStartArray(); - for (String item0 : this.reloadedNodeIds) { - generator.write(item0); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ReloadDetails}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String index; - - private List reloadedAnalyzers; - - private List reloadedNodeIds; - - /** - * Required - API name: {@code index} - */ - public final Builder index(String value) { - this.index = value; - return this; - } - - /** - * Required - API name: {@code reloaded_analyzers} - *

    - * Adds all elements of list to reloadedAnalyzers. - */ - public final Builder reloadedAnalyzers(List list) { - this.reloadedAnalyzers = _listAddAll(this.reloadedAnalyzers, list); - return this; - } - - /** - * Required - API name: {@code reloaded_analyzers} - *

    - * Adds one or more values to reloadedAnalyzers. - */ - public final Builder reloadedAnalyzers(String value, String... values) { - this.reloadedAnalyzers = _listAdd(this.reloadedAnalyzers, value, values); - return this; - } - - /** - * Required - API name: {@code reloaded_node_ids} - *

    - * Adds all elements of list to reloadedNodeIds. - */ - public final Builder reloadedNodeIds(List list) { - this.reloadedNodeIds = _listAddAll(this.reloadedNodeIds, list); - return this; - } - - /** - * Required - API name: {@code reloaded_node_ids} - *

    - * Adds one or more values to reloadedNodeIds. - */ - public final Builder reloadedNodeIds(String value, String... values) { - this.reloadedNodeIds = _listAdd(this.reloadedNodeIds, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ReloadDetails}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ReloadDetails build() { - _checkSingleUse(); - - return new ReloadDetails(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ReloadDetails} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ReloadDetails::setupReloadDetailsDeserializer); - - protected static void setupReloadDetailsDeserializer(ObjectDeserializer op) { - - op.add(Builder::index, JsonpDeserializer.stringDeserializer(), "index"); - op.add(Builder::reloadedAnalyzers, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "reloaded_analyzers"); - op.add(Builder::reloadedNodeIds, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "reloaded_node_ids"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadResult.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadResult.java deleted file mode 100644 index 387a9a0eb..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/reload_search_analyzers/ReloadResult.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.reload_search_analyzers; - -import co.elastic.clients.elasticsearch._types.ShardStatistics; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.reload_search_analyzers.ReloadResult - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ReloadResult implements JsonpSerializable { - private final List reloadDetails; - - private final ShardStatistics shards; - - // --------------------------------------------------------------------------------------------- - - private ReloadResult(Builder builder) { - - this.reloadDetails = ApiTypeHelper.unmodifiableRequired(builder.reloadDetails, this, "reloadDetails"); - this.shards = ApiTypeHelper.requireNonNull(builder.shards, this, "shards"); - - } - - public static ReloadResult of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code reload_details} - */ - public final List reloadDetails() { - return this.reloadDetails; - } - - /** - * Required - API name: {@code _shards} - */ - public final ShardStatistics shards() { - return this.shards; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.reloadDetails)) { - generator.writeKey("reload_details"); - generator.writeStartArray(); - for (ReloadDetails item0 : this.reloadDetails) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("_shards"); - this.shards.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ReloadResult}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private List reloadDetails; - - private ShardStatistics shards; - - /** - * Required - API name: {@code reload_details} - *

    - * Adds all elements of list to reloadDetails. - */ - public final Builder reloadDetails(List list) { - this.reloadDetails = _listAddAll(this.reloadDetails, list); - return this; - } - - /** - * Required - API name: {@code reload_details} - *

    - * Adds one or more values to reloadDetails. - */ - public final Builder reloadDetails(ReloadDetails value, ReloadDetails... values) { - this.reloadDetails = _listAdd(this.reloadDetails, value, values); - return this; - } - - /** - * Required - API name: {@code reload_details} - *

    - * Adds a value to reloadDetails using a builder lambda. - */ - public final Builder reloadDetails(Function> fn) { - return reloadDetails(fn.apply(new ReloadDetails.Builder()).build()); - } - - /** - * Required - API name: {@code _shards} - */ - public final Builder shards(ShardStatistics value) { - this.shards = value; - return this; - } - - /** - * Required - API name: {@code _shards} - */ - public final Builder shards(Function> fn) { - return this.shards(fn.apply(new ShardStatistics.Builder()).build()); - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ReloadResult}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ReloadResult build() { - _checkSingleUse(); - - return new ReloadResult(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ReloadResult} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ReloadResult::setupReloadResultDeserializer); - - protected static void setupReloadResultDeserializer(ObjectDeserializer op) { - - op.add(Builder::reloadDetails, JsonpDeserializer.arrayDeserializer(ReloadDetails._DESERIALIZER), - "reload_details"); - op.add(Builder::shards, ShardStatistics._DESERIALIZER, "_shards"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexAliasItem.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexAliasItem.java deleted file mode 100644 index fb78dbddd..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexAliasItem.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.resolve_index; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.resolve_index.ResolveIndexAliasItem - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ResolveIndexAliasItem implements JsonpSerializable { - private final String name; - - private final List indices; - - // --------------------------------------------------------------------------------------------- - - private ResolveIndexAliasItem(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); - - } - - public static ResolveIndexAliasItem of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code indices} - */ - public final List indices() { - return this.indices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (ApiTypeHelper.isDefined(this.indices)) { - generator.writeKey("indices"); - generator.writeStartArray(); - for (String item0 : this.indices) { - generator.write(item0); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ResolveIndexAliasItem}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String name; - - private List indices; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds all elements of list to indices. - */ - public final Builder indices(List list) { - this.indices = _listAddAll(this.indices, list); - return this; - } - - /** - * Required - API name: {@code indices} - *

    - * Adds one or more values to indices. - */ - public final Builder indices(String value, String... values) { - this.indices = _listAdd(this.indices, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ResolveIndexAliasItem}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ResolveIndexAliasItem build() { - _checkSingleUse(); - - return new ResolveIndexAliasItem(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ResolveIndexAliasItem} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ResolveIndexAliasItem::setupResolveIndexAliasItemDeserializer); - - protected static void setupResolveIndexAliasItemDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::indices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "indices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexDataStreamsItem.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexDataStreamsItem.java deleted file mode 100644 index 0640f7330..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexDataStreamsItem.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.resolve_index; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.resolve_index.ResolveIndexDataStreamsItem - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ResolveIndexDataStreamsItem implements JsonpSerializable { - private final String name; - - private final String timestampField; - - private final List backingIndices; - - // --------------------------------------------------------------------------------------------- - - private ResolveIndexDataStreamsItem(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.timestampField = ApiTypeHelper.requireNonNull(builder.timestampField, this, "timestampField"); - this.backingIndices = ApiTypeHelper.unmodifiableRequired(builder.backingIndices, this, "backingIndices"); - - } - - public static ResolveIndexDataStreamsItem of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code timestamp_field} - */ - public final String timestampField() { - return this.timestampField; - } - - /** - * Required - API name: {@code backing_indices} - */ - public final List backingIndices() { - return this.backingIndices; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - generator.writeKey("timestamp_field"); - generator.write(this.timestampField); - - if (ApiTypeHelper.isDefined(this.backingIndices)) { - generator.writeKey("backing_indices"); - generator.writeStartArray(); - for (String item0 : this.backingIndices) { - generator.write(item0); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ResolveIndexDataStreamsItem}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - private String name; - - private String timestampField; - - private List backingIndices; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code timestamp_field} - */ - public final Builder timestampField(String value) { - this.timestampField = value; - return this; - } - - /** - * Required - API name: {@code backing_indices} - *

    - * Adds all elements of list to backingIndices. - */ - public final Builder backingIndices(List list) { - this.backingIndices = _listAddAll(this.backingIndices, list); - return this; - } - - /** - * Required - API name: {@code backing_indices} - *

    - * Adds one or more values to backingIndices. - */ - public final Builder backingIndices(String value, String... values) { - this.backingIndices = _listAdd(this.backingIndices, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ResolveIndexDataStreamsItem}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ResolveIndexDataStreamsItem build() { - _checkSingleUse(); - - return new ResolveIndexDataStreamsItem(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ResolveIndexDataStreamsItem} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, ResolveIndexDataStreamsItem::setupResolveIndexDataStreamsItemDeserializer); - - protected static void setupResolveIndexDataStreamsItemDeserializer( - ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::timestampField, JsonpDeserializer.stringDeserializer(), "timestamp_field"); - op.add(Builder::backingIndices, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "backing_indices"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexItem.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexItem.java deleted file mode 100644 index ec702bb65..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/resolve_index/ResolveIndexItem.java +++ /dev/null @@ -1,274 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.resolve_index; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.resolve_index.ResolveIndexItem - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class ResolveIndexItem implements JsonpSerializable { - private final String name; - - private final List aliases; - - private final List attributes; - - @Nullable - private final String dataStream; - - // --------------------------------------------------------------------------------------------- - - private ResolveIndexItem(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.aliases = ApiTypeHelper.unmodifiable(builder.aliases); - this.attributes = ApiTypeHelper.unmodifiableRequired(builder.attributes, this, "attributes"); - this.dataStream = builder.dataStream; - - } - - public static ResolveIndexItem of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * API name: {@code aliases} - */ - public final List aliases() { - return this.aliases; - } - - /** - * Required - API name: {@code attributes} - */ - public final List attributes() { - return this.attributes; - } - - /** - * API name: {@code data_stream} - */ - @Nullable - public final String dataStream() { - return this.dataStream; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartArray(); - for (String item0 : this.aliases) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (ApiTypeHelper.isDefined(this.attributes)) { - generator.writeKey("attributes"); - generator.writeStartArray(); - for (String item0 : this.attributes) { - generator.write(item0); - - } - generator.writeEnd(); - - } - if (this.dataStream != null) { - generator.writeKey("data_stream"); - generator.write(this.dataStream); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link ResolveIndexItem}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - @Nullable - private List aliases; - - private List attributes; - - @Nullable - private String dataStream; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * API name: {@code aliases} - *

    - * Adds all elements of list to aliases. - */ - public final Builder aliases(List list) { - this.aliases = _listAddAll(this.aliases, list); - return this; - } - - /** - * API name: {@code aliases} - *

    - * Adds one or more values to aliases. - */ - public final Builder aliases(String value, String... values) { - this.aliases = _listAdd(this.aliases, value, values); - return this; - } - - /** - * Required - API name: {@code attributes} - *

    - * Adds all elements of list to attributes. - */ - public final Builder attributes(List list) { - this.attributes = _listAddAll(this.attributes, list); - return this; - } - - /** - * Required - API name: {@code attributes} - *

    - * Adds one or more values to attributes. - */ - public final Builder attributes(String value, String... values) { - this.attributes = _listAdd(this.attributes, value, values); - return this; - } - - /** - * API name: {@code data_stream} - */ - public final Builder dataStream(@Nullable String value) { - this.dataStream = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link ResolveIndexItem}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public ResolveIndexItem build() { - _checkSingleUse(); - - return new ResolveIndexItem(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link ResolveIndexItem} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - ResolveIndexItem::setupResolveIndexItemDeserializer); - - protected static void setupResolveIndexItemDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::aliases, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "aliases"); - op.add(Builder::attributes, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "attributes"); - op.add(Builder::dataStream, JsonpDeserializer.stringDeserializer(), "data_stream"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/rollover/RolloverConditions.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/rollover/RolloverConditions.java deleted file mode 100644 index b50f0ef8d..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/rollover/RolloverConditions.java +++ /dev/null @@ -1,583 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.rollover; - -import co.elastic.clients.elasticsearch._types.Time; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.Long; -import java.lang.String; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.rollover.RolloverConditions - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class RolloverConditions implements JsonpSerializable { - @Nullable - private final Time minAge; - - @Nullable - private final Time maxAge; - - @Nullable - private final Long maxAgeMillis; - - @Nullable - private final Long minDocs; - - @Nullable - private final Long maxDocs; - - @Nullable - private final String maxSize; - - @Nullable - private final Long maxSizeBytes; - - @Nullable - private final String minSize; - - @Nullable - private final Long minSizeBytes; - - @Nullable - private final String maxPrimaryShardSize; - - @Nullable - private final Long maxPrimaryShardSizeBytes; - - @Nullable - private final String minPrimaryShardSize; - - @Nullable - private final Long minPrimaryShardSizeBytes; - - @Nullable - private final Long maxPrimaryShardDocs; - - @Nullable - private final Long minPrimaryShardDocs; - - // --------------------------------------------------------------------------------------------- - - private RolloverConditions(Builder builder) { - - this.minAge = builder.minAge; - this.maxAge = builder.maxAge; - this.maxAgeMillis = builder.maxAgeMillis; - this.minDocs = builder.minDocs; - this.maxDocs = builder.maxDocs; - this.maxSize = builder.maxSize; - this.maxSizeBytes = builder.maxSizeBytes; - this.minSize = builder.minSize; - this.minSizeBytes = builder.minSizeBytes; - this.maxPrimaryShardSize = builder.maxPrimaryShardSize; - this.maxPrimaryShardSizeBytes = builder.maxPrimaryShardSizeBytes; - this.minPrimaryShardSize = builder.minPrimaryShardSize; - this.minPrimaryShardSizeBytes = builder.minPrimaryShardSizeBytes; - this.maxPrimaryShardDocs = builder.maxPrimaryShardDocs; - this.minPrimaryShardDocs = builder.minPrimaryShardDocs; - - } - - public static RolloverConditions of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * API name: {@code min_age} - */ - @Nullable - public final Time minAge() { - return this.minAge; - } - - /** - * API name: {@code max_age} - */ - @Nullable - public final Time maxAge() { - return this.maxAge; - } - - /** - * API name: {@code max_age_millis} - */ - @Nullable - public final Long maxAgeMillis() { - return this.maxAgeMillis; - } - - /** - * API name: {@code min_docs} - */ - @Nullable - public final Long minDocs() { - return this.minDocs; - } - - /** - * API name: {@code max_docs} - */ - @Nullable - public final Long maxDocs() { - return this.maxDocs; - } - - /** - * API name: {@code max_size} - */ - @Nullable - public final String maxSize() { - return this.maxSize; - } - - /** - * API name: {@code max_size_bytes} - */ - @Nullable - public final Long maxSizeBytes() { - return this.maxSizeBytes; - } - - /** - * API name: {@code min_size} - */ - @Nullable - public final String minSize() { - return this.minSize; - } - - /** - * API name: {@code min_size_bytes} - */ - @Nullable - public final Long minSizeBytes() { - return this.minSizeBytes; - } - - /** - * API name: {@code max_primary_shard_size} - */ - @Nullable - public final String maxPrimaryShardSize() { - return this.maxPrimaryShardSize; - } - - /** - * API name: {@code max_primary_shard_size_bytes} - */ - @Nullable - public final Long maxPrimaryShardSizeBytes() { - return this.maxPrimaryShardSizeBytes; - } - - /** - * API name: {@code min_primary_shard_size} - */ - @Nullable - public final String minPrimaryShardSize() { - return this.minPrimaryShardSize; - } - - /** - * API name: {@code min_primary_shard_size_bytes} - */ - @Nullable - public final Long minPrimaryShardSizeBytes() { - return this.minPrimaryShardSizeBytes; - } - - /** - * API name: {@code max_primary_shard_docs} - */ - @Nullable - public final Long maxPrimaryShardDocs() { - return this.maxPrimaryShardDocs; - } - - /** - * API name: {@code min_primary_shard_docs} - */ - @Nullable - public final Long minPrimaryShardDocs() { - return this.minPrimaryShardDocs; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (this.minAge != null) { - generator.writeKey("min_age"); - this.minAge.serialize(generator, mapper); - - } - if (this.maxAge != null) { - generator.writeKey("max_age"); - this.maxAge.serialize(generator, mapper); - - } - if (this.maxAgeMillis != null) { - generator.writeKey("max_age_millis"); - generator.write(this.maxAgeMillis); - - } - if (this.minDocs != null) { - generator.writeKey("min_docs"); - generator.write(this.minDocs); - - } - if (this.maxDocs != null) { - generator.writeKey("max_docs"); - generator.write(this.maxDocs); - - } - if (this.maxSize != null) { - generator.writeKey("max_size"); - generator.write(this.maxSize); - - } - if (this.maxSizeBytes != null) { - generator.writeKey("max_size_bytes"); - generator.write(this.maxSizeBytes); - - } - if (this.minSize != null) { - generator.writeKey("min_size"); - generator.write(this.minSize); - - } - if (this.minSizeBytes != null) { - generator.writeKey("min_size_bytes"); - generator.write(this.minSizeBytes); - - } - if (this.maxPrimaryShardSize != null) { - generator.writeKey("max_primary_shard_size"); - generator.write(this.maxPrimaryShardSize); - - } - if (this.maxPrimaryShardSizeBytes != null) { - generator.writeKey("max_primary_shard_size_bytes"); - generator.write(this.maxPrimaryShardSizeBytes); - - } - if (this.minPrimaryShardSize != null) { - generator.writeKey("min_primary_shard_size"); - generator.write(this.minPrimaryShardSize); - - } - if (this.minPrimaryShardSizeBytes != null) { - generator.writeKey("min_primary_shard_size_bytes"); - generator.write(this.minPrimaryShardSizeBytes); - - } - if (this.maxPrimaryShardDocs != null) { - generator.writeKey("max_primary_shard_docs"); - generator.write(this.maxPrimaryShardDocs); - - } - if (this.minPrimaryShardDocs != null) { - generator.writeKey("min_primary_shard_docs"); - generator.write(this.minPrimaryShardDocs); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link RolloverConditions}. - */ - - public static class Builder extends WithJsonObjectBuilderBase - implements - ObjectBuilder { - @Nullable - private Time minAge; - - @Nullable - private Time maxAge; - - @Nullable - private Long maxAgeMillis; - - @Nullable - private Long minDocs; - - @Nullable - private Long maxDocs; - - @Nullable - private String maxSize; - - @Nullable - private Long maxSizeBytes; - - @Nullable - private String minSize; - - @Nullable - private Long minSizeBytes; - - @Nullable - private String maxPrimaryShardSize; - - @Nullable - private Long maxPrimaryShardSizeBytes; - - @Nullable - private String minPrimaryShardSize; - - @Nullable - private Long minPrimaryShardSizeBytes; - - @Nullable - private Long maxPrimaryShardDocs; - - @Nullable - private Long minPrimaryShardDocs; - - /** - * API name: {@code min_age} - */ - public final Builder minAge(@Nullable Time value) { - this.minAge = value; - return this; - } - - /** - * API name: {@code min_age} - */ - public final Builder minAge(Function> fn) { - return this.minAge(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code max_age} - */ - public final Builder maxAge(@Nullable Time value) { - this.maxAge = value; - return this; - } - - /** - * API name: {@code max_age} - */ - public final Builder maxAge(Function> fn) { - return this.maxAge(fn.apply(new Time.Builder()).build()); - } - - /** - * API name: {@code max_age_millis} - */ - public final Builder maxAgeMillis(@Nullable Long value) { - this.maxAgeMillis = value; - return this; - } - - /** - * API name: {@code min_docs} - */ - public final Builder minDocs(@Nullable Long value) { - this.minDocs = value; - return this; - } - - /** - * API name: {@code max_docs} - */ - public final Builder maxDocs(@Nullable Long value) { - this.maxDocs = value; - return this; - } - - /** - * API name: {@code max_size} - */ - public final Builder maxSize(@Nullable String value) { - this.maxSize = value; - return this; - } - - /** - * API name: {@code max_size_bytes} - */ - public final Builder maxSizeBytes(@Nullable Long value) { - this.maxSizeBytes = value; - return this; - } - - /** - * API name: {@code min_size} - */ - public final Builder minSize(@Nullable String value) { - this.minSize = value; - return this; - } - - /** - * API name: {@code min_size_bytes} - */ - public final Builder minSizeBytes(@Nullable Long value) { - this.minSizeBytes = value; - return this; - } - - /** - * API name: {@code max_primary_shard_size} - */ - public final Builder maxPrimaryShardSize(@Nullable String value) { - this.maxPrimaryShardSize = value; - return this; - } - - /** - * API name: {@code max_primary_shard_size_bytes} - */ - public final Builder maxPrimaryShardSizeBytes(@Nullable Long value) { - this.maxPrimaryShardSizeBytes = value; - return this; - } - - /** - * API name: {@code min_primary_shard_size} - */ - public final Builder minPrimaryShardSize(@Nullable String value) { - this.minPrimaryShardSize = value; - return this; - } - - /** - * API name: {@code min_primary_shard_size_bytes} - */ - public final Builder minPrimaryShardSizeBytes(@Nullable Long value) { - this.minPrimaryShardSizeBytes = value; - return this; - } - - /** - * API name: {@code max_primary_shard_docs} - */ - public final Builder maxPrimaryShardDocs(@Nullable Long value) { - this.maxPrimaryShardDocs = value; - return this; - } - - /** - * API name: {@code min_primary_shard_docs} - */ - public final Builder minPrimaryShardDocs(@Nullable Long value) { - this.minPrimaryShardDocs = value; - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link RolloverConditions}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public RolloverConditions build() { - _checkSingleUse(); - - return new RolloverConditions(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link RolloverConditions} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer - .lazy(Builder::new, RolloverConditions::setupRolloverConditionsDeserializer); - - protected static void setupRolloverConditionsDeserializer(ObjectDeserializer op) { - - op.add(Builder::minAge, Time._DESERIALIZER, "min_age"); - op.add(Builder::maxAge, Time._DESERIALIZER, "max_age"); - op.add(Builder::maxAgeMillis, JsonpDeserializer.longDeserializer(), "max_age_millis"); - op.add(Builder::minDocs, JsonpDeserializer.longDeserializer(), "min_docs"); - op.add(Builder::maxDocs, JsonpDeserializer.longDeserializer(), "max_docs"); - op.add(Builder::maxSize, JsonpDeserializer.stringDeserializer(), "max_size"); - op.add(Builder::maxSizeBytes, JsonpDeserializer.longDeserializer(), "max_size_bytes"); - op.add(Builder::minSize, JsonpDeserializer.stringDeserializer(), "min_size"); - op.add(Builder::minSizeBytes, JsonpDeserializer.longDeserializer(), "min_size_bytes"); - op.add(Builder::maxPrimaryShardSize, JsonpDeserializer.stringDeserializer(), "max_primary_shard_size"); - op.add(Builder::maxPrimaryShardSizeBytes, JsonpDeserializer.longDeserializer(), "max_primary_shard_size_bytes"); - op.add(Builder::minPrimaryShardSize, JsonpDeserializer.stringDeserializer(), "min_primary_shard_size"); - op.add(Builder::minPrimaryShardSizeBytes, JsonpDeserializer.longDeserializer(), "min_primary_shard_size_bytes"); - op.add(Builder::maxPrimaryShardDocs, JsonpDeserializer.longDeserializer(), "max_primary_shard_docs"); - op.add(Builder::minPrimaryShardDocs, JsonpDeserializer.longDeserializer(), "min_primary_shard_docs"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Overlapping.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Overlapping.java deleted file mode 100644 index 1235ad9a4..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Overlapping.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.simulate_template; - -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_template.Overlapping - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Overlapping implements JsonpSerializable { - private final String name; - - private final List indexPatterns; - - // --------------------------------------------------------------------------------------------- - - private Overlapping(Builder builder) { - - this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name"); - this.indexPatterns = ApiTypeHelper.unmodifiableRequired(builder.indexPatterns, this, "indexPatterns"); - - } - - public static Overlapping of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code name} - */ - public final String name() { - return this.name; - } - - /** - * Required - API name: {@code index_patterns} - */ - public final List indexPatterns() { - return this.indexPatterns; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - generator.writeKey("name"); - generator.write(this.name); - - if (ApiTypeHelper.isDefined(this.indexPatterns)) { - generator.writeKey("index_patterns"); - generator.writeStartArray(); - for (String item0 : this.indexPatterns) { - generator.write(item0); - - } - generator.writeEnd(); - - } - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Overlapping}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { - private String name; - - private List indexPatterns; - - /** - * Required - API name: {@code name} - */ - public final Builder name(String value) { - this.name = value; - return this; - } - - /** - * Required - API name: {@code index_patterns} - *

    - * Adds all elements of list to indexPatterns. - */ - public final Builder indexPatterns(List list) { - this.indexPatterns = _listAddAll(this.indexPatterns, list); - return this; - } - - /** - * Required - API name: {@code index_patterns} - *

    - * Adds one or more values to indexPatterns. - */ - public final Builder indexPatterns(String value, String... values) { - this.indexPatterns = _listAdd(this.indexPatterns, value, values); - return this; - } - - @Override - protected Builder self() { - return this; - } - - /** - * Builds a {@link Overlapping}. - * - * @throws NullPointerException - * if some of the required fields are null. - */ - public Overlapping build() { - _checkSingleUse(); - - return new Overlapping(this); - } - } - - // --------------------------------------------------------------------------------------------- - - /** - * Json deserializer for {@link Overlapping} - */ - public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer.lazy(Builder::new, - Overlapping::setupOverlappingDeserializer); - - protected static void setupOverlappingDeserializer(ObjectDeserializer op) { - - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); - op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), - "index_patterns"); - - } - -} diff --git a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Template.java b/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Template.java deleted file mode 100644 index 516a1f06a..000000000 --- a/java-client-serverless/src/main/java/co/elastic/clients/elasticsearch/indices/simulate_template/Template.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package co.elastic.clients.elasticsearch.indices.simulate_template; - -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.elasticsearch.indices.Alias; -import co.elastic.clients.elasticsearch.indices.IndexSettings; -import co.elastic.clients.json.JsonpDeserializable; -import co.elastic.clients.json.JsonpDeserializer; -import co.elastic.clients.json.JsonpMapper; -import co.elastic.clients.json.JsonpSerializable; -import co.elastic.clients.json.JsonpUtils; -import co.elastic.clients.json.ObjectBuilderDeserializer; -import co.elastic.clients.json.ObjectDeserializer; -import co.elastic.clients.util.ApiTypeHelper; -import co.elastic.clients.util.ObjectBuilder; -import co.elastic.clients.util.WithJsonObjectBuilderBase; -import jakarta.json.stream.JsonGenerator; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import javax.annotation.Nullable; - -//---------------------------------------------------------------- -// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. -//---------------------------------------------------------------- -// -// This code is generated from the Elasticsearch API specification -// at https://github.com/elastic/elasticsearch-specification -// -// Manual updates to this file will be lost when the code is -// re-generated. -// -// If you find a property that is missing or wrongly typed, please -// open an issue or a PR on the API specification repository. -// -//---------------------------------------------------------------- - -// typedef: indices.simulate_template.Template - -/** - * - * @see API - * specification - */ -@JsonpDeserializable -public class Template implements JsonpSerializable { - private final Map aliases; - - private final TypeMapping mappings; - - private final IndexSettings settings; - - // --------------------------------------------------------------------------------------------- - - private Template(Builder builder) { - - this.aliases = ApiTypeHelper.unmodifiableRequired(builder.aliases, this, "aliases"); - this.mappings = ApiTypeHelper.requireNonNull(builder.mappings, this, "mappings"); - this.settings = ApiTypeHelper.requireNonNull(builder.settings, this, "settings"); - - } - - public static Template of(Function> fn) { - return fn.apply(new Builder()).build(); - } - - /** - * Required - API name: {@code aliases} - */ - public final Map aliases() { - return this.aliases; - } - - /** - * Required - API name: {@code mappings} - */ - public final TypeMapping mappings() { - return this.mappings; - } - - /** - * Required - API name: {@code settings} - */ - public final IndexSettings settings() { - return this.settings; - } - - /** - * Serialize this object to JSON. - */ - public void serialize(JsonGenerator generator, JsonpMapper mapper) { - generator.writeStartObject(); - serializeInternal(generator, mapper); - generator.writeEnd(); - } - - protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - - if (ApiTypeHelper.isDefined(this.aliases)) { - generator.writeKey("aliases"); - generator.writeStartObject(); - for (Map.Entry item0 : this.aliases.entrySet()) { - generator.writeKey(item0.getKey()); - item0.getValue().serialize(generator, mapper); - - } - generator.writeEnd(); - - } - generator.writeKey("mappings"); - this.mappings.serialize(generator, mapper); - - generator.writeKey("settings"); - this.settings.serialize(generator, mapper); - - } - - @Override - public String toString() { - return JsonpUtils.toString(this); - } - - // --------------------------------------------------------------------------------------------- - - /** - * Builder for {@link Template}. - */ - - public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder