- All Implemented Interfaces:
Closeable,AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceProvides access to various Elasticsearch services. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdditional node settings loaded by the plugin.voidclose()Close the resources opened by this plugin.Collection<?> createComponents(Plugin.PluginServices services) Returns components added by this plugin.AnIndexSettingProviderallows hooking in to parts of an index lifecycle to provide explicit default settings for newly created indices.Returns a list of checks that are enforced when a node starts up once a node has the transport protocol bound to a non-loopback interface.Returns operators to modify custom metadata in the cluster state on startup.List<ExecutorBuilder<?>> getExecutorBuilders(Settings settings) Provides the list of this plugin's custom thread pools, empty if none.Provides a function to modify index template meta data on startup.Returns parsers forNamedWriteablethis plugin will use over the transport protocol.Returns parsers for named objects this plugin will parse fromXContentParser.namedObject(Class, String, Object).Returns a list of additionalSettingdefinitions for this plugin.Returns a list of additional settings filter for this pluginvoidonIndexModule(IndexModule indexModule) Called before a new index is created on a node.
-
Constructor Details
-
Plugin
public Plugin()
-
-
Method Details
-
createComponents
Returns components added by this plugin.Any components returned that implement
LifecycleComponentwill have their lifecycle managed. Note: To aid in the migration away from guice, all objects returned as components will be bound in guice to themselves.- Parameters:
services- Provides access to various Elasticsearch services
-
additionalSettings
Additional node settings loaded by the plugin. Note that settings that are explicit in the nodes settings can't be overwritten with the additional settings. These settings added if they don't exist. -
getNamedWriteables
Returns parsers forNamedWriteablethis plugin will use over the transport protocol.- See Also:
-
getNamedXContent
Returns parsers for named objects this plugin will parse fromXContentParser.namedObject(Class, String, Object).- See Also:
-
onIndexModule
Called before a new index is created on a node. The given module can be used to register index-level extensions. -
getSettings
Returns a list of additionalSettingdefinitions for this plugin. -
getSettingsFilter
Returns a list of additional settings filter for this plugin -
getIndexTemplateMetadataUpgrader
Provides a function to modify index template meta data on startup.Plugins should return the input template map via
UnaryOperator.identity()if no upgrade is required.The order of the template upgrader calls is undefined and can change between runs so, it is expected that plugins will modify only templates owned by them to avoid conflicts.
- Returns:
- Never
null. The same or upgradedIndexTemplateMetadatamap. - Throws:
IllegalStateException- if the node should not start because at least oneIndexTemplateMetadatacannot be upgraded
-
getCustomMetadataUpgraders
Returns operators to modify custom metadata in the cluster state on startup.Each key of the map returned gives the type of custom to be modified. Each value is an operator to be applied to that custom metadata. The operator will be invoked with the result of calling
Metadata.custom(String)with the map key as its argument, and should downcast the value accordingly.Plugins should return an empty map if no upgrade is required.
The order of the upgrade calls is undefined and can change between runs. It is expected that plugins will modify only templates owned by them to avoid conflicts.
-
getExecutorBuilders
Provides the list of this plugin's custom thread pools, empty if none.- Parameters:
settings- the current settings- Returns:
- executors builders for this plugin's custom thread pools
-
getBootstrapChecks
Returns a list of checks that are enforced when a node starts up once a node has the transport protocol bound to a non-loopback interface. In this case we assume the node is running in production and all bootstrap checks must pass. This allows plugins to provide a better out of the box experience by pre-configuring otherwise (in production) mandatory settings or to enforce certain configurations like OS settings or 3rd party resources. -
close
Close the resources opened by this plugin.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- if the plugin failed to close its resources
-
getAdditionalIndexSettingProviders
public Collection<IndexSettingProvider> getAdditionalIndexSettingProviders(IndexSettingProvider.Parameters parameters) AnIndexSettingProviderallows hooking in to parts of an index lifecycle to provide explicit default settings for newly created indices. Rather than changing the default values for an index-level setting, these act as though the setting has been set explicitly, but still allow the setting to be overridden by a template or creation request body.
-