Class ClusterControllerClient

public class ClusterControllerClient implements BackgroundResource

Service Description: The ClusterControllerService provides methods to manage clusters of Compute Engine instances.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String clusterName = "clusterName-1141738587";
   Cluster response = clusterControllerClient.getCluster(projectId, region, clusterName);
 }
 

Note: close() needs to be called on the ClusterControllerClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of ClusterControllerSettings to create(). For example:

To customize credentials:


 ClusterControllerSettings clusterControllerSettings =
     ClusterControllerSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 ClusterControllerClient clusterControllerClient =
     ClusterControllerClient.create(clusterControllerSettings);
 

To customize the endpoint:


 ClusterControllerSettings clusterControllerSettings =
     ClusterControllerSettings.newBuilder().setEndpoint(myEndpoint).build();
 ClusterControllerClient clusterControllerClient =
     ClusterControllerClient.create(clusterControllerSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > ClusterControllerClient

Implements

BackgroundResource

Constructors

ClusterControllerClient(ClusterControllerSettings settings)

protected ClusterControllerClient(ClusterControllerSettings settings)

Constructs an instance of ClusterControllerClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsClusterControllerSettings

ClusterControllerClient(ClusterControllerStub stub)

protected ClusterControllerClient(ClusterControllerStub stub)
Parameter
NameDescription
stubClusterControllerStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

create()

public static final ClusterControllerClient create()

Constructs an instance of ClusterControllerClient with default settings.

Returns
TypeDescription
ClusterControllerClient
Exceptions
TypeDescription
IOException

create(ClusterControllerSettings settings)

public static final ClusterControllerClient create(ClusterControllerSettings settings)

Constructs an instance of ClusterControllerClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsClusterControllerSettings
Returns
TypeDescription
ClusterControllerClient
Exceptions
TypeDescription
IOException

create(ClusterControllerStub stub)

public static final ClusterControllerClient create(ClusterControllerStub stub)

Constructs an instance of ClusterControllerClient, using the given stub for making calls. This is for advanced usage - prefer using create(ClusterControllerSettings).

Parameter
NameDescription
stubClusterControllerStub
Returns
TypeDescription
ClusterControllerClient

createClusterAsync(CreateClusterRequest request)

public final OperationFuture<Cluster,ClusterOperationMetadata> createClusterAsync(CreateClusterRequest request)

Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   CreateClusterRequest request =
       CreateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setCluster(Cluster.newBuilder().build())
           .setRequestId("requestId693933066")
           .setActionOnFailedPrimaryWorkers(FailureAction.forNumber(0))
           .build();
   Cluster response = clusterControllerClient.createClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestCreateClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

createClusterAsync(String projectId, String region, Cluster cluster)

public final OperationFuture<Cluster,ClusterOperationMetadata> createClusterAsync(String projectId, String region, Cluster cluster)

Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   Cluster cluster = Cluster.newBuilder().build();
   Cluster response =
       clusterControllerClient.createClusterAsync(projectId, region, cluster).get();
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

clusterCluster

Required. The cluster to create.

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

createClusterCallable()

public final UnaryCallable<CreateClusterRequest,Operation> createClusterCallable()

Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   CreateClusterRequest request =
       CreateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setCluster(Cluster.newBuilder().build())
           .setRequestId("requestId693933066")
           .setActionOnFailedPrimaryWorkers(FailureAction.forNumber(0))
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.createClusterCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateClusterRequest,Operation>

createClusterOperationCallable()

public final OperationCallable<CreateClusterRequest,Cluster,ClusterOperationMetadata> createClusterOperationCallable()

Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   CreateClusterRequest request =
       CreateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setCluster(Cluster.newBuilder().build())
           .setRequestId("requestId693933066")
           .setActionOnFailedPrimaryWorkers(FailureAction.forNumber(0))
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<CreateClusterRequest,Cluster,ClusterOperationMetadata>

deleteClusterAsync(DeleteClusterRequest request)

public final OperationFuture<Empty,ClusterOperationMetadata> deleteClusterAsync(DeleteClusterRequest request)

Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DeleteClusterRequest request =
       DeleteClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   clusterControllerClient.deleteClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestDeleteClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Empty,ClusterOperationMetadata>

deleteClusterAsync(String projectId, String region, String clusterName)

public final OperationFuture<Empty,ClusterOperationMetadata> deleteClusterAsync(String projectId, String region, String clusterName)

Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String clusterName = "clusterName-1141738587";
   clusterControllerClient.deleteClusterAsync(projectId, region, clusterName).get();
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

clusterNameString

Required. The cluster name.

Returns
TypeDescription
OperationFuture<Empty,ClusterOperationMetadata>

deleteClusterCallable()

public final UnaryCallable<DeleteClusterRequest,Operation> deleteClusterCallable()

Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DeleteClusterRequest request =
       DeleteClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.deleteClusterCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteClusterRequest,Operation>

deleteClusterOperationCallable()

public final OperationCallable<DeleteClusterRequest,Empty,ClusterOperationMetadata> deleteClusterOperationCallable()

Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DeleteClusterRequest request =
       DeleteClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<DeleteClusterRequest,Empty,ClusterOperationMetadata>

diagnoseClusterAsync(DiagnoseClusterRequest request)

public final OperationFuture<DiagnoseClusterResults,ClusterOperationMetadata> diagnoseClusterAsync(DiagnoseClusterRequest request)

Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata. After the operation completes, Operation.response contains DiagnoseClusterResults.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DiagnoseClusterRequest request =
       DiagnoseClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .build();
   DiagnoseClusterResults response = clusterControllerClient.diagnoseClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestDiagnoseClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<DiagnoseClusterResults,ClusterOperationMetadata>

diagnoseClusterAsync(String projectId, String region, String clusterName)

public final OperationFuture<DiagnoseClusterResults,ClusterOperationMetadata> diagnoseClusterAsync(String projectId, String region, String clusterName)

Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata. After the operation completes, Operation.response contains DiagnoseClusterResults.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String clusterName = "clusterName-1141738587";
   DiagnoseClusterResults response =
       clusterControllerClient.diagnoseClusterAsync(projectId, region, clusterName).get();
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

clusterNameString

Required. The cluster name.

Returns
TypeDescription
OperationFuture<DiagnoseClusterResults,ClusterOperationMetadata>

diagnoseClusterCallable()

public final UnaryCallable<DiagnoseClusterRequest,Operation> diagnoseClusterCallable()

Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata. After the operation completes, Operation.response contains DiagnoseClusterResults.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DiagnoseClusterRequest request =
       DiagnoseClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.diagnoseClusterCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DiagnoseClusterRequest,Operation>

diagnoseClusterOperationCallable()

public final OperationCallable<DiagnoseClusterRequest,DiagnoseClusterResults,ClusterOperationMetadata> diagnoseClusterOperationCallable()

Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata. After the operation completes, Operation.response contains DiagnoseClusterResults.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   DiagnoseClusterRequest request =
       DiagnoseClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<DiagnoseClusterRequest,DiagnoseClusterResults,ClusterOperationMetadata>

getCluster(GetClusterRequest request)

public final Cluster getCluster(GetClusterRequest request)

Gets the resource representation for a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   GetClusterRequest request =
       GetClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .build();
   Cluster response = clusterControllerClient.getCluster(request);
 }
 
