15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_UPDATE_INSTANCE_REQUEST_BUILDER_H 16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_UPDATE_INSTANCE_REQUEST_BUILDER_H 20 #include <google/protobuf/util/field_mask_util.h> 21 #include <google/spanner/admin/instance/v1/spanner_instance_admin.pb.h> 55 request_.mutable_instance()->set_name(std::move(instance_name));
58 request_.mutable_instance()->set_name(in.
FullName());
67 google::spanner::admin::instance::v1::Instance in) {
68 *request_.mutable_instance() = std::move(in);
72 request_.mutable_instance()->set_name(std::move(name));
76 request_.mutable_instance()->set_name(std::move(name));
77 return std::move(*
this);
80 SetDisplayNameImpl(std::move(display_name));
84 SetDisplayNameImpl(std::move(display_name));
85 return std::move(*
this);
88 SetNodeCountImpl(node_count);
92 SetNodeCountImpl(node_count);
93 return std::move(*
this);
96 std::map<std::string, std::string>
const& labels) & {
97 AddLabelsImpl(labels);
101 std::map<std::string, std::string>
const& labels) && {
102 AddLabelsImpl(labels);
103 return std::move(*
this);
106 std::map<std::string, std::string>
const& labels) & {
107 request_.mutable_instance()->clear_labels();
108 AddLabelsImpl(labels);
112 std::map<std::string, std::string>
const& labels) && {
113 request_.mutable_instance()->clear_labels();
114 AddLabelsImpl(labels);
115 return std::move(*
this);
117 google::spanner::admin::instance::v1::UpdateInstanceRequest&
Build() & {
120 google::spanner::admin::instance::v1::UpdateInstanceRequest&&
Build() && {
121 return std::move(request_);
125 google::spanner::admin::instance::v1::UpdateInstanceRequest request_;
126 void SetDisplayNameImpl(std::string display_name) {
127 if (!google::protobuf::util::FieldMaskUtil::IsPathInFieldMask(
128 "display_name", request_.field_mask())) {
129 request_.mutable_field_mask()->add_paths(
"display_name");
131 request_.mutable_instance()->set_display_name(std::move(display_name));
133 void SetNodeCountImpl(
int node_count) {
134 if (!google::protobuf::util::FieldMaskUtil::IsPathInFieldMask(
135 "node_count", request_.field_mask())) {
136 request_.mutable_field_mask()->add_paths(
"node_count");
138 request_.mutable_instance()->set_node_count(node_count);
140 void AddLabelsImpl(std::map<std::string, std::string>
const& labels) {
141 if (!google::protobuf::util::FieldMaskUtil::IsPathInFieldMask(
142 "labels", request_.field_mask())) {
143 request_.mutable_field_mask()->add_paths(
"labels");
145 for (
auto const& pair : labels) {
146 request_.mutable_instance()->mutable_labels()->insert(
147 {pair.first, pair.second});
157 #endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_UPDATE_INSTANCE_REQUEST_BUILDER_H google::spanner::admin::instance::v1::UpdateInstanceRequest && Build() &&
UpdateInstanceRequestBuilder && SetNodeCount(int node_count) &&
UpdateInstanceRequestBuilder & SetLabels(std::map< std::string, std::string > const &labels) &
UpdateInstanceRequestBuilder is a builder class for google::spanner::admin::instance::v1::UpdateInsta...
This class identifies a Cloud Spanner Instance.
UpdateInstanceRequestBuilder && SetLabels(std::map< std::string, std::string > const &labels) &&
UpdateInstanceRequestBuilder & SetName(std::string name) &
UpdateInstanceRequestBuilder & SetDisplayName(std::string display_name) &
UpdateInstanceRequestBuilder(Instance const &in)
Contains all the Cloud Spanner C++ client types and functions.
UpdateInstanceRequestBuilder && SetDisplayName(std::string display_name) &&
UpdateInstanceRequestBuilder && SetName(std::string name) &&
UpdateInstanceRequestBuilder && AddLabels(std::map< std::string, std::string > const &labels) &&
#define SPANNER_CLIENT_NS
UpdateInstanceRequestBuilder & SetNodeCount(int node_count) &
std::string FullName() const
Returns the fully qualified instance name as a string of the form: "projects/<project-id>/instances/<...
UpdateInstanceRequestBuilder(std::string instance_name)
UpdateInstanceRequestBuilder(google::spanner::admin::instance::v1::Instance in)
Constructs UpdateInstanceRequestBuilder with google::spanner::admin::instance::v1::Instance.
google::spanner::admin::instance::v1::UpdateInstanceRequest & Build() &
UpdateInstanceRequestBuilder & AddLabels(std::map< std::string, std::string > const &labels) &