Java 类org.elasticsearch.common.settings.SettingsFilter 实例源码

项目:elasticsearch_my    文件:NodeService.java   
NodeService(Settings settings, ThreadPool threadPool, MonitorService monitorService, Discovery discovery,
                   TransportService transportService, IndicesService indicesService, PluginsService pluginService,
                   CircuitBreakerService circuitBreakerService, ScriptService scriptService,
                   @Nullable HttpServerTransport httpServerTransport, IngestService ingestService, ClusterService clusterService,
                   SettingsFilter settingsFilter) {
    super(settings);
    this.threadPool = threadPool;
    this.monitorService = monitorService;
    this.transportService = transportService;
    this.indicesService = indicesService;
    this.discovery = discovery;
    this.pluginService = pluginService;
    this.circuitBreakerService = circuitBreakerService;
    this.httpServerTransport = httpServerTransport;
    this.ingestService = ingestService;
    this.settingsFilter = settingsFilter;
    this.scriptService = scriptService;
    clusterService.addStateApplier(ingestService.getPipelineStore());
    clusterService.addStateApplier(ingestService.getPipelineExecutionService());
}
项目:elasticsearch_my    文件:AzureStorageSettingsFilterTests.java   
public void testSettingsFiltering() throws IOException {
    AzureRepositoryPlugin p = new AzureRepositoryPlugin();
    SettingsModule module = new SettingsModule(Settings.EMPTY, p.getSettings(), p.getSettingsFilter());
    SettingsFilter settingsFilter = ModuleTestCase.bindAndGetInstance(module, SettingsFilter.class);

    // Test using direct filtering
    Settings filteredSettings = settingsFilter.filter(settings);
    assertThat(filteredSettings.getAsMap().keySet(), contains("cloud.azure.storage.azure1.default"));

    // Test using toXContent filtering
    RestRequest request = new FakeRestRequest();
    settingsFilter.addFilterSettingParams(request);
    XContentBuilder xContentBuilder = XContentBuilder.builder(JsonXContent.jsonXContent);
    xContentBuilder.startObject();
    settings.toXContent(xContentBuilder, request);
    xContentBuilder.endObject();
    String filteredSettingsString = xContentBuilder.string();
    filteredSettings = Settings.builder().loadFromSource(filteredSettingsString, xContentBuilder.contentType()).build();
    assertThat(filteredSettings.getAsMap().keySet(), contains("cloud.azure.storage.azure1.default"));
}
项目:elasticsearch_my    文件:MustachePlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(
            new RestSearchTemplateAction(settings, restController),
            new RestMultiSearchTemplateAction(settings, restController),
            new RestGetSearchTemplateAction(settings, restController),
            new RestPutSearchTemplateAction(settings, restController),
            new RestDeleteSearchTemplateAction(settings, restController),
            new RestRenderSearchTemplateAction(settings, restController));
}
项目:elasticsearch_my    文件:ReindexPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(
            new RestReindexAction(settings, restController),
            new RestUpdateByQueryAction(settings, restController),
            new RestDeleteByQueryAction(settings, restController),
            new RestRethrottleAction(settings, restController, nodesInCluster));
}
项目:elasticsearch_my    文件:NoopPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(
            new RestNoopBulkAction(settings, restController),
            new RestNoopSearchAction(settings, restController));
}
项目:elasticsearch_my    文件:RestGetSettingsAction.java   
public RestGetSettingsAction(Settings settings, RestController controller, IndexScopedSettings indexScopedSettings,
        final SettingsFilter settingsFilter) {
    super(settings);
    this.indexScopedSettings = indexScopedSettings;
    controller.registerHandler(GET, "/{index}/_settings/{name}", this);
    controller.registerHandler(GET, "/_settings/{name}", this);
    controller.registerHandler(GET, "/{index}/_setting/{name}", this);
    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:RestGetIndicesAction.java   
public RestGetIndicesAction(
        final Settings settings,
        final RestController controller,
        final IndexScopedSettings indexScopedSettings,
        final SettingsFilter settingsFilter) {
    super(settings);
    this.indexScopedSettings = indexScopedSettings;
    controller.registerHandler(GET, "/{index}", this);
    controller.registerHandler(HEAD, "/{index}", this);
    controller.registerHandler(GET, "/{index}/{type}", this);
    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:RestNodesInfoAction.java   
public RestNodesInfoAction(Settings settings, RestController controller, SettingsFilter settingsFilter) {
    super(settings);
    controller.registerHandler(GET, "/_nodes", this);
    // this endpoint is used for metrics, not for node IDs, like /_nodes/fs
    controller.registerHandler(GET, "/_nodes/{nodeId}", this);
    controller.registerHandler(GET, "/_nodes/{nodeId}/{metrics}", this);
    // added this endpoint to be aligned with stats
    controller.registerHandler(GET, "/_nodes/{nodeId}/info/{metrics}", this);

    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:RestClusterStateAction.java   
public RestClusterStateAction(Settings settings, RestController controller, SettingsFilter settingsFilter) {
    super(settings);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state", this);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}", this);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}/{indices}", this);

    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:RestClusterGetSettingsAction.java   
public RestClusterGetSettingsAction(Settings settings, RestController controller, ClusterSettings clusterSettings,
        SettingsFilter settingsFilter) {
    super(settings);
    this.clusterSettings = clusterSettings;
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/settings", this);
    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:TransportGetSettingsAction.java   
@Inject
public TransportGetSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService,
                                  ThreadPool threadPool, SettingsFilter settingsFilter, ActionFilters actionFilters,
                                  IndexNameExpressionResolver indexNameExpressionResolver) {
    super(settings, GetSettingsAction.NAME, transportService, clusterService, threadPool, actionFilters, indexNameExpressionResolver, GetSettingsRequest::new);
    this.settingsFilter = settingsFilter;
}
项目:elasticsearch-prometheus-metrics    文件:PrometheusExporterPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings,
                                         RestController restController,
                                         ClusterSettings clusterSettings,
                                         IndexScopedSettings indexScopedSettings,
                                         SettingsFilter settingsFilter,
                                         IndexNameExpressionResolver indexNameExpressionResolver,
                                         Supplier<DiscoveryNodes> nodesInCluster) {

    logger.debug("Registering REST handlers");

    handlers.forEach((key, value) -> restController.registerHandler(GET, key, value));
    return new ArrayList<>(handlers.values());
}
项目:elasticsearch-report-engine    文件:ElasticReportPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings,
                                         RestController restController, ClusterSettings clusterSettings,
                                         IndexScopedSettings indexScopedSettings,
                                         SettingsFilter settingsFilter,
                                         IndexNameExpressionResolver indexNameExpressionResolver,
                                         Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(new ReportGenerateRestAction(settings, restController));
}
项目:elasticsearch-indexing-proxy    文件:IndexingProxyPlugin.java   
@Override
public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController,
        final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter,
        final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(new RestIndexingProxyProcessAction(settings, restController, pluginComponent),
            new RestIndexingProxyRequestAction(settings, restController, pluginComponent));
}
项目:Elasticsearch    文件:RestGetRepositoriesAction.java   
@Inject
public RestGetRepositoriesAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) {
    super(settings, controller, client);
    controller.registerHandler(GET, "/_snapshot", this);
    controller.registerHandler(GET, "/_snapshot/{repository}", this);
    this.settingsFilter = settingsFilter;
}
项目:Elasticsearch    文件:RestClusterStateAction.java   
@Inject
public RestClusterStateAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) {
    super(settings, controller, client);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state", this);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}", this);
    controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}/{indices}", this);

    this.settingsFilter = settingsFilter;
}
项目:Elasticsearch    文件:RestNodesInfoAction.java   
@Inject
public RestNodesInfoAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) {
    super(settings, controller, client);
    controller.registerHandler(GET, "/_nodes", this);
    // this endpoint is used for metrics, not for nodeIds, like /_nodes/fs
    controller.registerHandler(GET, "/_nodes/{nodeId}", this);
    controller.registerHandler(GET, "/_nodes/{nodeId}/{metrics}", this);
    // added this endpoint to be aligned with stats
    controller.registerHandler(GET, "/_nodes/{nodeId}/info/{metrics}", this);

    this.settingsFilter = settingsFilter;
}
项目:Elasticsearch    文件:TransportGetSettingsAction.java   
@Inject
public TransportGetSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService,
                                  ThreadPool threadPool, SettingsFilter settingsFilter, ActionFilters actionFilters,
                                  IndexNameExpressionResolver indexNameExpressionResolver) {
    super(settings, GetSettingsAction.NAME, transportService, clusterService, threadPool, actionFilters, indexNameExpressionResolver, GetSettingsRequest.class);
    this.settingsFilter = settingsFilter;
}
项目:Elasticsearch    文件:TransportGetSettingsAction.java   
@Override
protected void masterOperation(GetSettingsRequest request, ClusterState state, ActionListener<GetSettingsResponse> listener) {
    String[] concreteIndices = indexNameExpressionResolver.concreteIndices(state, request);
    ImmutableOpenMap.Builder<String, Settings> indexToSettingsBuilder = ImmutableOpenMap.builder();
    for (String concreteIndex : concreteIndices) {
        IndexMetaData indexMetaData = state.getMetaData().index(concreteIndex);
        if (indexMetaData == null) {
            continue;
        }

        Settings settings = SettingsFilter.filterSettings(settingsFilter.getPatterns(), indexMetaData.getSettings());
        if (request.humanReadable()) {
            settings = IndexMetaData.addHumanReadableSettings(settings);
        }
        if (!CollectionUtils.isEmpty(request.names())) {
            Settings.Builder settingsBuilder = Settings.builder();
            for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
                if (Regex.simpleMatch(request.names(), entry.getKey())) {
                    settingsBuilder.put(entry.getKey(), entry.getValue());
                }
            }
            settings = settingsBuilder.build();
        }
        indexToSettingsBuilder.put(concreteIndex, settings);
    }
    listener.onResponse(new GetSettingsResponse(indexToSettingsBuilder.build()));
}
项目:es-sp-console    文件:SpToolsPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    log(1, "---> getRestHandlers");

    return Arrays.asList(new RestConsoleAction(settings, restController, clusterSettings, settingsFilter));

}
项目:es-sp-console    文件:RestConsoleAction.java   
public RestConsoleAction(Settings settings, RestController controller, ClusterSettings clusterSettings, SettingsFilter settingsFilter) {
    super(settings);
    // TODO Auto-generated constructor stub
    controller.registerHandler(Method.GET, "/_console", this);
    controller.registerHandler(Method.GET, "/_console/{action}", this);

    String path = Common.getPathResources(settings);
    this.getPath = path;
    log(9, path);

}
项目:elasticsearch-learning-to-rank    文件:LtrQueryParserPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController,
                                         ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings,
                                         SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
                                         Supplier<DiscoveryNodes> nodesInCluster) {
    List<RestHandler> list = new ArrayList<>();
    RestSimpleFeatureStore.register(list, settings, restController);
    list.add(new RestFeatureStoreCaches(settings, restController));
    list.add(new RestCreateModelFromSet(settings, restController));
    list.add(new RestAddFeatureToSet(settings, restController));
    return unmodifiableList(list);
}
项目:es-sp-tools    文件:SpToolsPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    log(1, "---> getRestHandlers");

    return Arrays.asList(new RestSpToolsAction(settings, restController), new RestConsoleAction(settings, restController, clusterSettings, settingsFilter));

}
项目:es-sp-tools    文件:RestConsoleAction.java   
public RestConsoleAction(Settings settings, RestController controller, ClusterSettings clusterSettings, SettingsFilter settingsFilter) {
    super(settings);
    // TODO Auto-generated constructor stub
    controller.registerHandler(Method.GET, "/_console", this);
    controller.registerHandler(Method.GET, "/_console/{action}", this);

    String path = Common.getPathResources(settings);
    this.getPath = path;
    log(9, path);

}
项目:search-guard    文件:SearchGuardPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter,
        IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) {

    final List<RestHandler> handlers = new ArrayList<RestHandler>(1);

    if (!client && !tribeNodeClient && !disabled) {

        handlers.addAll(super.getRestHandlers(settings, restController, clusterSettings, indexScopedSettings, settingsFilter, indexNameExpressionResolver, nodesInCluster));

        handlers.add(new SearchGuardInfoAction(settings, restController, Objects.requireNonNull(evaluator), Objects.requireNonNull(threadPool)));
        handlers.add(new KibanaInfoAction(settings, restController, Objects.requireNonNull(evaluator), Objects.requireNonNull(threadPool)));
        handlers.add(new SearchGuardLicenseAction(settings, restController));
        handlers.add(new SearchGuardHealthAction(settings, restController, Objects.requireNonNull(backendRegistry)));

        Collection<RestHandler> apiHandler = ReflectionHelper
                .instantiateMngtRestApiHandler(settings, configPath, restController, localClient, adminDns, cr, cs, Objects.requireNonNull(principalExtractor),  evaluator, threadPool, Objects.requireNonNull(auditLog));
        handlers.addAll(apiHandler);
        log.debug("Added {} management rest handler(s)", apiHandler.size());
    }


    final Set<ModuleInfo> sgModules = ReflectionHelper.getModulesLoaded();

    log.info("{} Search Guard modules loaded so far: {}", sgModules.size(), sgModules);

    return handlers;
}
项目:search-guard-ssl    文件:SearchGuardSSLPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter,
        IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) {

    final List<RestHandler> handlers = new ArrayList<RestHandler>(1);

    if (!client) {
        handlers.add(new SearchGuardSSLInfoAction(settings, configPath, restController, sgks, Objects.requireNonNull(principalExtractor)));
    }

    return handlers;
}
项目:elasticsearch-configsync    文件:ConfigSyncPlugin.java   
@Override
public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController, final ClusterSettings clusterSettings,
        final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter, final IndexNameExpressionResolver indexNameExpressionResolver,
        final Supplier<DiscoveryNodes> nodesInCluster) {
    final ConfigSyncService service = pluginComponent.getConfigSyncService();
    return Arrays.asList(//
            new RestConfigSyncFileAction(settings, restController, service), //
            new RestConfigSyncResetAction(settings, restController, service), //
            new RestConfigSyncFlushAction(settings, restController, service), //
            new RestConfigSyncWaitAction(settings, restController, service));
}
项目:elasticsearch-sstmpl    文件:ScriptTemplatePlugin.java   
@Override
public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController,
        final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter,
        final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(//
            new RestSearchScriptTemplateAction(settings, restController), //
            new RestMultiSearchScriptTemplateAction(settings, restController), //
            new RestGetSearchScriptTemplateAction(settings, restController), //
            new RestPutSearchScriptTemplateAction(settings, restController), //
            new RestDeleteSearchScriptTemplateAction(settings, restController), //
            new RestRenderSearchScriptTemplateAction(settings, restController));
}
项目:elasticsearch-plugin-bundle    文件:BundlePlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings,
                                         RestController restController,
                                         ClusterSettings clusterSettings,
                                         IndexScopedSettings indexScopedSettings,
                                         SettingsFilter settingsFilter,
                                         IndexNameExpressionResolver indexNameExpressionResolver,
                                         Supplier<DiscoveryNodes> nodesInCluster) {
    List<RestHandler> extra = new ArrayList<>();
    extra.add(new RestISBNFormatterAction(settings, restController));
    extra.add(new RestLangdetectAction(settings, restController));
    return extra;
}
项目:elasticsearch-dataformat    文件:DataFormatPlugin.java   
@Override
public List<RestHandler> getRestHandlers(final Settings settings,
        final RestController restController, final ClusterSettings clusterSettings,
        final IndexScopedSettings indexScopedSettings,
        final SettingsFilter settingsFilter,
        final IndexNameExpressionResolver indexNameExpressionResolver,
        final Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(new RestDataAction(settings, restController));
}
项目:elasticsearch-carrot2    文件:ClusteringPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController,
  ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter,
  IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) {
return Arrays.asList(
    new ClusteringAction.RestClusteringAction(settings, restController),
    new ListAlgorithmsAction.RestListAlgorithmsAction(settings, restController));
}
项目:elasticsearch-inout-plugin    文件:Exporter.java   
@Inject
public Exporter(VersionFetchSubPhase versionPhase, Injector injector,
        SettingsFilter settingsFilter) {
    this.fetchSubPhases = new FetchSubPhase[]{versionPhase};
    this.injector = injector;
    this.settingsFilter = settingsFilter;
}
项目:elasticshell    文件:ClusterRerouteRequestBuilder.java   
@Override
protected XContentBuilder toXContent(ClusterRerouteRequest request, ClusterRerouteResponse response, XContentBuilder builder) throws IOException {
    builder.startObject();
    builder.field(Fields.OK, true);
    builder.startObject("state");
    response.getState().settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build())).toXContent(builder, ToXContent.EMPTY_PARAMS);
    builder.endObject();

    builder.endObject();

    return builder;
}
项目:elasticshell    文件:NodesInfoRequestBuilder.java   
@Override
protected XContentBuilder toXContent(NodesInfoRequest request, NodesInfoResponse response, XContentBuilder builder) throws IOException {
    response.settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build()));
    builder.startObject();
    builder.field(Fields.OK, true);
    response.toXContent(builder, ToXContent.EMPTY_PARAMS);
    builder.endObject();
    return builder;
}
项目:elasticshell    文件:ClusterStateRequestBuilder.java   
@Override
protected XContentBuilder toXContent(ClusterStateRequest request, ClusterStateResponse response, XContentBuilder builder) throws IOException {
    builder.startObject();
    builder.field(Fields.CLUSTER_NAME, response.getClusterName().value());
    response.getState().settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build())).toXContent(builder, ToXContent.EMPTY_PARAMS);
    builder.endObject();
    return builder;
}
项目:elasticsearch_my    文件:TestDeprecationPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    return Collections.singletonList(new TestDeprecationHeaderRestAction(settings, restController));
}
项目:elasticsearch_my    文件:TestResponseHeaderPlugin.java   
@Override
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
        Supplier<DiscoveryNodes> nodesInCluster) {
    return singletonList(new TestResponseHeaderRestAction(settings, restController));
}
项目:elasticsearch_my    文件:RestClusterRerouteAction.java   
public RestClusterRerouteAction(Settings settings, RestController controller, SettingsFilter settingsFilter) {
    super(settings);
    this.settingsFilter = settingsFilter;
    controller.registerHandler(RestRequest.Method.POST, "/_cluster/reroute", this);
}
项目:elasticsearch_my    文件:RestGetRepositoriesAction.java   
public RestGetRepositoriesAction(Settings settings, RestController controller, SettingsFilter settingsFilter) {
    super(settings);
    controller.registerHandler(GET, "/_snapshot", this);
    controller.registerHandler(GET, "/_snapshot/{repository}", this);
    this.settingsFilter = settingsFilter;
}
项目:elasticsearch_my    文件:ActionPlugin.java   
/**
 * Rest handlers added by this plugin.
 */
default List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
        IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter,
        IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) {
    return Collections.emptyList();
}