@BetaApi(
      "The surface for long-running operations is not stable yet and may change in the future.")
  public final OperationFuture<Table, CreateTableFromSnapshotMetadata> createTableFromSnapshotAsync(
      CreateTableFromSnapshotRequest request) {
    return createTableFromSnapshotOperationCallable().futureCall(request);
  }
@ BetaApi ( "The surface for long-running operations is not stable yet and may change in the future." ) public final OperationFuture < Table , CreateTableFromSnapshotMetadata > createTableFromSnapshotAsync ( CreateTableFromSnapshotRequest request ) { return createTableFromSnapshotOperationCallable ( ) . futureCall ( request ) ; }
Creates a new table from the specified snapshot. The target table must not exist. The snapshot
and the table must be in the same instance.

<p>Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not
currently available to most Cloud Bigtable customers. This feature might be changed in
backward-incompatible ways and is not recommended for production use. It is not subject to any
SLA or deprecation policy.

<p>Sample code:

<pre><code>
try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
String tableId = "";
SnapshotName sourceSnapshot = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
CreateTableFromSnapshotRequest request = CreateTableFromSnapshotRequest.newBuilder()
.setParent(parent.toString())
.setTableId(tableId)
.setSourceSnapshot(sourceSnapshot.toString())
.build();
Table response = baseBigtableTableAdminClient.createTableFromSnapshotAsync(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