Module org.elasticsearch.server
Package org.elasticsearch.indices
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.
- 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. - 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.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionAccess level that skips system resource access checks.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.Access level that should deny access to net-new system indices and system data streams, and issue deprecation warnings for backwards-compatible system indices.At this access level, check the value of theSystemIndices.EXTERNAL_SYSTEM_INDEX_ACCESS_CONTROL_HEADER_KEY
. -
Method Summary
Modifier and TypeMethodDescriptionReturns the enum constant of this class with the specified name.static SystemIndices.SystemIndexAccessLevel[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
ALL
Access level that skips system resource access checks. -
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
At this access level, check the value of theSystemIndices.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
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
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
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 nameNullPointerException
- if the argument is null
-