- All Implemented Interfaces:
Diffable<Metadata.ProjectCustom>,Metadata.MetadataCustom<Metadata.ProjectCustom>,Metadata.ProjectCustom,NamedDiffable<Metadata.ProjectCustom>,NamedWriteable,VersionedNamedWriteable,Writeable,ChunkedToXContent
Metadata.ProjectCustom
Project state secrets are initially loaded on the master node, from a file on disk. Once the cluster is running, the master node watches the file for changes. This class propagates changes in the file-based secure settings for each project from the master node out to other nodes using the transport protocol.
Since the master node should always have settings on disk, we don't need to
persist this class to saved cluster state, either on disk or in the cloud. Therefore,
we have defined this Metadata.ProjectCustom as a "private custom" object by not
serializing its content in toXContentChunked(ToXContent.Params).
-
Nested Class Summary
Nested 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.common.xcontent.ChunkedToXContent
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncontext()booleanThe minimal version of the recipient this object can be sent to.Returns the name of the writeable objectinthashCode()static NamedDiff<Metadata.ProjectCustom> toString()Iterator<? extends ToXContent> toXContentChunked(ToXContent.Params params) Create an iterator ofToXContentchunks for a REST response.voidwriteTo(StreamOutput out) Write this into the StreamOutput.Methods inherited from class org.elasticsearch.cluster.AbstractNamedDiffable
diff, get, readDiffFromMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.common.xcontent.ChunkedToXContent
isFragment, toXContentChunked, toXContentChunkedV8Methods inherited from interface org.elasticsearch.cluster.metadata.Metadata.MetadataCustom
isRestorableMethods inherited from interface org.elasticsearch.common.io.stream.VersionedNamedWriteable
supportsVersion
-
Field Details
-
TYPE
- See Also:
-
-
Constructor Details
-
ProjectSecrets
-
ProjectSecrets
- Throws:
IOException
-
-
Method Details
-
getSettings
-
getSettingNames
-
toXContentChunked
Description copied from interface:ChunkedToXContentCreate an iterator ofToXContentchunks for a REST response. Each chunk is serialized with the sameXContentBuilderandToXContent.Params, which is also the same as theToXContent.Paramspassed as theparamsargument. For best results, all chunks should beO(1)size. The last chunk in the iterator must always yield at least one byte of output. See alsoChunkedToXContentHelperfor some handy utilities.Note that chunked response bodies cannot send deprecation warning headers once transmission has started, so implementations must check for deprecated feature use before returning.
- Specified by:
toXContentChunkedin interfaceChunkedToXContent- Returns:
- iterator over chunks of
ToXContent
-
getWriteableName
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object- Specified by:
getWriteableNamein interfaceNamedWriteable- Specified by:
getWriteableNamein interfaceVersionedNamedWriteable
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to. SeeVersionedNamedWriteable.supportsVersion(TransportVersion)for the default serialization check.- Specified by:
getMinimalSupportedVersionin interfaceVersionedNamedWriteable
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
readDiffFrom
- Throws:
IOException
-
toString
-
equals
-
hashCode
public int hashCode() -
context
- Specified by:
contextin interfaceMetadata.MetadataCustom<Metadata.ProjectCustom>
-