From 064ffa4a45fdfc13ae7a3515fa941567f6a88a9d Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Fri, 15 Nov 2024 16:58:44 -0500 Subject: [PATCH] Stash context Signed-off-by: Derek Ho --- .../dlic/rest/api/ApiTokenApiAction.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/opensearch/security/dlic/rest/api/ApiTokenApiAction.java b/src/main/java/org/opensearch/security/dlic/rest/api/ApiTokenApiAction.java index eb209ad347..df1e96c6e0 100644 --- a/src/main/java/org/opensearch/security/dlic/rest/api/ApiTokenApiAction.java +++ b/src/main/java/org/opensearch/security/dlic/rest/api/ApiTokenApiAction.java @@ -20,6 +20,7 @@ import org.opensearch.action.admin.indices.create.CreateIndexRequest; import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.security.securityconf.impl.CType; import org.opensearch.security.securityconf.impl.v7.ConfigV7; import org.opensearch.security.support.ConfigConstants; @@ -33,7 +34,7 @@ public class ApiTokenApiAction extends AbstractApiAction { - public static final String NAME_JSON_PROPERTY = "ip"; + public static final String NAME_JSON_PROPERTY = "name"; private static final List ROUTES = addRoutesPrefix( ImmutableList.of(new Route(GET, "/apitokens"), new Route(PUT, "/apitokens/{name}") @@ -43,7 +44,7 @@ public class ApiTokenApiAction extends AbstractApiAction { protected ApiTokenApiAction(ClusterService clusterService, ThreadPool threadPool, SecurityApiDependencies securityApiDependencies) { super(Endpoint.APITOKENS, clusterService, threadPool, securityApiDependencies); - this.requestHandlersBuilder.configureRequestHandlers(this::authFailureConfigApiRequestHandlers); + this.requestHandlersBuilder.configureRequestHandlers(this::apiTokenApiRequestHandlers); } @Override @@ -61,7 +62,7 @@ protected CType getConfigType() { return CType.CONFIG; } - private void authFailureConfigApiRequestHandlers(RequestHandler.RequestHandlersBuilder requestHandlersBuilder) { + private void apiTokenApiRequestHandlers(RequestHandler.RequestHandlersBuilder requestHandlersBuilder) { requestHandlersBuilder.override( GET, @@ -91,11 +92,18 @@ public Boolean apiTokenIndexExists() { public void createApiTokenIndexIfAbsent(Client client) { if (!apiTokenIndexExists()) { - final Map indexSettings = ImmutableMap.of("index.number_of_shards", 1, "index.auto_expand_replicas", "0-all"); - final CreateIndexRequest createIndexRequest = new CreateIndexRequest(ConfigConstants.OPENSEARCH_API_TOKENS_INDEX).settings( - indexSettings - ); - logger.info(client.admin().indices().create(createIndexRequest).actionGet().isAcknowledged()); + try (final ThreadContext.StoredContext ctx = client.threadPool().getThreadContext().stashContext()) { + final Map indexSettings = ImmutableMap.of( + "index.number_of_shards", + 1, + "index.auto_expand_replicas", + "0-all" + ); + final CreateIndexRequest createIndexRequest = new CreateIndexRequest(ConfigConstants.OPENSEARCH_API_TOKENS_INDEX).settings( + indexSettings + ); + logger.info(client.admin().indices().create(createIndexRequest).actionGet().isAcknowledged()); + } } } }