-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/main' into delay-settings
Signed-off-by: Dhwanil Patel <dhwanip@amazon.com>
- Loading branch information
Showing
182 changed files
with
8,802 additions
and
271 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
149 changes: 149 additions & 0 deletions
149
client/rest-high-level/src/main/java/org/opensearch/client/SearchPipelineClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
/* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* The OpenSearch Contributors require contributions made to | ||
* this file be licensed under the Apache-2.0 license or a | ||
* compatible open source license. | ||
*/ | ||
|
||
package org.opensearch.client; | ||
|
||
import org.opensearch.action.ActionListener; | ||
import org.opensearch.action.search.DeleteSearchPipelineRequest; | ||
import org.opensearch.action.search.GetSearchPipelineRequest; | ||
import org.opensearch.action.search.GetSearchPipelineResponse; | ||
import org.opensearch.action.search.PutSearchPipelineRequest; | ||
import org.opensearch.action.support.master.AcknowledgedResponse; | ||
|
||
import java.io.IOException; | ||
import java.util.Collections; | ||
|
||
import static java.util.Collections.emptySet; | ||
|
||
public final class SearchPipelineClient { | ||
private final RestHighLevelClient restHighLevelClient; | ||
|
||
SearchPipelineClient(RestHighLevelClient restHighLevelClient) { | ||
this.restHighLevelClient = restHighLevelClient; | ||
} | ||
|
||
/** | ||
* Add a pipeline or update an existing pipeline. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @return the response | ||
* @throws IOException in case there is a problem sending the request or parsing back the response | ||
*/ | ||
public AcknowledgedResponse put(PutSearchPipelineRequest request, RequestOptions options) throws IOException { | ||
return restHighLevelClient.performRequestAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::putPipeline, | ||
options, | ||
AcknowledgedResponse::fromXContent, | ||
emptySet() | ||
); | ||
} | ||
|
||
/** | ||
* Asynchronously add a pipeline or update an existing pipeline. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @param listener the listener to be notified upon request completion | ||
* @return cancellable that may be used to cancel the request | ||
*/ | ||
public Cancellable putAsync(PutSearchPipelineRequest request, RequestOptions options, ActionListener<AcknowledgedResponse> listener) { | ||
return restHighLevelClient.performRequestAsyncAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::putPipeline, | ||
options, | ||
AcknowledgedResponse::fromXContent, | ||
listener, | ||
emptySet() | ||
); | ||
} | ||
|
||
/** | ||
* Get existing pipelines. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @return the response | ||
* @throws IOException in case there is a problem sending the request or parsing back the response | ||
*/ | ||
public GetSearchPipelineResponse get(GetSearchPipelineRequest request, RequestOptions options) throws IOException { | ||
return restHighLevelClient.performRequestAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::getPipeline, | ||
options, | ||
GetSearchPipelineResponse::fromXContent, | ||
Collections.singleton(404) | ||
); | ||
} | ||
|
||
/** | ||
* Asynchronously get existing pipelines. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @param listener the listener to be notified upon request completion | ||
* @return cancellable that may be used to cancel the request | ||
*/ | ||
public Cancellable getAsync( | ||
GetSearchPipelineRequest request, | ||
RequestOptions options, | ||
ActionListener<GetSearchPipelineResponse> listener | ||
) { | ||
return restHighLevelClient.performRequestAsyncAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::getPipeline, | ||
options, | ||
GetSearchPipelineResponse::fromXContent, | ||
listener, | ||
Collections.singleton(404) | ||
); | ||
} | ||
|
||
/** | ||
* Delete an existing pipeline. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @return the response | ||
* @throws IOException in case there is a problem sending the request or parsing back the response | ||
*/ | ||
public AcknowledgedResponse delete(DeleteSearchPipelineRequest request, RequestOptions options) throws IOException { | ||
return restHighLevelClient.performRequestAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::deletePipeline, | ||
options, | ||
AcknowledgedResponse::fromXContent, | ||
emptySet() | ||
); | ||
} | ||
|
||
/** | ||
* Asynchronously delete an existing pipeline. | ||
* | ||
* @param request the request | ||
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized | ||
* @param listener the listener to be notified upon request completion | ||
* @return cancellable that may be used to cancel the request | ||
*/ | ||
public Cancellable deleteAsync( | ||
DeleteSearchPipelineRequest request, | ||
RequestOptions options, | ||
ActionListener<AcknowledgedResponse> listener | ||
) { | ||
return restHighLevelClient.performRequestAsyncAndParseEntity( | ||
request, | ||
SearchPipelineRequestConverters::deletePipeline, | ||
options, | ||
AcknowledgedResponse::fromXContent, | ||
listener, | ||
emptySet() | ||
); | ||
} | ||
|
||
} |
61 changes: 61 additions & 0 deletions
61
.../rest-high-level/src/main/java/org/opensearch/client/SearchPipelineRequestConverters.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
/* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* The OpenSearch Contributors require contributions made to | ||
* this file be licensed under the Apache-2.0 license or a | ||
* compatible open source license. | ||
*/ | ||
|
||
package org.opensearch.client; | ||
|
||
import org.apache.hc.client5.http.classic.methods.HttpDelete; | ||
import org.apache.hc.client5.http.classic.methods.HttpGet; | ||
import org.apache.hc.client5.http.classic.methods.HttpPut; | ||
import org.opensearch.action.search.DeleteSearchPipelineRequest; | ||
import org.opensearch.action.search.GetSearchPipelineRequest; | ||
import org.opensearch.action.search.PutSearchPipelineRequest; | ||
|
||
import java.io.IOException; | ||
|
||
final class SearchPipelineRequestConverters { | ||
private SearchPipelineRequestConverters() {} | ||
|
||
static Request putPipeline(PutSearchPipelineRequest putPipelineRequest) throws IOException { | ||
String endpoint = new RequestConverters.EndpointBuilder().addPathPartAsIs("_search/pipeline") | ||
.addPathPart(putPipelineRequest.getId()) | ||
.build(); | ||
Request request = new Request(HttpPut.METHOD_NAME, endpoint); | ||
|
||
RequestConverters.Params params = new RequestConverters.Params(); | ||
params.withTimeout(putPipelineRequest.timeout()); | ||
params.withClusterManagerTimeout(putPipelineRequest.clusterManagerNodeTimeout()); | ||
request.addParameters(params.asMap()); | ||
request.setEntity(RequestConverters.createEntity(putPipelineRequest, RequestConverters.REQUEST_BODY_CONTENT_TYPE)); | ||
return request; | ||
} | ||
|
||
static Request deletePipeline(DeleteSearchPipelineRequest deletePipelineRequest) { | ||
String endpoint = new RequestConverters.EndpointBuilder().addPathPartAsIs("_search/pipeline") | ||
.addPathPart(deletePipelineRequest.getId()) | ||
.build(); | ||
Request request = new Request(HttpDelete.METHOD_NAME, endpoint); | ||
|
||
RequestConverters.Params parameters = new RequestConverters.Params(); | ||
parameters.withTimeout(deletePipelineRequest.timeout()); | ||
parameters.withClusterManagerTimeout(deletePipelineRequest.clusterManagerNodeTimeout()); | ||
request.addParameters(parameters.asMap()); | ||
return request; | ||
} | ||
|
||
static Request getPipeline(GetSearchPipelineRequest getPipelineRequest) { | ||
String endpoint = new RequestConverters.EndpointBuilder().addPathPartAsIs("_search/pipeline") | ||
.addCommaSeparatedPathParts(getPipelineRequest.getIds()) | ||
.build(); | ||
Request request = new Request(HttpGet.METHOD_NAME, endpoint); | ||
|
||
RequestConverters.Params parameters = new RequestConverters.Params(); | ||
parameters.withClusterManagerTimeout(getPipelineRequest.clusterManagerNodeTimeout()); | ||
request.addParameters(parameters.asMap()); | ||
return request; | ||
} | ||
} |
Oops, something went wrong.