Skip to content

Commit 3702697

Browse files
authored
impl(bigtable): make endpoint options internal (googleapis#15856)
* impl(bigtable): make endpoint options internal
1 parent 5cd5046 commit 3702697

7 files changed

Lines changed: 259 additions & 116 deletions

File tree

doc/v3-migration-guide.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,28 @@ auto limit = google::cloud::bigtable::RowReader::NO_ROWS_LIMIT;
247247

248248
</details>
249249

250+
<details>
251+
<summary>Removed Endpoint Options
252+
</summary>
253+
254+
The `bigtable::DataEndpointOption`, `bigtable::AdminEndpointOption`, and
255+
`bigtable::InstanceAdminEndpointOption` classes have been removed. Applications
256+
should use `google::cloud::EndpointOption` instead.
257+
258+
**Before:**
259+
260+
```cpp
261+
auto options = google::cloud::Options{}.set<google::cloud::bigtable::DataEndpointOption>("...");
262+
```
263+
264+
**After:**
265+
266+
```cpp
267+
auto options = google::cloud::Options{}.set<google::cloud::EndpointOption>("...");
268+
```
269+
270+
</details>
271+
250272
<details>
251273
<summary>Removed <code>bigtable::DataClient</code> and related functions</summary>
252274

google/cloud/bigtable/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ add_library(
188188
internal/default_row_reader.h
189189
internal/defaults.cc
190190
internal/defaults.h
191+
internal/endpoint_options.h
191192
internal/google_bytes_traits.cc
192193
internal/google_bytes_traits.h
193194
internal/logging_result_set_reader.cc

google/cloud/bigtable/google_cloud_cpp_bigtable.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ google_cloud_cpp_bigtable_hdrs = [
9292
"internal/data_tracing_connection.h",
9393
"internal/default_row_reader.h",
9494
"internal/defaults.h",
95+
"internal/endpoint_options.h",
9596
"internal/google_bytes_traits.h",
9697
"internal/logging_result_set_reader.h",
9798
"internal/metrics.h",

google/cloud/bigtable/internal/defaults.cc

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -126,20 +126,24 @@ int DefaultConnectionPoolSize() {
126126
}
127127

128128
Options HandleUniverseDomain(Options opts) {
129-
if (!opts.has<DataEndpointOption>()) {
129+
if (!opts.has<::google::cloud::bigtable_internal::DataEndpointOption>()) {
130130
auto ep = google::cloud::internal::UniverseDomainEndpoint(
131131
"bigtable.googleapis.com", opts);
132-
opts.set<DataEndpointOption>(std::move(ep));
132+
opts.set<::google::cloud::bigtable_internal::DataEndpointOption>(
133+
std::move(ep));
133134
}
134-
if (!opts.has<AdminEndpointOption>()) {
135+
if (!opts.has<::google::cloud::bigtable_internal::AdminEndpointOption>()) {
135136
auto ep = google::cloud::internal::UniverseDomainEndpoint(
136137
"bigtableadmin.googleapis.com", opts);
137-
opts.set<AdminEndpointOption>(std::move(ep));
138+
opts.set<::google::cloud::bigtable_internal::AdminEndpointOption>(
139+
std::move(ep));
138140
}
139-
if (!opts.has<InstanceAdminEndpointOption>()) {
141+
if (!opts.has<
142+
::google::cloud::bigtable_internal::InstanceAdminEndpointOption>()) {
140143
auto ep = google::cloud::internal::UniverseDomainEndpoint(
141144
"bigtableadmin.googleapis.com", opts);
142-
opts.set<InstanceAdminEndpointOption>(std::move(ep));
145+
opts.set<::google::cloud::bigtable_internal::InstanceAdminEndpointOption>(
146+
std::move(ep));
143147
}
144148
return opts;
145149
}
@@ -153,22 +157,24 @@ Options DefaultOptions(Options opts) {
153157

154158
if (opts.has<EndpointOption>()) {
155159
auto const& ep = opts.get<EndpointOption>();
156-
if (!opts.has<DataEndpointOption>()) {
157-
opts.set<DataEndpointOption>(ep);
160+
if (!opts.has<::google::cloud::bigtable_internal::DataEndpointOption>()) {
161+
opts.set<::google::cloud::bigtable_internal::DataEndpointOption>(ep);
158162
}
159-
if (!opts.has<AdminEndpointOption>()) {
160-
opts.set<AdminEndpointOption>(ep);
163+
if (!opts.has<::google::cloud::bigtable_internal::AdminEndpointOption>()) {
164+
opts.set<::google::cloud::bigtable_internal::AdminEndpointOption>(ep);
161165
}
162-
if (!opts.has<InstanceAdminEndpointOption>()) {
163-
opts.set<InstanceAdminEndpointOption>(ep);
166+
if (!opts.has<::google::cloud::bigtable_internal::
167+
InstanceAdminEndpointOption>()) {
168+
opts.set<::google::cloud::bigtable_internal::InstanceAdminEndpointOption>(
169+
ep);
164170
}
165171
}
166172

167173
auto const direct_path =
168174
GetEnv("GOOGLE_CLOUD_ENABLE_DIRECT_PATH").value_or("");
169175
if (absl::c_any_of(absl::StrSplit(direct_path, ','),
170176
[](absl::string_view v) { return v == "bigtable"; })) {
171-
opts.set<DataEndpointOption>(
177+
opts.set<::google::cloud::bigtable_internal::DataEndpointOption>(
172178
"google-c2p:///directpath-bigtable.googleapis.com")
173179
.set<AuthorityOption>("directpath-bigtable.googleapis.com");
174180

@@ -180,15 +186,18 @@ Options DefaultOptions(Options opts) {
180186

181187
auto emulator = GetEnv("BIGTABLE_EMULATOR_HOST");
182188
if (emulator) {
183-
opts.set<DataEndpointOption>(*emulator);
184-
opts.set<AdminEndpointOption>(*emulator);
185-
opts.set<InstanceAdminEndpointOption>(*emulator);
189+
opts.set<::google::cloud::bigtable_internal::DataEndpointOption>(*emulator);
190+
opts.set<::google::cloud::bigtable_internal::AdminEndpointOption>(
191+
*emulator);
192+
opts.set<::google::cloud::bigtable_internal::InstanceAdminEndpointOption>(
193+
*emulator);
186194
}
187195

188196
auto instance_admin_emulator =
189197
GetEnv("BIGTABLE_INSTANCE_ADMIN_EMULATOR_HOST");
190198
if (instance_admin_emulator) {
191-
opts.set<InstanceAdminEndpointOption>(*std::move(instance_admin_emulator));
199+
opts.set<::google::cloud::bigtable_internal::InstanceAdminEndpointOption>(
200+
*std::move(instance_admin_emulator));
192201
}
193202

194203
// Handle `UniverseDomainOption`. Note that we have already addressed the
@@ -285,17 +294,21 @@ Options DefaultDataOptions(Options opts) {
285294
"bigtable.googleapis.com", opts);
286295
opts.set<AuthorityOption>(std::move(ep));
287296
}
288-
return opts.set<EndpointOption>(opts.get<DataEndpointOption>());
297+
return opts.set<EndpointOption>(
298+
opts.get<::google::cloud::bigtable_internal::DataEndpointOption>());
289299
}
290300

291301
Options DefaultInstanceAdminOptions(Options opts) {
292302
opts = DefaultOptions(std::move(opts));
293-
return opts.set<EndpointOption>(opts.get<InstanceAdminEndpointOption>());
303+
return opts.set<EndpointOption>(
304+
opts.get<
305+
::google::cloud::bigtable_internal::InstanceAdminEndpointOption>());
294306
}
295307

296308
Options DefaultTableAdminOptions(Options opts) {
297309
opts = DefaultOptions(std::move(opts));
298-
return opts.set<EndpointOption>(opts.get<AdminEndpointOption>());
310+
return opts.set<EndpointOption>(
311+
opts.get<::google::cloud::bigtable_internal::AdminEndpointOption>());
299312
}
300313

301314
} // namespace internal

0 commit comments

Comments
 (0)