Module org.elasticsearch.server
Class ResolveIndexAction.Request
java.lang.Object
org.elasticsearch.transport.TransportMessage
org.elasticsearch.transport.AbstractTransportRequest
org.elasticsearch.action.ActionRequest
org.elasticsearch.action.LegacyActionRequest
org.elasticsearch.action.admin.indices.resolve.ResolveIndexAction.Request
- All Implemented Interfaces:
IndicesRequest,IndicesRequest.CrossProjectCandidate,IndicesRequest.Replaceable,Writeable,RefCounted,TaskAwareRequest,TransportRequest
- Enclosing class:
ResolveIndexAction
public static class ResolveIndexAction.Request
extends LegacyActionRequest
implements IndicesRequest.Replaceable
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.action.IndicesRequest
IndicesRequest.CrossProjectCandidate, IndicesRequest.RemoteClusterShardRequest, IndicesRequest.Replaceable, IndicesRequest.SingleIndexNoWildcardsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsFields inherited from interface org.elasticsearch.core.RefCounted
ALWAYS_REFERENCED -
Constructor Summary
ConstructorsConstructorDescriptionRequest(String[] names, IndicesOptions indicesOptions) Request(String[] names, IndicesOptions indicesOptions, EnumSet<IndexMode> indexModes) Request(String[] names, IndicesOptions indicesOptions, EnumSet<IndexMode> indexModes, String projectRouting) Request(StreamInput in) -
Method Summary
Modifier and TypeMethodDescriptionbooleanDetermines whether the request type can support cross-project processing.booleanDetermines whether the request can contain indices on a remote cluster.booleanReturns the results of index resolution, if recorded viaIndicesRequest.Replaceable.setResolvedIndexExpressions(ResolvedIndexExpressions).inthashCode()booleanDetermines whether the request should be applied to data streams.String[]indices()Returns the array of indices that the action relates toSets the indices that the action relates to.Returns the indices options used to resolve indices.voidsetResolvedIndexExpressions(ResolvedIndexExpressions expressions) Record the results of index resolution.validate()voidwriteTo(StreamOutput out) Write this into the StreamOutput.Methods inherited from class org.elasticsearch.action.ActionRequest
getShouldStoreResultMethods inherited from class org.elasticsearch.transport.AbstractTransportRequest
getParentTask, getRequestId, remoteAddress, remoteAddress, setParentTask, setRequestId, toStringMethods inherited from class org.elasticsearch.transport.TransportMessage
decRef, hasReferences, incRef, tryIncRefMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.core.RefCounted
decRef, hasReferences, incRef, mustIncRef, tryIncRefMethods inherited from interface org.elasticsearch.tasks.TaskAwareRequest
createTask, createTask, getDescription, setParentTask
-
Field Details
-
DEFAULT_INDICES_OPTIONS
-
-
Constructor Details
-
Request
-
Request
-
Request
public Request(String[] names, IndicesOptions indicesOptions, @Nullable EnumSet<IndexMode> indexModes) -
Request
-
Request
- Throws:
IOException
-
-
Method Details
-
validate
- Specified by:
validatein classActionRequest
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Overrides:
writeToin classActionRequest- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
indices
Description copied from interface:IndicesRequestReturns the array of indices that the action relates to- Specified by:
indicesin interfaceIndicesRequest
-
indicesOptions
Description copied from interface:IndicesRequestReturns the indices options used to resolve indices. They tell for instance whether a single index is accepted, whether an empty array will be converted to _all, and how wildcards will be expanded if needed.- Specified by:
indicesOptionsin interfaceIndicesRequest
-
indices
Description copied from interface:IndicesRequest.ReplaceableSets the indices that the action relates to.- Specified by:
indicesin interfaceIndicesRequest.Replaceable
-
allowsRemoteIndices
public boolean allowsRemoteIndices()Description copied from interface:IndicesRequest.ReplaceableDetermines whether the request can contain indices on a remote cluster.NOTE in theory this method can belong to the
IndicesRequestinterface because whether a request allowing remote indices has no inherent relationship to whether it isIndicesRequest.Replaceableor not. However, we don't have an existing request that is non-replaceable but allows remote indices. In addition, authorization code currently relies on the fact that non-replaceable requests do not allow remote indices. That said, it is possible to remove this constraint should the needs arise in the future. We just need proceed with extra caution.- Specified by:
allowsRemoteIndicesin interfaceIndicesRequest.Replaceable
-
allowsCrossProject
public boolean allowsCrossProject()Description copied from interface:IndicesRequest.CrossProjectCandidateDetermines whether the request type can support cross-project processing. Cross-project processing entails 1. UIAM authentication and authorization projects resolution. 2. If applicable, cross-project flat-world index resolution and error handling Note: this method only determines in the request _supports_ cross-project. Whether cross-project processing is actually performed depends on other factors such as: - Whether CPS is enabled which impacts both 1 and 2. - WhetherIndicesOptionssupports it when the request is anIndicesRequest. This only impacts 2. See alsoCrossProjectModeDecider.- Specified by:
allowsCrossProjectin interfaceIndicesRequest.CrossProjectCandidate
-
setResolvedIndexExpressions
Description copied from interface:IndicesRequest.ReplaceableRecord the results of index resolution. SeeResolvedIndexExpressionsfor details. Note: this method does not replaceIndicesRequest.Replaceable.indices(String...).IndicesRequest.Replaceable.indices(String...)must still be called to update the actual list of indices the request relates to. Note: the field is transient and not serialized.- Specified by:
setResolvedIndexExpressionsin interfaceIndicesRequest.Replaceable
-
getResolvedIndexExpressions
Description copied from interface:IndicesRequest.ReplaceableReturns the results of index resolution, if recorded viaIndicesRequest.Replaceable.setResolvedIndexExpressions(ResolvedIndexExpressions). Null if not recorded.- Specified by:
getResolvedIndexExpressionsin interfaceIndicesRequest.Replaceable
-
includeDataStreams
public boolean includeDataStreams()Description copied from interface:IndicesRequestDetermines whether the request should be applied to data streams. Whenfalse, none of the names or wildcard expressions inIndicesRequest.indices()should be applied to or expanded to any data streams. All layers involved in the request's fulfillment including security, name resolution, etc., should respect this flag.- Specified by:
includeDataStreamsin interfaceIndicesRequest
-
getProjectRouting
- Specified by:
getProjectRoutingin interfaceIndicesRequest.Replaceable
-