Class ClusterControllerClient

  • All Implemented Interfaces:
    com.google.api.gax.core.BackgroundResource, AutoCloseable

    @Generated("by gapic-generator-java")
    public class ClusterControllerClient
    extends Object
    implements com.google.api.gax.core.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:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     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:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     ClusterControllerSettings clusterControllerSettings =
         ClusterControllerSettings.newBuilder()
             .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
             .build();
     ClusterControllerClient clusterControllerClient =
         ClusterControllerClient.create(clusterControllerSettings);
     

    To customize the endpoint:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     ClusterControllerSettings clusterControllerSettings =
         ClusterControllerSettings.newBuilder().setEndpoint(myEndpoint).build();
     ClusterControllerClient clusterControllerClient =
         ClusterControllerClient.create(clusterControllerSettings);
     

    To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     ClusterControllerSettings clusterControllerSettings =
         ClusterControllerSettings.newHttpJsonBuilder().build();
     ClusterControllerClient clusterControllerClient =
         ClusterControllerClient.create(clusterControllerSettings);
     

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

    • Constructor Detail

      • ClusterControllerClient

        protected ClusterControllerClient​(ClusterControllerSettings settings)
                                   throws IOException
        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.
        Throws:
        IOException
    • Method Detail

      • create

        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).
      • getOperationsClient

        public final com.google.longrunning.OperationsClient getOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • getHttpJsonOperationsClient

        @BetaApi
        public final com.google.api.gax.httpjson.longrunning.OperationsClient getHttpJsonOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • createClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> createClusterAsync​(String projectId,
                                                                                                                               String region,
                                                                                                                               Cluster cluster)
        Creates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        cluster - Required. The cluster to create.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> createClusterAsync​(CreateClusterRequest request)
        Creates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<CreateClusterRequest,​Cluster,​ClusterOperationMetadata> createClusterOperationCallable()
        Creates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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<Cluster, ClusterOperationMetadata> future =
               clusterControllerClient.createClusterOperationCallable().futureCall(request);
           // Do something.
           Cluster response = future.get();
         }
         
      • createClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<CreateClusterRequest,​com.google.longrunning.Operation> createClusterCallable()
        Creates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • updateClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> updateClusterAsync​(String projectId,
                                                                                                                               String region,
                                                                                                                               String clusterName,
                                                                                                                               Cluster cluster,
                                                                                                                               com.google.protobuf.FieldMask updateMask)
        Updates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error is returned.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        projectId - Required. The ID of the Google Cloud Platform project the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        clusterName - Required. The cluster name.
        cluster - Required. The changes to the cluster.
        updateMask - 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>

        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updateClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> updateClusterAsync​(UpdateClusterRequest request)
        Updates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error is returned.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updateClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<UpdateClusterRequest,​Cluster,​ClusterOperationMetadata> updateClusterOperationCallable()
        Updates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error is returned.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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<Cluster, ClusterOperationMetadata> future =
               clusterControllerClient.updateClusterOperationCallable().futureCall(request);
           // Do something.
           Cluster response = future.get();
         }
         
      • updateClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<UpdateClusterRequest,​com.google.longrunning.Operation> updateClusterCallable()
        Updates a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error is returned.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • stopClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> stopClusterAsync​(StopClusterRequest request)
        Stops a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • stopClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<StopClusterRequest,​Cluster,​ClusterOperationMetadata> stopClusterOperationCallable()
        Stops a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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<Cluster, ClusterOperationMetadata> future =
               clusterControllerClient.stopClusterOperationCallable().futureCall(request);
           // Do something.
           Cluster response = future.get();
         }
         
      • stopClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<StopClusterRequest,​com.google.longrunning.Operation> stopClusterCallable()
        Stops a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • startClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<Cluster,​ClusterOperationMetadata> startClusterAsync​(StartClusterRequest request)
        Starts a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • startClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<StartClusterRequest,​Cluster,​ClusterOperationMetadata> startClusterOperationCallable()
        Starts a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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<Cluster, ClusterOperationMetadata> future =
               clusterControllerClient.startClusterOperationCallable().futureCall(request);
           // Do something.
           Cluster response = future.get();
         }
         
      • startClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<StartClusterRequest,​com.google.longrunning.Operation> startClusterCallable()
        Starts a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • deleteClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<com.google.protobuf.Empty,​ClusterOperationMetadata> deleteClusterAsync​(String projectId,
                                                                                                                                                 String region,
                                                                                                                                                 String clusterName)
        Deletes a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           String projectId = "projectId-894832108";
           String region = "region-934795532";
           String clusterName = "clusterName-1141738587";
           clusterControllerClient.deleteClusterAsync(projectId, region, clusterName).get();
         }
         
        Parameters:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        clusterName - Required. The cluster name.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deleteClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<com.google.protobuf.Empty,​ClusterOperationMetadata> deleteClusterAsync​(DeleteClusterRequest request)
        Deletes a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deleteClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<DeleteClusterRequest,​com.google.protobuf.Empty,​ClusterOperationMetadata> deleteClusterOperationCallable()
        Deletes a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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<Empty, ClusterOperationMetadata> future =
               clusterControllerClient.deleteClusterOperationCallable().futureCall(request);
           // Do something.
           future.get();
         }
         
      • deleteClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<DeleteClusterRequest,​com.google.longrunning.Operation> deleteClusterCallable()
        Deletes a cluster in a project. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • getCluster

        public final Cluster getCluster​(String projectId,
                                        String region,
                                        String clusterName)
        Gets the resource representation for a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        clusterName - Required. The cluster name.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getCluster

        public final Cluster getCluster​(GetClusterRequest request)
        Gets the resource representation for a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           GetClusterRequest request =
               GetClusterRequest.newBuilder()
                   .setProjectId("projectId-894832108")
                   .setRegion("region-934795532")
                   .setClusterName("clusterName-1141738587")
                   .build();
           Cluster response = clusterControllerClient.getCluster(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<GetClusterRequest,​Cluster> getClusterCallable()
        Gets the resource representation for a cluster in a project.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • listClusters

        public final ClusterControllerClient.ListClustersPagedResponse listClusters​(String projectId,
                                                                                    String region)
        Lists all regions/{region}/clusters in a project alphabetically.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           String projectId = "projectId-894832108";
           String region = "region-934795532";
           for (Cluster element : clusterControllerClient.listClusters(projectId, region).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listClusters

        public final ClusterControllerClient.ListClustersPagedResponse listClusters​(String projectId,
                                                                                    String region,
                                                                                    String filter)
        Lists all regions/{region}/clusters in a project alphabetically.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        filter - 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 = *

        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listClusters

        public final ClusterControllerClient.ListClustersPagedResponse listClusters​(ListClustersRequest request)
        Lists all regions/{region}/clusters in a project alphabetically.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listClustersPagedCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListClustersRequest,​ClusterControllerClient.ListClustersPagedResponse> listClustersPagedCallable()
        Lists all regions/{region}/clusters in a project alphabetically.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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);
           }
         }
         
      • listClustersCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListClustersRequest,​ListClustersResponse> listClustersCallable()
        Lists all regions/{region}/clusters in a project alphabetically.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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.getClustersList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • diagnoseClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<DiagnoseClusterResults,​ClusterOperationMetadata> diagnoseClusterAsync​(String projectId,
                                                                                                                                                String region,
                                                                                                                                                String clusterName)
        Gets cluster diagnostic information. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, [Operation.response][google.longrunning.Operation.response] contains [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.
        region - Required. The Dataproc region in which to handle the request.
        clusterName - Required. The cluster name.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • diagnoseClusterAsync

        public final com.google.api.gax.longrunning.OperationFuture<DiagnoseClusterResults,​ClusterOperationMetadata> diagnoseClusterAsync​(DiagnoseClusterRequest request)
        Gets cluster diagnostic information. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, [Operation.response][google.longrunning.Operation.response] contains [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • diagnoseClusterOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<DiagnoseClusterRequest,​DiagnoseClusterResults,​ClusterOperationMetadata> diagnoseClusterOperationCallable()
        Gets cluster diagnostic information. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, [Operation.response][google.longrunning.Operation.response] contains [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           DiagnoseClusterRequest request =
               DiagnoseClusterRequest.newBuilder()
                   .setProjectId("projectId-894832108")
                   .setRegion("region-934795532")
                   .setClusterName("clusterName-1141738587")
                   .build();
           OperationFuture<DiagnoseClusterResults, ClusterOperationMetadata> future =
               clusterControllerClient.diagnoseClusterOperationCallable().futureCall(request);
           // Do something.
           DiagnoseClusterResults response = future.get();
         }
         
      • diagnoseClusterCallable

        public final com.google.api.gax.rpc.UnaryCallable<DiagnoseClusterRequest,​com.google.longrunning.Operation> diagnoseClusterCallable()
        Gets cluster diagnostic information. The returned [Operation.metadata][google.longrunning.Operation.metadata] will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, [Operation.response][google.longrunning.Operation.response] contains [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • setIamPolicy

        public final com.google.iam.v1.Policy setIamPolicy​(com.google.iam.v1.SetIamPolicyRequest request)
        Sets the access control policy on the specified resource. Replacesany existing policy.

        Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`errors.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           SetIamPolicyRequest request =
               SetIamPolicyRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .setPolicy(Policy.newBuilder().build())
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .build();
           Policy response = clusterControllerClient.setIamPolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • setIamPolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,​com.google.iam.v1.Policy> setIamPolicyCallable()
        Sets the access control policy on the specified resource. Replacesany existing policy.

        Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`errors.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           SetIamPolicyRequest request =
               SetIamPolicyRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .setPolicy(Policy.newBuilder().build())
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .build();
           ApiFuture<Policy> future = clusterControllerClient.setIamPolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • getIamPolicy

        public final com.google.iam.v1.Policy getIamPolicy​(com.google.iam.v1.GetIamPolicyRequest request)
        Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           GetIamPolicyRequest request =
               GetIamPolicyRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .setOptions(GetPolicyOptions.newBuilder().build())
                   .build();
           Policy response = clusterControllerClient.getIamPolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getIamPolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,​com.google.iam.v1.Policy> getIamPolicyCallable()
        Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           GetIamPolicyRequest request =
               GetIamPolicyRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .setOptions(GetPolicyOptions.newBuilder().build())
                   .build();
           ApiFuture<Policy> future = clusterControllerClient.getIamPolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • testIamPermissions

        public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions​(com.google.iam.v1.TestIamPermissionsRequest request)
        Returns permissions that a caller has on the specified resource. If theresource does not exist, this will return an empty set ofpermissions, not a `NOT_FOUND` error.

        Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           TestIamPermissionsRequest request =
               TestIamPermissionsRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .addAllPermissions(new ArrayList<String>())
                   .build();
           TestIamPermissionsResponse response = clusterControllerClient.testIamPermissions(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • testIamPermissionsCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,​com.google.iam.v1.TestIamPermissionsResponse> testIamPermissionsCallable()
        Returns permissions that a caller has on the specified resource. If theresource does not exist, this will return an empty set ofpermissions, not a `NOT_FOUND` error.

        Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create()) {
           TestIamPermissionsRequest request =
               TestIamPermissionsRequest.newBuilder()
                   .setResource(
                       AutoscalingPolicyName.ofProjectRegionAutoscalingPolicyName(
                               "[PROJECT]", "[REGION]", "[AUTOSCALING_POLICY]")
                           .toString())
                   .addAllPermissions(new ArrayList<String>())
                   .build();
           ApiFuture<TestIamPermissionsResponse> future =
               clusterControllerClient.testIamPermissionsCallable().futureCall(request);
           // Do something.
           TestIamPermissionsResponse response = future.get();
         }
         
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface com.google.api.gax.core.BackgroundResource
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface com.google.api.gax.core.BackgroundResource
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface com.google.api.gax.core.BackgroundResource
      • shutdownNow

        public void shutdownNow()
        Specified by:
        shutdownNow in interface com.google.api.gax.core.BackgroundResource