/** * Asynchronously deletes the specified cluster. Please note that an instance must have at least 1 * cluster. To remove the last cluster, please use {@link * BigtableInstanceAdminClient#deleteInstanceAsync(String)}. * * <p>Sample code: * * <pre>{@code * ApiFuture<Void> future = client.deleteClusterAsync("my-instance", "my-cluster"); * future.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Void> deleteClusterAsync(String instanceId, String clusterId) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.DeleteClusterRequest request = com.google.bigtable.admin.v2.DeleteClusterRequest.newBuilder() .setName(name.toString()) .build(); return ApiFutures.transform( stub.deleteClusterCallable().futureCall(request), new ApiFunction<Empty, Void>() { @Override public Void apply(Empty input) { return null; } }, MoreExecutors.directExecutor()); }
/** * Asynchronously gets the cluster representation by ID. * * <p>Sample code: * * <pre>{@code * ApiFuture<Cluster> clusterFuture = client.getClusterAsync("my-instance", "my-cluster"); * Cluster cluster = clusterFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Cluster> getClusterAsync(String instanceId, String clusterId) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.GetClusterRequest request = com.google.bigtable.admin.v2.GetClusterRequest.newBuilder().setName(name).build(); return ApiFutures.transform( stub.getClusterCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Cluster, Cluster>() { @Override public Cluster apply(com.google.bigtable.admin.v2.Cluster proto) { return Cluster.fromProto(proto); } }, MoreExecutors.directExecutor()); }
/** * Asynchronously resizes the cluster's node count. Please note that only clusters that belong to * a PRODUCTION instance can be resized. * * <pre>{@code * ApiFuture<Cluster> clusterFuture = client.resizeCluster("my-instance", "my-cluster", 30); * Cluster cluster = clusterFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Cluster> resizeClusterAsync( String instanceId, String clusterId, int numServeNodes) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.Cluster request = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName(name) .setServeNodes(numServeNodes) .build(); return ApiFutures.transform( stub.updateClusterOperationCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Cluster, Cluster>() { @Override public Cluster apply(com.google.bigtable.admin.v2.Cluster proto) { return Cluster.fromProto(proto); } }, MoreExecutors.directExecutor()); }
/** * Asynchronously deletes the specified cluster. Please note that an instance must have at least 1 * cluster. To remove the last cluster, please use {@link * BigtableInstanceAdminClient#deleteInstanceAsync(String)}. * * <p>Sample code: * * <pre>{@code * ApiFuture<Void> future = client.deleteClusterAsync("my-instance", "my-cluster"); * future.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Void> deleteClusterAsync(String instanceId, String clusterId) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.DeleteClusterRequest request = com.google.bigtable.admin.v2.DeleteClusterRequest.newBuilder() .setName(name.toString()) .build(); return ApiFutures.transform( stub.deleteClusterCallable().futureCall(request), new ApiFunction<Empty, Void>() { @Override public Void apply(Empty input) { return null; } }, MoreExecutors.directExecutor()); }
/** * Asynchronously gets the cluster representation by ID. * * <p>Sample code: * * <pre>{@code * ApiFuture<Cluster> clusterFuture = client.getClusterAsync("my-instance", "my-cluster"); * Cluster cluster = clusterFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Cluster> getClusterAsync(String instanceId, String clusterId) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.GetClusterRequest request = com.google.bigtable.admin.v2.GetClusterRequest.newBuilder().setName(name).build(); return ApiFutures.transform( stub.getClusterCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Cluster, Cluster>() { @Override public Cluster apply(com.google.bigtable.admin.v2.Cluster proto) { return Cluster.fromProto(proto); } }, MoreExecutors.directExecutor()); }
/** * Asynchronously resizes the cluster's node count. Please note that only clusters that belong to * a PRODUCTION instance can be resized. * * <pre>{@code * ApiFuture<Cluster> clusterFuture = client.resizeCluster("my-instance", "my-cluster", 30); * Cluster cluster = clusterFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Cluster> resizeClusterAsync( String instanceId, String clusterId, int numServeNodes) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.Cluster request = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName(name) .setServeNodes(numServeNodes) .build(); return ApiFutures.transform( stub.updateClusterOperationCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Cluster, Cluster>() { @Override public Cluster apply(com.google.bigtable.admin.v2.Cluster proto) { return Cluster.fromProto(proto); } }, MoreExecutors.directExecutor()); }