Create a replicated cluster

Create a replicated cluster in the current project.

Code sample

C++

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

namespace cbt = ::google::cloud::bigtable;
using ::google::cloud::future;
using ::google::cloud::StatusOr;
[](cbt::InstanceAdmin instance_admin, std::string const& instance_id,
   std::string const& zone_a, std::string const& zone_b) {
  std::string display_name("Put description here");
  auto c1 = instance_id + "-c1";
  auto c2 = instance_id + "-c2";
  cbt::InstanceConfig config(
      instance_id, display_name,
      {{c1, cbt::ClusterConfig(zone_a, 3, cbt::ClusterConfig::HDD)},
       {c2, cbt::ClusterConfig(zone_b, 3, cbt::ClusterConfig::HDD)}});
  config.set_type(cbt::InstanceConfig::PRODUCTION);

  future<StatusOr<google::bigtable::admin::v2::Instance>> instance_future =
      instance_admin.CreateInstance(config);
  // Show how to perform additional work while the long running operation
  // completes. The application could use future.then() instead.
  std::cout << "Waiting for instance creation to complete " << std::flush;
  instance_future.wait_for(std::chrono::seconds(1));
  std::cout << '.' << std::flush;
  auto instance = instance_future.get();
  if (!instance) throw std::runtime_error(instance.status().message());
  std::cout << "DONE, details=" << instance->DebugString() << "\n";
}

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.