code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<Cluster, CreateClusterMetadata> createClusterAsync(
        CreateClusterRequest request) {
      return createClusterOperationCallable().futureCall(request);
    }
docs: Creates a cluster within an instance.
  
  <p>Sample code:
  
  <pre><code>
  try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
  InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
  String clusterId = "";
  Cluster cluster = Cluster.newBuilder().build();
  CreateClusterRequest request = CreateClusterRequest.newBuilder()
  .setParent(parent.toString())
  .setClusterId(clusterId)
  .setCluster(cluster)
  .build();
  Cluster response = baseBigtableInstanceAdminClient.createClusterAsync(request).get();
  }
  </code></pre>
  
  @param 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