- All Known Implementing Classes:
DataTier.DefaultHotAllocationSettingProvider,IndexMode.IndexModeSettingsProvider
public interface IndexSettingProvider
An
IndexSettingProvider is a provider for index level settings that can be set
explicitly as a default value (so they show up as "set" for newly created indices)-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordInfrastructure class that holds services that can be used byIndexSettingProviderinstances. -
Method Summary
Modifier and TypeMethodDescriptiondefault voidonUpdateMappings(IndexMetadata indexMetadata, DocumentMapper documentMapper, Settings.Builder additionalSettings) Called when the mappings for an existing index are updated, before the new index metadata is created.default booleanIndicates whether the additional settings that this provider returns can overrule the settings defined in matching template or in create index request.voidprovideAdditionalSettings(String indexName, String dataStreamName, IndexMode templateIndexMode, ProjectMetadata projectMetadata, Instant resolvedAt, Settings indexTemplateAndCreateRequestSettings, List<CompressedXContent> combinedTemplateMappings, IndexVersion indexVersion, Settings.Builder additionalSettings) Allows to provide default indexSettingsfor a newly created index.
-
Method Details
-
provideAdditionalSettings
void provideAdditionalSettings(String indexName, @Nullable String dataStreamName, @Nullable IndexMode templateIndexMode, ProjectMetadata projectMetadata, Instant resolvedAt, Settings indexTemplateAndCreateRequestSettings, List<CompressedXContent> combinedTemplateMappings, IndexVersion indexVersion, Settings.Builder additionalSettings) Allows to provide default indexSettingsfor a newly created index.- Parameters:
indexName- The name of the new index being createddataStreamName- The name of the data stream if the index being created is part of a data stream otherwisenulltemplateIndexMode- The index mode defined in template if template creates data streams, otherwisenullis returned.projectMetadata- The current project metadata instance that doesn't yet contain the index to be createdresolvedAt- The time the request to create this new index was accepted.indexTemplateAndCreateRequestSettings- All the settings resolved from the template that matches and any settings defined on the create index requestcombinedTemplateMappings- All the mappings resolved from the template that matchesindexVersion- The index version to be used for the new index. AlwaysIndexVersion.current()when invoked during validation.additionalSettings- A settings builder to which additional settings can be added. ProvidingIndexMetadata.SETTING_VERSION_CREATEDis disallowed and leads to anIllegalArgumentExceptionduring validation of the additional settings.
-
onUpdateMappings
default void onUpdateMappings(IndexMetadata indexMetadata, DocumentMapper documentMapper, Settings.Builder additionalSettings) Called when the mappings for an existing index are updated, before the new index metadata is created. This method can be used to provide additional index settings based on the new mappings.- Parameters:
indexMetadata- The index metadata for the index being updateddocumentMapper- The document mapper containing the updated mappingsadditionalSettings- A settings builder to which additional settings can be added
-
overrulesTemplateAndRequestSettings
default boolean overrulesTemplateAndRequestSettings()Indicates whether the additional settings that this provider returns can overrule the settings defined in matching template or in create index request. Note that this is not used during index template validation, to avoid overruling template settings that may apply to different contexts (e.g. the provider is not used, or it returns different setting values).
-