15#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_CLUSTER_CONFIG_H
16#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_CLUSTER_CONFIG_H
18#include "google/cloud/bigtable/version.h"
19#include <google/bigtable/admin/v2/bigtable_instance_admin.pb.h>
25GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
30 using StorageType = ::
google::bigtable::admin::v2::StorageType;
33 google::bigtable::admin::v2::STORAGE_TYPE_UNSPECIFIED;
35 constexpr static StorageType
SSD =
google::bigtable::admin::v2::SSD;
37 constexpr static StorageType
HDD =
google::bigtable::admin::v2::HDD;
41 : proto_(std::move(cluster)) {}
44 StorageType storage) {
45 proto_.set_location(std::move(location));
46 proto_.set_serve_nodes(serve_nodes);
47 proto_.set_default_storage_type(storage);
51 google::bigtable::admin::v2::Cluster::EncryptionConfig encryption) & {
52 *proto_.mutable_encryption_config() = std::move(encryption);
56 google::bigtable::admin::v2::Cluster::EncryptionConfig encryption) && {
60 std::string
const&
GetName() {
return proto_.name(); }
67 return std::move(proto_);
71 google::bigtable::admin::v2::Cluster proto_;
74GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
Specify the initial configuration for a new cluster.
Definition: cluster_config.h:28
static constexpr StorageType HDD
Definition: cluster_config.h:37
static constexpr StorageType SSD
Definition: cluster_config.h:35
ClusterConfig(std::string location, std::int32_t serve_nodes, StorageType storage)
Definition: cluster_config.h:43
std::string const & GetName()
Definition: cluster_config.h:60
static constexpr StorageType STORAGE_TYPE_UNSPECIFIED
Definition: cluster_config.h:32
ClusterConfig & SetEncryptionConfig(google::bigtable::admin::v2::Cluster::EncryptionConfig encryption) &
Definition: cluster_config.h:50
ClusterConfig && SetEncryptionConfig(google::bigtable::admin::v2::Cluster::EncryptionConfig encryption) &&
Definition: cluster_config.h:55
ClusterConfig(google::bigtable::admin::v2::Cluster cluster)
Definition: cluster_config.h:40
google::bigtable::admin::v2::Cluster && as_proto() &&
Definition: cluster_config.h:66
google::bigtable::admin::v2::Cluster const & as_proto() const &
Definition: cluster_config.h:62
Contains all the Cloud Bigtable C++ client APIs.
Definition: admin_client.h:28