15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_INSTANCE_CONFIG_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_INSTANCE_CONFIG_H
18 #include "google/cloud/bigtable/cluster_config.h"
19 #include "google/cloud/bigtable/version.h"
20 #include <google/bigtable/admin/v2/bigtable_instance_admin.pb.h>
21 #include <google/bigtable/admin/v2/common.pb.h>
34 proto_.set_instance_id(std::move(instance_id));
35 proto_.mutable_instance()->set_display_name(std::move(display_name));
36 for (
auto& kv : clusters) {
37 (*proto_.mutable_clusters())[kv.first] = std::move(kv.second)
.as_proto();
42 using InstanceType = ::
google::bigtable::admin::v2::Instance::Type;
45 google::bigtable::admin::v2::Instance::TYPE_UNSPECIFIED;
48 google::bigtable::admin::v2::Instance::PRODUCTION;
51 google::bigtable::admin::v2::Instance::DEVELOPMENT;
55 proto_.mutable_instance()->set_type(type);
60 std::string
const& value) {
61 (*proto_.mutable_instance()->mutable_labels())[key] = value;
66 (*proto_.mutable_instance()->mutable_labels())[key] = std::move(value);
71 google::bigtable::admin::v2::CreateInstanceRequest
const&
as_proto()
const& {
77 return std::move(proto_);
81 google::bigtable::admin::v2::CreateInstanceRequest proto_;