Interface BucketConfig
-
- All Known Implementing Classes:
AbstractBucketConfig
,CouchbaseBucketConfig
,MemcachedBucketConfig
public interface BucketConfig
Represents a Couchbase Bucket Configuration.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<BucketCapabilities>
bucketCapabilities()
Returns all the capabilities that are enabled and recognized on this bucket.Map<ServiceType,Set<ClusterCapabilities>>
clusterCapabilities()
Returns the cluster capabilities reported by the server.boolean
hasFastForwardMap()
Returns true if the config has a fast forward map that describes what the topology of the cluster will be after the current rebalance operation completes.BucketNodeLocator
locator()
The type of node locator in use for this bucket.String
name()
The name of the bucket.List<NodeInfo>
nodes()
The list of nodes associated with this bucket.List<PortInfo>
portInfos()
Returns the port information from the "nodesExt" section.long
rev()
Revision number (optional) for that configuration.long
revEpoch()
This field serves to enable the server to provide higher-level guidance with regards to configuration priority.boolean
serviceEnabled(ServiceType type)
Check if the service is enabled on the bucket.String
streamingUri()
The HTTP Streaming URI for this bucket.boolean
tainted()
Returns true if the config indicates the cluster is undergoing a transition (such as a rebalance operation).BucketType
type()
The bucket type.String
uri()
The HTTP Uri for this bucket configuration.String
uuid()
Returns the UUID of the bucket, ornull
if the bucket does not have a UUID.
-
-
-
Method Detail
-
uuid
String uuid()
Returns the UUID of the bucket, ornull
if the bucket does not have a UUID.The UUID is an opaque value assigned when the bucket is created. If the bucket is deleted and a new bucket is created with the same name, the new bucket will have a different UUID.
- Returns:
- bucket UUID, or
null
.
-
name
String name()
The name of the bucket.- Returns:
- name of the bucket.
-
locator
BucketNodeLocator locator()
The type of node locator in use for this bucket.- Returns:
- the node locator type.
-
uri
String uri()
The HTTP Uri for this bucket configuration.- Returns:
- the uri.
-
streamingUri
String streamingUri()
The HTTP Streaming URI for this bucket.- Returns:
- the streaming uri.
-
nodes
List<NodeInfo> nodes()
The list of nodes associated with this bucket.- Returns:
- the list of nodes.
-
tainted
boolean tainted()
Returns true if the config indicates the cluster is undergoing a transition (such as a rebalance operation).- Returns:
- true if a transition is in progress.
-
rev
long rev()
Revision number (optional) for that configuration.- Returns:
- the rev number, might be 0.
-
revEpoch
long revEpoch()
This field serves to enable the server to provide higher-level guidance with regards to configuration priority.This will be used during manual failovers to ensure that even if the minority side of the cluster is being selected, that consumers can keep the correct configurations.
If revEpoch is not included in the config, it is set to 0 (it starts with 1 on configs that have it).
-
type
BucketType type()
The bucket type.- Returns:
- the bucket type.
-
serviceEnabled
boolean serviceEnabled(ServiceType type)
Check if the service is enabled on the bucket.- Parameters:
type
- the type to check.- Returns:
- true if it is, false otherwise.
-
hasFastForwardMap
boolean hasFastForwardMap()
Returns true if the config has a fast forward map that describes what the topology of the cluster will be after the current rebalance operation completes.- Returns:
- true if it does, false otherwise.
-
clusterCapabilities
Map<ServiceType,Set<ClusterCapabilities>> clusterCapabilities()
Returns the cluster capabilities reported by the server.
-
bucketCapabilities
Set<BucketCapabilities> bucketCapabilities()
Returns all the capabilities that are enabled and recognized on this bucket.
-
portInfos
List<PortInfo> portInfos()
Returns the port information from the "nodesExt" section.NOTE: If you are unsure if you want to use this api, very likely you want to use
nodes()
instead!The nodes API is very similar to this port infos (in fact, they are built from each other), but there is one big difference: when the KV and VIEW service are defined on a bucket but not yet ready, the nodes API will NOT include them in the services list, while this API will. Most of the time you do not want to consume a service until it is ready, but for some functionality (like waitUntilReady) it can be needed to "look ahead" what will become active and wait for it.
- Returns:
- the port infos.
-
-