294
294
import org .opensearch .common .settings .Settings ;
295
295
import org .opensearch .common .settings .SettingsFilter ;
296
296
import org .opensearch .common .util .FeatureFlags ;
297
+ import org .opensearch .extensions .ExtensionsManager ;
297
298
import org .opensearch .extensions .action .ExtensionProxyAction ;
298
299
import org .opensearch .extensions .action .ExtensionProxyTransportAction ;
300
+ import org .opensearch .extensions .rest .RestInitializeExtensionAction ;
299
301
import org .opensearch .index .seqno .RetentionLeaseActions ;
300
302
import org .opensearch .identity .IdentityService ;
301
303
import org .opensearch .indices .SystemIndices ;
453
455
import org .opensearch .rest .action .search .RestPutSearchPipelineAction ;
454
456
import org .opensearch .rest .action .search .RestSearchAction ;
455
457
import org .opensearch .rest .action .search .RestSearchScrollAction ;
456
- import org .opensearch .rest . extensions .RestSendToExtensionAction ;
458
+ import org .opensearch .extensions . rest .RestSendToExtensionAction ;
457
459
import org .opensearch .tasks .Task ;
458
460
import org .opensearch .threadpool .ThreadPool ;
459
461
import org .opensearch .usage .UsageService ;
@@ -508,6 +510,7 @@ public class ActionModule extends AbstractModule {
508
510
private final RequestValidators <PutMappingRequest > mappingRequestValidators ;
509
511
private final RequestValidators <IndicesAliasesRequest > indicesAliasesRequestRequestValidators ;
510
512
private final ThreadPool threadPool ;
513
+ private final ExtensionsManager extensionsManager ;
511
514
512
515
public ActionModule (
513
516
Settings settings ,
@@ -521,7 +524,8 @@ public ActionModule(
521
524
CircuitBreakerService circuitBreakerService ,
522
525
UsageService usageService ,
523
526
SystemIndices systemIndices ,
524
- IdentityService identityService
527
+ IdentityService identityService ,
528
+ ExtensionsManager extensionsManager
525
529
) {
526
530
this .settings = settings ;
527
531
this .indexNameExpressionResolver = indexNameExpressionResolver ;
@@ -530,6 +534,7 @@ public ActionModule(
530
534
this .settingsFilter = settingsFilter ;
531
535
this .actionPlugins = actionPlugins ;
532
536
this .threadPool = threadPool ;
537
+ this .extensionsManager = extensionsManager ;
533
538
actions = setupActions (actionPlugins );
534
539
actionFilters = setupActionFilters (actionPlugins );
535
540
dynamicActionRegistry = new DynamicActionRegistry ();
@@ -947,6 +952,11 @@ public void initRestHandlers(Supplier<DiscoveryNodes> nodesInCluster) {
947
952
registerHandler .accept (new RestDeleteSearchPipelineAction ());
948
953
}
949
954
955
+ // Extensions API
956
+ if (FeatureFlags .isEnabled (FeatureFlags .EXTENSIONS )) {
957
+ registerHandler .accept (new RestInitializeExtensionAction (extensionsManager ));
958
+ }
959
+
950
960
for (ActionPlugin plugin : actionPlugins ) {
951
961
for (RestHandler handler : plugin .getRestHandlers (
952
962
settings ,
0 commit comments