Interface ClusterManager
- All Known Implementing Classes:
DefaultClusterManager
@Committed @Public public interface ClusterManager
Provides management capabilities for a Couchbase Server
Cluster
.
The underlying asynchronous capabilities can be leveraged through the async()
method.- Since:
- 2.0
- Author:
- Michael Nitschinger
-
Method Summary
Modifier and Type Method Description ClusterApiClient
apiClient()
Returns a newClusterApiClient
to prepare and perform REST API synchronous requests on this cluster.AsyncClusterManager
async()
Accesses the underlyingAsyncClusterManager
to perform asynchronous operations on the cluster.BucketSettings
getBucket(String name)
Returns theBucketSettings
for theBucket
identified by name with the default management timeout.BucketSettings
getBucket(String name, long timeout, TimeUnit timeUnit)
Returns theBucketSettings
for theBucket
identified by name with a custom timeout.List<BucketSettings>
getBuckets()
Returns a list ofBucketSettings
for all availableBucket
s with the default management timeout.List<BucketSettings>
getBuckets(long timeout, TimeUnit timeUnit)
Returns a list ofBucketSettings
for all availableBucket
s with a custom timeout.User
getUser(AuthDomain domain, String userid)
Get user info in Couchbase with default management timeout.User
getUser(AuthDomain domain, String userid, long timeout, TimeUnit timeUnit)
Get user info in Couchbase with custom timeout.List<User>
getUsers(AuthDomain domain)
Get all users in Couchbase with default management timeout.List<User>
getUsers(AuthDomain domain, long timeout, TimeUnit timeUnit)
Get all users in Couchbase with a custom timeout.Boolean
hasBucket(String name)
Checks if the cluster has aBucket
identified by the given name with the default management timeout.Boolean
hasBucket(String name, long timeout, TimeUnit timeUnit)
Checks if the cluster has aBucket
identified by the given name with a custom timeout.ClusterInfo
info()
Provides information about the cluster with the default management timeout.ClusterInfo
info(long timeout, TimeUnit timeUnit)
Provides information about the cluster with a custom timeout.BucketSettings
insertBucket(BucketSettings settings)
Inserts aBucket
with itsBucketSettings
if it does not already exist with the default management timeout.BucketSettings
insertBucket(BucketSettings settings, long timeout, TimeUnit timeUnit)
Inserts aBucket
with itsBucketSettings
if it does not already exist with a custom timeout.Boolean
removeBucket(String name)
Removes aBucket
identified by its name with the default management timeout.Boolean
removeBucket(String name, long timeout, TimeUnit timeUnit)
Removes aBucket
identified by its name with a custom timeout.Boolean
removeUser(AuthDomain domain, String username)
Removes a user identified by user name with the default management timeout.Boolean
removeUser(AuthDomain domain, String username, long timeout, TimeUnit timeUnit)
Removes a user identified by user name with a custom timeout.BucketSettings
updateBucket(BucketSettings settings)
Updates aBucket
with itsBucketSettings
if it does already exist with the default management timeout.BucketSettings
updateBucket(BucketSettings settings, long timeout, TimeUnit timeUnit)
Updates aBucket
with itsBucketSettings
if it does already exist with a custom timeout.Boolean
upsertUser(AuthDomain domain, String username, UserSettings settings)
Creates/Updates a user with itsUserSettings
with default management timeout.Boolean
upsertUser(AuthDomain domain, String username, UserSettings settings, long timeout, TimeUnit timeUnit)
Creates/Updates a user with itsUserSettings
with custom timeout.
-
Method Details
-
async
AsyncClusterManager async()Accesses the underlyingAsyncClusterManager
to perform asynchronous operations on the cluster.- Returns:
- the underlying
AsyncClusterManager
.
-
info
ClusterInfo info()Provides information about the cluster with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Returns:
- cluster information wrapped into a
ClusterInfo
object.
-
info
Provides information about the cluster with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- cluster information wrapped into a
ClusterInfo
object.
-
getBuckets
List<BucketSettings> getBuckets()Returns a list ofBucketSettings
for all availableBucket
s with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Returns:
- a potentially empty list with
BucketSettings
.
-
getBuckets
Returns a list ofBucketSettings
for all availableBucket
s with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- a potentially empty list with
BucketSettings
.
-
getBucket
Returns theBucketSettings
for theBucket
identified by name with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
name
- the name of the bucket.- Returns:
- the
BucketSettings
if found or null.
-
getBucket
Returns theBucketSettings
for theBucket
identified by name with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
name
- the name of the bucket.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- the
BucketSettings
if found or null.
-
hasBucket
Checks if the cluster has aBucket
identified by the given name with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
name
- the name of the bucket.- Returns:
- true if it was found, false otherwise.
-
hasBucket
Checks if the cluster has aBucket
identified by the given name with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
name
- the name of the bucket.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- true if it was found, false otherwise.
-
insertBucket
Inserts aBucket
with itsBucketSettings
if it does not already exist with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. - com.couchbase.client.java.error.BucketAlreadyExistsException: If the bucket already exists. **Note:** Inserting a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
settings
- the bucket settings that should be applied.- Returns:
- the stored bucket settings if succeeded.
-
insertBucket
Inserts aBucket
with itsBucketSettings
if it does not already exist with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. - com.couchbase.client.java.error.BucketAlreadyExistsException: If the bucket already exists. **Note:** Inserting a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
settings
- the bucket settings that should be applied.- Returns:
- the stored bucket settings if succeeded.
-
updateBucket
Updates aBucket
with itsBucketSettings
if it does already exist with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. - com.couchbase.client.java.error.BucketDoesNotExistException: If the bucket does not exist. **Note:** Updating a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
settings
- the bucket settings that should be applied.- Returns:
- the updated bucket settings if succeeded.
-
updateBucket
Updates aBucket
with itsBucketSettings
if it does already exist with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. - com.couchbase.client.java.error.BucketDoesNotExistException: If the bucket does not exist. **Note:** Updating a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
settings
- the bucket settings that should be applied.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- the updated bucket settings if succeeded.
-
removeBucket
Removes aBucket
identified by its name with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. **Note:** Removing a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
name
- the name of the bucket.- Returns:
- true if the removal was successful, false otherwise.
-
removeBucket
Removes aBucket
identified by its name with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded. **Note:** Removing a Bucket is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
name
- the name of the bucket.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- true if the removal was successful, false otherwise.
-
upsertUser
Creates/Updates a user with itsUserSettings
with default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. **Note:** Updating a user is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
domain
- the authentication to use, most likelyAuthDomain.LOCAL
username
- the user name of the user to be updatedsettings
- the user settings that should be applied.- Returns:
- true if succeeded.
-
upsertUser
@Experimental Boolean upsertUser(AuthDomain domain, String username, UserSettings settings, long timeout, TimeUnit timeUnit)Creates/Updates a user with itsUserSettings
with custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. **Note:** Updating a user is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
domain
- the authentication to use, most likelyAuthDomain.LOCAL
username
- the user name of the user to be updated.settings
- the user settings that should be applied.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- true if succeeded.
-
removeUser
Removes a user identified by user name with the default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. **Note:** Removing a user is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
domain
- the authentication to use, most likelyAuthDomain.LOCAL
username
- the user name of the user to be deleted.- Returns:
- true if the removal was successful, false otherwise.
-
removeUser
@Experimental Boolean removeUser(AuthDomain domain, String username, long timeout, TimeUnit timeUnit)Removes a user identified by user name with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. **Note:** Removing a user is an asynchronous operation on the server side, so even if the response is returned there is no guarantee that the operation has finished on the server itself.- Parameters:
domain
- the authentication to use, most likelyAuthDomain.LOCAL
username
- the user name of the user to be deleted.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- true if the removal was successful, false otherwise.
-
getUsers
Get all users in Couchbase with default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Returns:
- users the list of users.
-
getUsers
Get all users in Couchbase with a custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Parameters:
domain
- the authentication to use, most likelyAuthDomain.LOCAL
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.- Returns:
- users the list of users.
-
getUser
Get user info in Couchbase with default management timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Returns:
- user info
-
getUser
Get user info in Couchbase with custom timeout. This method throws: - java.util.concurrent.TimeoutException: If the timeout is exceeded. - com.couchbase.client.core.CouchbaseException: If the underlying resources could not be enabled properly. - com.couchbase.client.java.error.TranscodingException: If the server response could not be decoded.- Returns:
- user info
-
apiClient
Returns a newClusterApiClient
to prepare and perform REST API synchronous requests on this cluster. The requests have a default timeout corresponding to the configuredCouchbaseEnvironment.managementTimeout()
.- Returns:
- a new
ClusterApiClient
.
-