- All Implemented Interfaces:
ClusterState.Custom,Diffable<ClusterState.Custom>,NamedDiffable<ClusterState.Custom>,NamedWriteable,VersionedNamedWriteable,Writeable,ChunkedToXContent
Cluster state secrets are initially loaded on each node, from a file on disk,
in the format defined by LocallyMountedSecrets.
Once the cluster is running, the master node watches the file for changes. This class
propagates changes in the file-based secure settings from the master node out to other
nodes.
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 ClusterState.Custom as a private custom object. Additionally,
we don't want to ever write this class's secrets out in a client response, so
toXContentChunked(ToXContent.Params) returns an empty iterator.
-
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 TypeMethodDescriptionbooleanThe minimal version of the recipient this object can be sent to.longReturns the name of the writeable objectinthashCode()booleanReturnstrueiff thisClusterState.Customis private to the cluster and should never be sent to a client.static NamedDiff<ClusterState.Custom> toString()Iterator<? extends ToXContent> toXContentChunked(ToXContent.Params params) Serialize thisClusterState.Customfor diagnostic purposes, exposed by thevoidwriteTo(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.common.io.stream.VersionedNamedWriteable
supportsVersion
-
Field Details
-
TYPE
The name for this data classThis name will be used to identify this
NamedWriteablein cluster state. SeegetWriteableName().- See Also:
-
-
Constructor Details
-
ClusterSecrets
-
ClusterSecrets
- Throws:
IOException
-
-
Method Details
-
getSettings
-
getVersion
public long getVersion() -
isPrivate
public boolean isPrivate()Description copied from interface:ClusterState.CustomReturnstrueiff thisClusterState.Customis private to the cluster and should never be sent to a client. The default isfalse;- Specified by:
isPrivatein interfaceClusterState.Custom
-
toXContentChunked
Description copied from interface:ClusterState.CustomSerialize thisClusterState.Customfor diagnostic purposes, exposed by theGET _cluster/state
API etc. The XContent representation does not need to be 100% faithful since we never reconstruct a cluster state from its XContent representation, but the more faithful it is the more useful it is for diagnostics.- Specified by:
toXContentChunkedin interfaceChunkedToXContent- Specified by:
toXContentChunkedin interfaceClusterState.Custom- 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()
-