Parameter
NameDescription
requestGetClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Cluster

getCluster(String projectId, String region, String clusterName)

public final Cluster getCluster(String projectId, String region, String clusterName)

Gets the resource representation for a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String clusterName = "clusterName-1141738587";
   Cluster response = clusterControllerClient.getCluster(projectId, region, clusterName);
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

clusterNameString

Required. The cluster name.

Returns
TypeDescription
Cluster

getClusterCallable()

public final UnaryCallable<GetClusterRequest,Cluster> getClusterCallable()

Gets the resource representation for a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   GetClusterRequest request =
       GetClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .build();
   ApiFuture<Cluster> future = clusterControllerClient.getClusterCallable().futureCall(request);
   // Do something.
   Cluster response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetClusterRequest,Cluster>

getOperationsClient()

public final OperationsClient getOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
TypeDescription
OperationsClient

getSettings()

public final ClusterControllerSettings getSettings()
Returns
TypeDescription
ClusterControllerSettings

getStub()

public ClusterControllerStub getStub()
Returns
TypeDescription
ClusterControllerStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listClusters(ListClustersRequest request)

public final ClusterControllerClient.ListClustersPagedResponse listClusters(ListClustersRequest request)

Lists all regions/{region}/clusters in a project alphabetically.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   ListClustersRequest request =
       ListClustersRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (Cluster element : clusterControllerClient.listClusters(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListClustersRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ClusterControllerClient.ListClustersPagedResponse

listClusters(String projectId, String region)

public final ClusterControllerClient.ListClustersPagedResponse listClusters(String projectId, String region)

Lists all regions/{region}/clusters in a project alphabetically.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   for (Cluster element : clusterControllerClient.listClusters(projectId, region).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

Returns
TypeDescription
ClusterControllerClient.ListClustersPagedResponse

listClusters(String projectId, String region, String filter)

public final ClusterControllerClient.ListClustersPagedResponse listClusters(String projectId, String region, String filter)

Lists all regions/{region}/clusters in a project alphabetically.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String filter = "filter-1274492040";
   for (Cluster element :
       clusterControllerClient.listClusters(projectId, region, filter).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project that the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

filterString

Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:

field = value [AND [field = value]] ...

where **field** is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. **value** can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.

Example filter:

status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *

Returns
TypeDescription
ClusterControllerClient.ListClustersPagedResponse

listClustersCallable()

public final UnaryCallable<ListClustersRequest,ListClustersResponse> listClustersCallable()

Lists all regions/{region}/clusters in a project alphabetically.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   ListClustersRequest request =
       ListClustersRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListClustersResponse response =
         clusterControllerClient.listClustersCallable().call(request);
     for (Cluster element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListClustersRequest,ListClustersResponse>

listClustersPagedCallable()

public final UnaryCallable<ListClustersRequest,ClusterControllerClient.ListClustersPagedResponse> listClustersPagedCallable()

Lists all regions/{region}/clusters in a project alphabetically.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   ListClustersRequest request =
       ListClustersRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<Cluster> future =
       clusterControllerClient.listClustersPagedCallable().futureCall(request);
   // Do something.
   for (Cluster element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListClustersRequest,ListClustersPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

startClusterAsync(StartClusterRequest request)

public final OperationFuture<Cluster,ClusterOperationMetadata> startClusterAsync(StartClusterRequest request)

Starts a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StartClusterRequest request =
       StartClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   Cluster response = clusterControllerClient.startClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestStartClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

startClusterCallable()

public final UnaryCallable<StartClusterRequest,Operation> startClusterCallable()

Starts a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StartClusterRequest request =
       StartClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.startClusterCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<StartClusterRequest,Operation>

startClusterOperationCallable()

public final OperationCallable<StartClusterRequest,Cluster,ClusterOperationMetadata> startClusterOperationCallable()

Starts a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StartClusterRequest request =
       StartClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<StartClusterRequest,Cluster,ClusterOperationMetadata>

stopClusterAsync(StopClusterRequest request)

public final OperationFuture<Cluster,ClusterOperationMetadata> stopClusterAsync(StopClusterRequest request)

Stops a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StopClusterRequest request =
       StopClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   Cluster response = clusterControllerClient.stopClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestStopClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

stopClusterCallable()

public final UnaryCallable<StopClusterRequest,Operation> stopClusterCallable()

Stops a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StopClusterRequest request =
       StopClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.stopClusterCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<StopClusterRequest,Operation>

stopClusterOperationCallable()

public final OperationCallable<StopClusterRequest,Cluster,ClusterOperationMetadata> stopClusterOperationCallable()

Stops a cluster in a project.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   StopClusterRequest request =
       StopClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setClusterUuid("clusterUuid-1141510955")
           .setRequestId("requestId693933066")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<StopClusterRequest,Cluster,ClusterOperationMetadata>

updateClusterAsync(UpdateClusterRequest request)

public final OperationFuture<Cluster,ClusterOperationMetadata> updateClusterAsync(UpdateClusterRequest request)

Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata. The cluster must be in a RUNNING state or an error is returned.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   UpdateClusterRequest request =
       UpdateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setCluster(Cluster.newBuilder().build())
           .setGracefulDecommissionTimeout(Duration.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setRequestId("requestId693933066")
           .build();
   Cluster response = clusterControllerClient.updateClusterAsync(request).get();
 }
 
Parameter
NameDescription
requestUpdateClusterRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

updateClusterAsync(String projectId, String region, String clusterName, Cluster cluster, FieldMask updateMask)

public final OperationFuture<Cluster,ClusterOperationMetadata> updateClusterAsync(String projectId, String region, String clusterName, Cluster cluster, FieldMask updateMask)

Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata. The cluster must be in a RUNNING state or an error is returned.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   String projectId = "projectId-894832108";
   String region = "region-934795532";
   String clusterName = "clusterName-1141738587";
   Cluster cluster = Cluster.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   Cluster response =
       clusterControllerClient
           .updateClusterAsync(projectId, region, clusterName, cluster, updateMask)
           .get();
 }
 
Parameters
NameDescription
projectIdString

Required. The ID of the Google Cloud Platform project the cluster belongs to.

regionString

Required. The Dataproc region in which to handle the request.

clusterNameString

Required. The cluster name.

clusterCluster

Required. The changes to the cluster.

updateMaskFieldMask

Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows:

{ "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows:

{ "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } <strong>Note:</strong> Currently, only the following fields can be updated:

<table> <tbody> <tr> <td><strong>Mask</strong></td> <td><strong>Purpose</strong></td> </tr> <tr> <td><strong><em>labels</em></strong></td> <td>Update labels</td> </tr> <tr> <td><strong><em>config.worker_config.num_instances</em></strong></td> <td>Resize primary worker group</td> </tr> <tr> <td><strong><em>config.secondary_worker_config.num_instances</em></strong></td> <td>Resize secondary worker group</td> </tr> <tr> <td>config.autoscaling_config.policy_uri</td><td>Use, stop using, or change autoscaling policies</td> </tr> </tbody> </table>

Returns
TypeDescription
OperationFuture<Cluster,ClusterOperationMetadata>

updateClusterCallable()

public final UnaryCallable<UpdateClusterRequest,Operation> updateClusterCallable()

Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata. The cluster must be in a RUNNING state or an error is returned.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   UpdateClusterRequest request =
       UpdateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setCluster(Cluster.newBuilder().build())
           .setGracefulDecommissionTimeout(Duration.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setRequestId("requestId693933066")
           .build();
   ApiFuture<Operation> future =
       clusterControllerClient.updateClusterCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateClusterRequest,Operation>

updateClusterOperationCallable()

public final OperationCallable<UpdateClusterRequest,Cluster,ClusterOperationMetadata> updateClusterOperationCallable()

Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata. The cluster must be in a RUNNING state or an error is returned.

Sample code:


 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
   UpdateClusterRequest request =
       UpdateClusterRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setRegion("region-934795532")
           .setClusterName("clusterName-1141738587")
           .setCluster(Cluster.newBuilder().build())
           .setGracefulDecommissionTimeout(Duration.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setRequestId("requestId693933066")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<UpdateClusterRequest,Cluster,ClusterOperationMetadata>