Enum Class SystemIndices.SystemIndexAccessLevel

java.lang.Object
java.lang.Enum<SystemIndices.SystemIndexAccessLevel>
org.elasticsearch.indices.SystemIndices.SystemIndexAccessLevel
All Implemented Interfaces:
Serializable, Comparable<SystemIndices.SystemIndexAccessLevel>, Constable
Enclosing class:
SystemIndices

public static enum SystemIndices.SystemIndexAccessLevel extends Enum<SystemIndices.SystemIndexAccessLevel>
In a future release, these access levels will be used to allow or deny requests for system resources. Currently, the behavior differs for different types of system resources.
  1. For a system index whose descriptor returns false for SystemIndexDescriptor.isNetNew(): if a request is determined to have an access level of NONE or if it accesses indices belonging to another product at a level of RESTRICTED, we issue a depreciation warning.
  2. For a system index whose descriptor returns true for SystemIndexDescriptor.isNetNew() or any system data stream: if a request is determined to have an access level of NONE or if it accesses indices belonging to another product at a level of RESTRICTED, we deny access to the system resource.
  • Enum Constant Details

    • ALL

      public static final SystemIndices.SystemIndexAccessLevel ALL
      Access level that skips system resource access checks.
    • NONE

      public static final SystemIndices.SystemIndexAccessLevel NONE
      Access level that should deny access to net-new system indices and system data streams, and issue deprecation warnings for backwards-compatible system indices.
    • RESTRICTED

      public static final SystemIndices.SystemIndexAccessLevel RESTRICTED
      At this access level, check the value of the SystemIndices.EXTERNAL_SYSTEM_INDEX_ACCESS_CONTROL_HEADER_KEY. If the request has an allowed product origin, allow access. If not, deny access to net-new system indices and system data streams, and issue deprecation warnings for backwards-compatible system indices.
    • BACKWARDS_COMPATIBLE_ONLY

      public static final SystemIndices.SystemIndexAccessLevel BACKWARDS_COMPATIBLE_ONLY
      This value exists because there was a desire for "net-new" system indices to opt in to the post-8.0 behavior of having access blocked in most cases, but this caused problems with certain APIs (see issue #74687), so this access level was added as a workaround. Once we no longer have to support accessing existing system indices, this can and should be removed, along with the net-new property of system indices in general.
  • Method Details

    • values

      public static SystemIndices.SystemIndexAccessLevel[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static SystemIndices.SystemIndexAccessLevel valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null