Interface ActionWithReservedState<T>

All Known Implementing Classes:
AcknowledgedTransportMasterNodeAction, AutoCreateAction.TransportAction, CompletionPersistentTaskAction.TransportAction, DeletePipelineTransportAction, GetPipelineTransportAction, LazyRolloverAction.TransportLazyRolloverAction, PutPipelineTransportAction, RemovePersistentTaskAction.TransportAction, ReservedStateAwareHandledTransportAction, StartPersistentTaskAction.TransportAction, TransportAddIndexBlockAction, TransportAddVotingConfigExclusionsAction, TransportAutoPutMappingAction, TransportCleanupRepositoryAction, TransportClearVotingConfigExclusionsAction, TransportCloneSnapshotAction, TransportCloseIndexAction, TransportClusterAllocationExplainAction, TransportClusterGetSettingsAction, TransportClusterHealthAction, TransportClusterInfoAction, TransportClusterRerouteAction, TransportClusterSearchShardsAction, TransportClusterStateAction, TransportClusterUpdateSettingsAction, TransportCreateIndexAction, TransportCreateSnapshotAction, TransportDeleteComponentTemplateAction, TransportDeleteComposableIndexTemplateAction, TransportDeleteDanglingIndexAction, TransportDeleteDesiredBalanceAction, TransportDeleteDesiredNodesAction, TransportDeleteIndexAction, TransportDeleteIndexTemplateAction, TransportDeleteRepositoryAction, TransportDeleteSnapshotAction, TransportDeleteStoredScriptAction, TransportGetComponentTemplateAction, TransportGetComposableIndexTemplateAction, TransportGetDesiredBalanceAction, TransportGetDesiredNodesAction, TransportGetFeatureUpgradeStatusAction, TransportGetIndexAction, TransportGetIndexTemplatesAction, TransportGetMappingsAction, TransportGetRepositoriesAction, TransportGetSettingsAction, TransportGetShardSnapshotAction, TransportGetSnapshotsAction, TransportGetStoredScriptAction, TransportIndicesAliasesAction, TransportIndicesShardStoresAction, TransportMasterNodeAction, TransportMasterNodeReadAction, TransportOpenIndexAction, TransportPendingClusterTasksAction, TransportPostFeatureUpgradeAction, TransportPrevalidateNodeRemovalAction, TransportPutComponentTemplateAction, TransportPutComposableIndexTemplateAction, TransportPutIndexTemplateAction, TransportPutMappingAction, TransportPutRepositoryAction, TransportPutStoredScriptAction, TransportResetFeatureStateAction, TransportResizeAction, TransportRestoreSnapshotAction, TransportRolloverAction, TransportSimulateIndexTemplateAction, TransportSimulateTemplateAction, TransportSnapshotsStatusAction, TransportSnapshottableFeaturesAction, TransportUpdateDesiredNodesAction, TransportUpdateSettingsAction, TransportVerifyRepositoryAction, UpdatePersistentTaskStatusAction.TransportAction

public interface ActionWithReservedState<T>
  • Method Details

    • reservedStateHandlerName

      default Optional<String> reservedStateHandlerName()
      Override this method if the master node action also has an ReservedClusterStateHandler interaction.

      We need to check if certain settings or entities are allowed to be modified by the master node action, depending on if they are set as reserved in 'operator' mode (file based settings, modules, plugins).

      Returns:
      an Optional of the ReservedClusterStateHandler name
    • modifiedKeys

      default Set<String> modifiedKeys(T request)
      Override this method to return the keys of the cluster state or cluster entities that are modified by the Request object.

      This method is used by the reserved state handler logic (see ReservedClusterStateHandler) to verify if the keys don't conflict with an existing key set as reserved.

      Parameters:
      request - the TransportMasterNode request
      Returns:
      set of String keys intended to be modified/set/deleted by this request
    • validateForReservedState

      default void validateForReservedState(ClusterState state, String handlerName, Set<String> modified, String request)
      Helper method that verifies for key clashes on reserved state updates
      Parameters:
      state - the current cluster state
      handlerName - the name of the reserved state handler related to this implementation
      modified - the set of modified keys by the related request
      request - a string representation of the request for error reporting purposes