Google Cloud Bigtable C++ Client 2.13.0
A C++ Client Library for Google Cloud Bigtable
Loading...
Searching...
No Matches
bigtable_table_admin_client.h
1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Generated by the Codegen C++ plugin.
16// If you make any local changes, they will be lost.
17// source: google/bigtable/admin/v2/bigtable_table_admin.proto
18
19#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ADMIN_BIGTABLE_TABLE_ADMIN_CLIENT_H
20#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ADMIN_BIGTABLE_TABLE_ADMIN_CLIENT_H
21
22#include "google/cloud/bigtable/admin/bigtable_table_admin_connection.h"
23#include "google/cloud/future.h"
24#include "google/cloud/iam_updater.h"
25#include "google/cloud/options.h"
26#include "google/cloud/polling_policy.h"
27#include "google/cloud/status_or.h"
28#include "google/cloud/version.h"
29#include <google/longrunning/operations.grpc.pb.h>
30#include <map>
31#include <memory>
32
33namespace google {
34namespace cloud {
35namespace bigtable_admin {
36GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
37
38///
39/// Service for creating, configuring, and deleting Cloud Bigtable tables.
40///
41///
42/// Provides access to the table schemas only, not the data stored within
43/// the tables.
44///
45/// @par Equality
46///
47/// Instances of this class created via copy-construction or copy-assignment
48/// always compare equal. Instances created with equal
49/// `std::shared_ptr<*Connection>` objects compare equal. Objects that compare
50/// equal share the same underlying resources.
51///
52/// @par Performance
53///
54/// Creating a new instance of this class is a relatively expensive operation,
55/// new objects establish new connections to the service. In contrast,
56/// copy-construction, move-construction, and the corresponding assignment
57/// operations are relatively efficient as the copies share all underlying
58/// resources.
59///
60/// @par Thread Safety
61///
62/// Concurrent access to different instances of this class, even if they compare
63/// equal, is guaranteed to work. Two or more threads operating on the same
64/// instance of this class is not guaranteed to work. Since copy-construction
65/// and move-construction is a relatively efficient operation, consider using
66/// such a copy when using this class from multiple threads.
67///
69 public:
71 std::shared_ptr<BigtableTableAdminConnection> connection,
72 Options opts = {});
74
75 ///@{
76 /// @name Copy and move support
79 default;
82 ///@}
83
84 ///@{
85 /// @name Equality
86 friend bool operator==(BigtableTableAdminClient const& a,
87 BigtableTableAdminClient const& b) {
88 return a.connection_ == b.connection_;
89 }
90 friend bool operator!=(BigtableTableAdminClient const& a,
91 BigtableTableAdminClient const& b) {
92 return !(a == b);
93 }
94 ///@}
95
96 // clang-format off
97 ///
98 /// Creates a new table in the specified instance.
99 /// The table can be created with a full set of initial column families,
100 /// specified in the request.
101 ///
102 /// @param parent Required. The unique name of the instance in which to create the table.
103 /// Values are of the form `projects/{project}/instances/{instance}`.
104 /// @param table_id Required. The name by which the new table should be referred to within the parent
105 /// instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
106 /// Maximum 50 characters.
107 /// @param table Required. The Table to create.
108 /// @param opts Optional. Override the class-level options, such as retry and
109 /// backoff policies.
110 /// @return the result of the RPC. The response message type
111 /// ([google.bigtable.admin.v2.Table])
112 /// is mapped to a C++ class using the [Protobuf mapping rules].
113 /// If the request fails, the [`StatusOr`] contains the error details.
114 ///
115 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
116 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
117 /// [Long Running Operation]: https://google.aip.dev/151
118 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
119 /// [`future`]: @ref google::cloud::future
120 /// [`StatusOr`]: @ref google::cloud::StatusOr
121 /// [`Status`]: @ref google::cloud::Status
122 /// [google.bigtable.admin.v2.CreateTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L434}
123 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
124 ///
125 // clang-format on
126 StatusOr<google::bigtable::admin::v2::Table> CreateTable(
127 std::string const& parent, std::string const& table_id,
128 google::bigtable::admin::v2::Table const& table, Options opts = {});
129
130 // clang-format off
131 ///
132 /// Creates a new table in the specified instance.
133 /// The table can be created with a full set of initial column families,
134 /// specified in the request.
135 ///
136 /// @param request Unary RPCs, such as the one wrapped by this
137 /// function, receive a single `request` proto message which includes all
138 /// the inputs for the RPC. In this case, the proto message is a
139 /// [google.bigtable.admin.v2.CreateTableRequest].
140 /// Proto messages are converted to C++ classes by Protobuf, using the
141 /// [Protobuf mapping rules].
142 /// @param opts Optional. Override the class-level options, such as retry and
143 /// backoff policies.
144 /// @return the result of the RPC. The response message type
145 /// ([google.bigtable.admin.v2.Table])
146 /// is mapped to a C++ class using the [Protobuf mapping rules].
147 /// If the request fails, the [`StatusOr`] contains the error details.
148 ///
149 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
150 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
151 /// [Long Running Operation]: https://google.aip.dev/151
152 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
153 /// [`future`]: @ref google::cloud::future
154 /// [`StatusOr`]: @ref google::cloud::StatusOr
155 /// [`Status`]: @ref google::cloud::Status
156 /// [google.bigtable.admin.v2.CreateTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L434}
157 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
158 ///
159 // clang-format on
160 StatusOr<google::bigtable::admin::v2::Table> CreateTable(
161 google::bigtable::admin::v2::CreateTableRequest const& request,
162 Options opts = {});
163
164 // clang-format off
165 ///
166 /// Lists all tables served from a specified instance.
167 ///
168 /// @param parent Required. The unique name of the instance for which tables should be listed.
169 /// Values are of the form `projects/{project}/instances/{instance}`.
170 /// @param opts Optional. Override the class-level options, such as retry and
171 /// backoff policies.
172 /// @return a [StreamRange](@ref google::cloud::StreamRange)
173 /// to iterate of the results. See the documentation of this type for
174 /// details. In brief, this class has `begin()` and `end()` member
175 /// functions returning a iterator class meeting the
176 /// [input iterator requirements]. The value type for this iterator is a
177 /// [`StatusOr`] as the iteration may fail even after some values are
178 /// retrieved successfully, for example, if there is a network disconnect.
179 /// An empty set of results does not indicate an error, it indicates
180 /// that there are no resources meeting the request criteria.
181 /// On a successful iteration the `StatusOr<T>` contains elements of type
182 /// [google.bigtable.admin.v2.Table], or rather,
183 /// the C++ class generated by Protobuf from that type. Please consult the
184 /// Protobuf documentation for details on the [Protobuf mapping rules].
185 ///
186 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
187 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
188 /// [Long Running Operation]: https://google.aip.dev/151
189 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
190 /// [`future`]: @ref google::cloud::future
191 /// [`StatusOr`]: @ref google::cloud::StatusOr
192 /// [`Status`]: @ref google::cloud::Status
193 /// [google.bigtable.admin.v2.ListTablesRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L536}
194 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
195 ///
196 // clang-format on
197 StreamRange<google::bigtable::admin::v2::Table> ListTables(
198 std::string const& parent, Options opts = {});
199
200 // clang-format off
201 ///
202 /// Lists all tables served from a specified instance.
203 ///
204 /// @param request Unary RPCs, such as the one wrapped by this
205 /// function, receive a single `request` proto message which includes all
206 /// the inputs for the RPC. In this case, the proto message is a
207 /// [google.bigtable.admin.v2.ListTablesRequest].
208 /// Proto messages are converted to C++ classes by Protobuf, using the
209 /// [Protobuf mapping rules].
210 /// @param opts Optional. Override the class-level options, such as retry and
211 /// backoff policies.
212 /// @return a [StreamRange](@ref google::cloud::StreamRange)
213 /// to iterate of the results. See the documentation of this type for
214 /// details. In brief, this class has `begin()` and `end()` member
215 /// functions returning a iterator class meeting the
216 /// [input iterator requirements]. The value type for this iterator is a
217 /// [`StatusOr`] as the iteration may fail even after some values are
218 /// retrieved successfully, for example, if there is a network disconnect.
219 /// An empty set of results does not indicate an error, it indicates
220 /// that there are no resources meeting the request criteria.
221 /// On a successful iteration the `StatusOr<T>` contains elements of type
222 /// [google.bigtable.admin.v2.Table], or rather,
223 /// the C++ class generated by Protobuf from that type. Please consult the
224 /// Protobuf documentation for details on the [Protobuf mapping rules].
225 ///
226 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
227 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
228 /// [Long Running Operation]: https://google.aip.dev/151
229 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
230 /// [`future`]: @ref google::cloud::future
231 /// [`StatusOr`]: @ref google::cloud::StatusOr
232 /// [`Status`]: @ref google::cloud::Status
233 /// [google.bigtable.admin.v2.ListTablesRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L536}
234 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
235 ///
236 // clang-format on
237 StreamRange<google::bigtable::admin::v2::Table> ListTables(
238 google::bigtable::admin::v2::ListTablesRequest request,
239 Options opts = {});
240
241 // clang-format off
242 ///
243 /// Gets metadata information about the specified table.
244 ///
245 /// @param name Required. The unique name of the requested table.
246 /// Values are of the form
247 /// `projects/{project}/instances/{instance}/tables/{table}`.
248 /// @param opts Optional. Override the class-level options, such as retry and
249 /// backoff policies.
250 /// @return the result of the RPC. The response message type
251 /// ([google.bigtable.admin.v2.Table])
252 /// is mapped to a C++ class using the [Protobuf mapping rules].
253 /// If the request fails, the [`StatusOr`] contains the error details.
254 ///
255 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
256 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
257 /// [Long Running Operation]: https://google.aip.dev/151
258 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
259 /// [`future`]: @ref google::cloud::future
260 /// [`StatusOr`]: @ref google::cloud::StatusOr
261 /// [`Status`]: @ref google::cloud::Status
262 /// [google.bigtable.admin.v2.GetTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L579}
263 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
264 ///
265 // clang-format on
266 StatusOr<google::bigtable::admin::v2::Table> GetTable(std::string const& name,
267 Options opts = {});
268
269 // clang-format off
270 ///
271 /// Gets metadata information about the specified table.
272 ///
273 /// @param request Unary RPCs, such as the one wrapped by this
274 /// function, receive a single `request` proto message which includes all
275 /// the inputs for the RPC. In this case, the proto message is a
276 /// [google.bigtable.admin.v2.GetTableRequest].
277 /// Proto messages are converted to C++ classes by Protobuf, using the
278 /// [Protobuf mapping rules].
279 /// @param opts Optional. Override the class-level options, such as retry and
280 /// backoff policies.
281 /// @return the result of the RPC. The response message type
282 /// ([google.bigtable.admin.v2.Table])
283 /// is mapped to a C++ class using the [Protobuf mapping rules].
284 /// If the request fails, the [`StatusOr`] contains the error details.
285 ///
286 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
287 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
288 /// [Long Running Operation]: https://google.aip.dev/151
289 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
290 /// [`future`]: @ref google::cloud::future
291 /// [`StatusOr`]: @ref google::cloud::StatusOr
292 /// [`Status`]: @ref google::cloud::Status
293 /// [google.bigtable.admin.v2.GetTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L579}
294 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
295 ///
296 // clang-format on
297 StatusOr<google::bigtable::admin::v2::Table> GetTable(
298 google::bigtable::admin::v2::GetTableRequest const& request,
299 Options opts = {});
300
301 // clang-format off
302 ///
303 /// Updates a specified table.
304 ///
305 /// @param table Required. The table to update.
306 /// The table's `name` field is used to identify the table to update.
307 /// @param update_mask Required. The list of fields to update.
308 /// A mask specifying which fields (e.g. `change_stream_config`) in the `table`
309 /// field should be updated. This mask is relative to the `table` field, not to
310 /// the request message. The wildcard (*) path is currently not supported.
311 /// Currently UpdateTable is only supported for the following fields:
312 /// @n
313 /// * `change_stream_config`
314 /// * `change_stream_config.retention_period`
315 /// * `deletion_protection`
316 /// @n
317 /// If `column_families` is set in `update_mask`, it will return an
318 /// UNIMPLEMENTED error.
319 /// @param opts Optional. Override the class-level options, such as retry and
320 /// backoff policies.
321 /// @return A [`future`] that becomes satisfied when the LRO
322 /// ([Long Running Operation]) completes or the polling policy in effect
323 /// for this call is exhausted. The future is satisfied with an error if
324 /// the LRO completes with an error or the polling policy is exhausted.
325 /// In this case the [`StatusOr`] returned by the future contains the
326 /// error. If the LRO completes successfully the value of the future
327 /// contains the LRO's result. For this RPC the result is a
328 /// [google.bigtable.admin.v2.Table] proto message.
329 /// The C++ class representing this message is created by Protobuf, using
330 /// the [Protobuf mapping rules].
331 ///
332 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
333 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
334 /// [Long Running Operation]: https://google.aip.dev/151
335 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
336 /// [`future`]: @ref google::cloud::future
337 /// [`StatusOr`]: @ref google::cloud::StatusOr
338 /// [`Status`]: @ref google::cloud::Status
339 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
340 /// [google.bigtable.admin.v2.UpdateTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L597}
341 ///
342 // clang-format on
343 future<StatusOr<google::bigtable::admin::v2::Table>> UpdateTable(
344 google::bigtable::admin::v2::Table const& table,
345 google::protobuf::FieldMask const& update_mask, Options opts = {});
346
347 // clang-format off
348 ///
349 /// Updates a specified table.
350 ///
351 /// @param request Unary RPCs, such as the one wrapped by this
352 /// function, receive a single `request` proto message which includes all
353 /// the inputs for the RPC. In this case, the proto message is a
354 /// [google.bigtable.admin.v2.UpdateTableRequest].
355 /// Proto messages are converted to C++ classes by Protobuf, using the
356 /// [Protobuf mapping rules].
357 /// @param opts Optional. Override the class-level options, such as retry and
358 /// backoff policies.
359 /// @return A [`future`] that becomes satisfied when the LRO
360 /// ([Long Running Operation]) completes or the polling policy in effect
361 /// for this call is exhausted. The future is satisfied with an error if
362 /// the LRO completes with an error or the polling policy is exhausted.
363 /// In this case the [`StatusOr`] returned by the future contains the
364 /// error. If the LRO completes successfully the value of the future
365 /// contains the LRO's result. For this RPC the result is a
366 /// [google.bigtable.admin.v2.Table] proto message.
367 /// The C++ class representing this message is created by Protobuf, using
368 /// the [Protobuf mapping rules].
369 ///
370 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
371 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
372 /// [Long Running Operation]: https://google.aip.dev/151
373 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
374 /// [`future`]: @ref google::cloud::future
375 /// [`StatusOr`]: @ref google::cloud::StatusOr
376 /// [`Status`]: @ref google::cloud::Status
377 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
378 /// [google.bigtable.admin.v2.UpdateTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L597}
379 ///
380 // clang-format on
381 future<StatusOr<google::bigtable::admin::v2::Table>> UpdateTable(
382 google::bigtable::admin::v2::UpdateTableRequest const& request,
383 Options opts = {});
384
385 // clang-format off
386 ///
387 /// Permanently deletes a specified table and all of its data.
388 ///
389 /// @param name Required. The unique name of the table to be deleted.
390 /// Values are of the form
391 /// `projects/{project}/instances/{instance}/tables/{table}`.
392 /// @param opts Optional. Override the class-level options, such as retry and
393 /// backoff policies.
394 /// @return a [`Status`] object. If the request failed, the
395 /// status contains the details of the failure.
396 ///
397 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
398 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
399 /// [Long Running Operation]: https://google.aip.dev/151
400 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
401 /// [`future`]: @ref google::cloud::future
402 /// [`StatusOr`]: @ref google::cloud::StatusOr
403 /// [`Status`]: @ref google::cloud::Status
404 /// [google.bigtable.admin.v2.DeleteTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L633}
405 ///
406 // clang-format on
407 Status DeleteTable(std::string const& name, Options opts = {});
408
409 // clang-format off
410 ///
411 /// Permanently deletes a specified table and all of its data.
412 ///
413 /// @param request Unary RPCs, such as the one wrapped by this
414 /// function, receive a single `request` proto message which includes all
415 /// the inputs for the RPC. In this case, the proto message is a
416 /// [google.bigtable.admin.v2.DeleteTableRequest].
417 /// Proto messages are converted to C++ classes by Protobuf, using the
418 /// [Protobuf mapping rules].
419 /// @param opts Optional. Override the class-level options, such as retry and
420 /// backoff policies.
421 /// @return a [`Status`] object. If the request failed, the
422 /// status contains the details of the failure.
423 ///
424 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
425 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
426 /// [Long Running Operation]: https://google.aip.dev/151
427 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
428 /// [`future`]: @ref google::cloud::future
429 /// [`StatusOr`]: @ref google::cloud::StatusOr
430 /// [`Status`]: @ref google::cloud::Status
431 /// [google.bigtable.admin.v2.DeleteTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L633}
432 ///
433 // clang-format on
435 google::bigtable::admin::v2::DeleteTableRequest const& request,
436 Options opts = {});
437
438 // clang-format off
439 ///
440 /// Restores a specified table which was accidentally deleted.
441 ///
442 /// @param name Required. The unique name of the table to be restored.
443 /// Values are of the form
444 /// `projects/{project}/instances/{instance}/tables/{table}`.
445 /// @param opts Optional. Override the class-level options, such as retry and
446 /// backoff policies.
447 /// @return A [`future`] that becomes satisfied when the LRO
448 /// ([Long Running Operation]) completes or the polling policy in effect
449 /// for this call is exhausted. The future is satisfied with an error if
450 /// the LRO completes with an error or the polling policy is exhausted.
451 /// In this case the [`StatusOr`] returned by the future contains the
452 /// error. If the LRO completes successfully the value of the future
453 /// contains the LRO's result. For this RPC the result is a
454 /// [google.bigtable.admin.v2.Table] proto message.
455 /// The C++ class representing this message is created by Protobuf, using
456 /// the [Protobuf mapping rules].
457 ///
458 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
459 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
460 /// [Long Running Operation]: https://google.aip.dev/151
461 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
462 /// [`future`]: @ref google::cloud::future
463 /// [`StatusOr`]: @ref google::cloud::StatusOr
464 /// [`Status`]: @ref google::cloud::Status
465 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
466 /// [google.bigtable.admin.v2.UndeleteTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L647}
467 ///
468 // clang-format on
469 future<StatusOr<google::bigtable::admin::v2::Table>> UndeleteTable(
470 std::string const& name, Options opts = {});
471
472 // clang-format off
473 ///
474 /// Restores a specified table which was accidentally deleted.
475 ///
476 /// @param request Unary RPCs, such as the one wrapped by this
477 /// function, receive a single `request` proto message which includes all
478 /// the inputs for the RPC. In this case, the proto message is a
479 /// [google.bigtable.admin.v2.UndeleteTableRequest].
480 /// Proto messages are converted to C++ classes by Protobuf, using the
481 /// [Protobuf mapping rules].
482 /// @param opts Optional. Override the class-level options, such as retry and
483 /// backoff policies.
484 /// @return A [`future`] that becomes satisfied when the LRO
485 /// ([Long Running Operation]) completes or the polling policy in effect
486 /// for this call is exhausted. The future is satisfied with an error if
487 /// the LRO completes with an error or the polling policy is exhausted.
488 /// In this case the [`StatusOr`] returned by the future contains the
489 /// error. If the LRO completes successfully the value of the future
490 /// contains the LRO's result. For this RPC the result is a
491 /// [google.bigtable.admin.v2.Table] proto message.
492 /// The C++ class representing this message is created by Protobuf, using
493 /// the [Protobuf mapping rules].
494 ///
495 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
496 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
497 /// [Long Running Operation]: https://google.aip.dev/151
498 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
499 /// [`future`]: @ref google::cloud::future
500 /// [`StatusOr`]: @ref google::cloud::StatusOr
501 /// [`Status`]: @ref google::cloud::Status
502 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
503 /// [google.bigtable.admin.v2.UndeleteTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L647}
504 ///
505 // clang-format on
506 future<StatusOr<google::bigtable::admin::v2::Table>> UndeleteTable(
507 google::bigtable::admin::v2::UndeleteTableRequest const& request,
508 Options opts = {});
509
510 // clang-format off
511 ///
512 /// Performs a series of column family modifications on the specified table.
513 /// Either all or none of the modifications will occur before this method
514 /// returns, but data requests received prior to that point may see a table
515 /// where only some modifications have taken effect.
516 ///
517 /// @param name Required. The unique name of the table whose families should be modified.
518 /// Values are of the form
519 /// `projects/{project}/instances/{instance}/tables/{table}`.
520 /// @param modifications Required. Modifications to be atomically applied to the specified table's families.
521 /// Entries are applied in order, meaning that earlier modifications can be
522 /// masked by later ones (in the case of repeated updates to the same family,
523 /// for example).
524 /// @param opts Optional. Override the class-level options, such as retry and
525 /// backoff policies.
526 /// @return the result of the RPC. The response message type
527 /// ([google.bigtable.admin.v2.Table])
528 /// is mapped to a C++ class using the [Protobuf mapping rules].
529 /// If the request fails, the [`StatusOr`] contains the error details.
530 ///
531 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
532 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
533 /// [Long Running Operation]: https://google.aip.dev/151
534 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
535 /// [`future`]: @ref google::cloud::future
536 /// [`StatusOr`]: @ref google::cloud::StatusOr
537 /// [`Status`]: @ref google::cloud::Status
538 /// [google.bigtable.admin.v2.ModifyColumnFamiliesRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L674}
539 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
540 ///
541 // clang-format on
542 StatusOr<google::bigtable::admin::v2::Table> ModifyColumnFamilies(
543 std::string const& name,
544 std::vector<google::bigtable::admin::v2::ModifyColumnFamiliesRequest::
545 Modification> const& modifications,
546 Options opts = {});
547
548 // clang-format off
549 ///
550 /// Performs a series of column family modifications on the specified table.
551 /// Either all or none of the modifications will occur before this method
552 /// returns, but data requests received prior to that point may see a table
553 /// where only some modifications have taken effect.
554 ///
555 /// @param request Unary RPCs, such as the one wrapped by this
556 /// function, receive a single `request` proto message which includes all
557 /// the inputs for the RPC. In this case, the proto message is a
558 /// [google.bigtable.admin.v2.ModifyColumnFamiliesRequest].
559 /// Proto messages are converted to C++ classes by Protobuf, using the
560 /// [Protobuf mapping rules].
561 /// @param opts Optional. Override the class-level options, such as retry and
562 /// backoff policies.
563 /// @return the result of the RPC. The response message type
564 /// ([google.bigtable.admin.v2.Table])
565 /// is mapped to a C++ class using the [Protobuf mapping rules].
566 /// If the request fails, the [`StatusOr`] contains the error details.
567 ///
568 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
569 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
570 /// [Long Running Operation]: https://google.aip.dev/151
571 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
572 /// [`future`]: @ref google::cloud::future
573 /// [`StatusOr`]: @ref google::cloud::StatusOr
574 /// [`Status`]: @ref google::cloud::Status
575 /// [google.bigtable.admin.v2.ModifyColumnFamiliesRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L674}
576 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
577 ///
578 // clang-format on
579 StatusOr<google::bigtable::admin::v2::Table> ModifyColumnFamilies(
580 google::bigtable::admin::v2::ModifyColumnFamiliesRequest const& request,
581 Options opts = {});
582
583 // clang-format off
584 ///
585 /// Permanently drop/delete a row range from a specified table. The request can
586 /// specify whether to delete all rows in a table, or only those that match a
587 /// particular prefix.
588 ///
589 /// @param request Unary RPCs, such as the one wrapped by this
590 /// function, receive a single `request` proto message which includes all
591 /// the inputs for the RPC. In this case, the proto message is a
592 /// [google.bigtable.admin.v2.DropRowRangeRequest].
593 /// Proto messages are converted to C++ classes by Protobuf, using the
594 /// [Protobuf mapping rules].
595 /// @param opts Optional. Override the class-level options, such as retry and
596 /// backoff policies.
597 /// @return a [`Status`] object. If the request failed, the
598 /// status contains the details of the failure.
599 ///
600 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
601 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
602 /// [Long Running Operation]: https://google.aip.dev/151
603 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
604 /// [`future`]: @ref google::cloud::future
605 /// [`StatusOr`]: @ref google::cloud::StatusOr
606 /// [`Status`]: @ref google::cloud::Status
607 /// [google.bigtable.admin.v2.DropRowRangeRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L512}
608 ///
609 // clang-format on
611 google::bigtable::admin::v2::DropRowRangeRequest const& request,
612 Options opts = {});
613
614 // clang-format off
615 ///
616 /// Generates a consistency token for a Table, which can be used in
617 /// CheckConsistency to check whether mutations to the table that finished
618 /// before this call started have been replicated. The tokens will be available
619 /// for 90 days.
620 ///
621 /// @param name Required. The unique name of the Table for which to create a consistency token.
622 /// Values are of the form
623 /// `projects/{project}/instances/{instance}/tables/{table}`.
624 /// @param opts Optional. Override the class-level options, such as retry and
625 /// backoff policies.
626 /// @return the result of the RPC. The response message type
627 /// ([google.bigtable.admin.v2.GenerateConsistencyTokenResponse])
628 /// is mapped to a C++ class using the [Protobuf mapping rules].
629 /// If the request fails, the [`StatusOr`] contains the error details.
630 ///
631 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
632 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
633 /// [Long Running Operation]: https://google.aip.dev/151
634 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
635 /// [`future`]: @ref google::cloud::future
636 /// [`StatusOr`]: @ref google::cloud::StatusOr
637 /// [`Status`]: @ref google::cloud::Status
638 /// [google.bigtable.admin.v2.GenerateConsistencyTokenRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L715}
639 /// [google.bigtable.admin.v2.GenerateConsistencyTokenResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L729}
640 ///
641 // clang-format on
642 StatusOr<google::bigtable::admin::v2::GenerateConsistencyTokenResponse>
643 GenerateConsistencyToken(std::string const& name, Options opts = {});
644
645 // clang-format off
646 ///
647 /// Generates a consistency token for a Table, which can be used in
648 /// CheckConsistency to check whether mutations to the table that finished
649 /// before this call started have been replicated. The tokens will be available
650 /// for 90 days.
651 ///
652 /// @param request Unary RPCs, such as the one wrapped by this
653 /// function, receive a single `request` proto message which includes all
654 /// the inputs for the RPC. In this case, the proto message is a
655 /// [google.bigtable.admin.v2.GenerateConsistencyTokenRequest].
656 /// Proto messages are converted to C++ classes by Protobuf, using the
657 /// [Protobuf mapping rules].
658 /// @param opts Optional. Override the class-level options, such as retry and
659 /// backoff policies.
660 /// @return the result of the RPC. The response message type
661 /// ([google.bigtable.admin.v2.GenerateConsistencyTokenResponse])
662 /// is mapped to a C++ class using the [Protobuf mapping rules].
663 /// If the request fails, the [`StatusOr`] contains the error details.
664 ///
665 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
666 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
667 /// [Long Running Operation]: https://google.aip.dev/151
668 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
669 /// [`future`]: @ref google::cloud::future
670 /// [`StatusOr`]: @ref google::cloud::StatusOr
671 /// [`Status`]: @ref google::cloud::Status
672 /// [google.bigtable.admin.v2.GenerateConsistencyTokenRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L715}
673 /// [google.bigtable.admin.v2.GenerateConsistencyTokenResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L729}
674 ///
675 // clang-format on
676 StatusOr<google::bigtable::admin::v2::GenerateConsistencyTokenResponse>
678 google::bigtable::admin::v2::GenerateConsistencyTokenRequest const&
679 request,
680 Options opts = {});
681
682 // clang-format off
683 ///
684 /// Checks replication consistency based on a consistency token, that is, if
685 /// replication has caught up based on the conditions specified in the token
686 /// and the check request.
687 ///
688 /// @param name Required. The unique name of the Table for which to check replication consistency.
689 /// Values are of the form
690 /// `projects/{project}/instances/{instance}/tables/{table}`.
691 /// @param consistency_token Required. The token created using GenerateConsistencyToken for the Table.
692 /// @param opts Optional. Override the class-level options, such as retry and
693 /// backoff policies.
694 /// @return the result of the RPC. The response message type
695 /// ([google.bigtable.admin.v2.CheckConsistencyResponse])
696 /// is mapped to a C++ class using the [Protobuf mapping rules].
697 /// If the request fails, the [`StatusOr`] contains the error details.
698 ///
699 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
700 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
701 /// [Long Running Operation]: https://google.aip.dev/151
702 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
703 /// [`future`]: @ref google::cloud::future
704 /// [`StatusOr`]: @ref google::cloud::StatusOr
705 /// [`Status`]: @ref google::cloud::Status
706 /// [google.bigtable.admin.v2.CheckConsistencyRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L736}
707 /// [google.bigtable.admin.v2.CheckConsistencyResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L753}
708 ///
709 // clang-format on
710 StatusOr<google::bigtable::admin::v2::CheckConsistencyResponse>
711 CheckConsistency(std::string const& name,
712 std::string const& consistency_token, Options opts = {});
713
714 // clang-format off
715 ///
716 /// Checks replication consistency based on a consistency token, that is, if
717 /// replication has caught up based on the conditions specified in the token
718 /// and the check request.
719 ///
720 /// @param request Unary RPCs, such as the one wrapped by this
721 /// function, receive a single `request` proto message which includes all
722 /// the inputs for the RPC. In this case, the proto message is a
723 /// [google.bigtable.admin.v2.CheckConsistencyRequest].
724 /// Proto messages are converted to C++ classes by Protobuf, using the
725 /// [Protobuf mapping rules].
726 /// @param opts Optional. Override the class-level options, such as retry and
727 /// backoff policies.
728 /// @return the result of the RPC. The response message type
729 /// ([google.bigtable.admin.v2.CheckConsistencyResponse])
730 /// is mapped to a C++ class using the [Protobuf mapping rules].
731 /// If the request fails, the [`StatusOr`] contains the error details.
732 ///
733 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
734 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
735 /// [Long Running Operation]: https://google.aip.dev/151
736 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
737 /// [`future`]: @ref google::cloud::future
738 /// [`StatusOr`]: @ref google::cloud::StatusOr
739 /// [`Status`]: @ref google::cloud::Status
740 /// [google.bigtable.admin.v2.CheckConsistencyRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L736}
741 /// [google.bigtable.admin.v2.CheckConsistencyResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L753}
742 ///
743 // clang-format on
744 StatusOr<google::bigtable::admin::v2::CheckConsistencyResponse>
746 google::bigtable::admin::v2::CheckConsistencyRequest const& request,
747 Options opts = {});
748
749 // clang-format off
750 ///
751 /// Starts creating a new Cloud Bigtable Backup. The returned backup
752 /// [long-running operation][google.longrunning.Operation] can be used to
753 /// track creation of the backup. The
754 /// [metadata][google.longrunning.Operation.metadata] field type is
755 /// [CreateBackupMetadata][google.bigtable.admin.v2.CreateBackupMetadata]. The
756 /// [response][google.longrunning.Operation.response] field type is
757 /// [Backup][google.bigtable.admin.v2.Backup], if successful. Cancelling the returned operation will stop the
758 /// creation and delete the backup.
759 ///
760 /// @param parent Required. This must be one of the clusters in the instance in which this
761 /// table is located. The backup will be stored in this cluster. Values are
762 /// of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
763 /// @param backup_id Required. The id of the backup to be created. The `backup_id` along with
764 /// the parent `parent` are combined as {parent}/backups/{backup_id} to create
765 /// the full backup name, of the form:
766 /// `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`.
767 /// This string must be between 1 and 50 characters in length and match the
768 /// regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*.
769 /// @param backup Required. The backup to create.
770 /// @param opts Optional. Override the class-level options, such as retry and
771 /// backoff policies.
772 /// @return A [`future`] that becomes satisfied when the LRO
773 /// ([Long Running Operation]) completes or the polling policy in effect
774 /// for this call is exhausted. The future is satisfied with an error if
775 /// the LRO completes with an error or the polling policy is exhausted.
776 /// In this case the [`StatusOr`] returned by the future contains the
777 /// error. If the LRO completes successfully the value of the future
778 /// contains the LRO's result. For this RPC the result is a
779 /// [google.bigtable.admin.v2.Backup] proto message.
780 /// The C++ class representing this message is created by Protobuf, using
781 /// the [Protobuf mapping rules].
782 ///
783 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
784 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
785 /// [Long Running Operation]: https://google.aip.dev/151
786 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
787 /// [`future`]: @ref google::cloud::future
788 /// [`StatusOr`]: @ref google::cloud::StatusOr
789 /// [`Status`]: @ref google::cloud::Status
790 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
791 /// [google.bigtable.admin.v2.CreateBackupMetadata]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L947}
792 /// [google.bigtable.admin.v2.CreateBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L922}
793 /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L128}
794 /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L138}
795 /// [google.longrunning.Operation.response]: @googleapis_reference_link{google/longrunning/operations.proto#L160}
796 ///
797 // clang-format on
798 future<StatusOr<google::bigtable::admin::v2::Backup>> CreateBackup(
799 std::string const& parent, std::string const& backup_id,
800 google::bigtable::admin::v2::Backup const& backup, Options opts = {});
801
802 // clang-format off
803 ///
804 /// Starts creating a new Cloud Bigtable Backup. The returned backup
805 /// [long-running operation][google.longrunning.Operation] can be used to
806 /// track creation of the backup. The
807 /// [metadata][google.longrunning.Operation.metadata] field type is
808 /// [CreateBackupMetadata][google.bigtable.admin.v2.CreateBackupMetadata]. The
809 /// [response][google.longrunning.Operation.response] field type is
810 /// [Backup][google.bigtable.admin.v2.Backup], if successful. Cancelling the returned operation will stop the
811 /// creation and delete the backup.
812 ///
813 /// @param request Unary RPCs, such as the one wrapped by this
814 /// function, receive a single `request` proto message which includes all
815 /// the inputs for the RPC. In this case, the proto message is a
816 /// [google.bigtable.admin.v2.CreateBackupRequest].
817 /// Proto messages are converted to C++ classes by Protobuf, using the
818 /// [Protobuf mapping rules].
819 /// @param opts Optional. Override the class-level options, such as retry and
820 /// backoff policies.
821 /// @return A [`future`] that becomes satisfied when the LRO
822 /// ([Long Running Operation]) completes or the polling policy in effect
823 /// for this call is exhausted. The future is satisfied with an error if
824 /// the LRO completes with an error or the polling policy is exhausted.
825 /// In this case the [`StatusOr`] returned by the future contains the
826 /// error. If the LRO completes successfully the value of the future
827 /// contains the LRO's result. For this RPC the result is a
828 /// [google.bigtable.admin.v2.Backup] proto message.
829 /// The C++ class representing this message is created by Protobuf, using
830 /// the [Protobuf mapping rules].
831 ///
832 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
833 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
834 /// [Long Running Operation]: https://google.aip.dev/151
835 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
836 /// [`future`]: @ref google::cloud::future
837 /// [`StatusOr`]: @ref google::cloud::StatusOr
838 /// [`Status`]: @ref google::cloud::Status
839 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
840 /// [google.bigtable.admin.v2.CreateBackupMetadata]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L947}
841 /// [google.bigtable.admin.v2.CreateBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L922}
842 /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L128}
843 /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L138}
844 /// [google.longrunning.Operation.response]: @googleapis_reference_link{google/longrunning/operations.proto#L160}
845 ///
846 // clang-format on
847 future<StatusOr<google::bigtable::admin::v2::Backup>> CreateBackup(
848 google::bigtable::admin::v2::CreateBackupRequest const& request,
849 Options opts = {});
850
851 // clang-format off
852 ///
853 /// Gets metadata on a pending or completed Cloud Bigtable Backup.
854 ///
855 /// @param name Required. Name of the backup.
856 /// Values are of the form
857 /// `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
858 /// @param opts Optional. Override the class-level options, such as retry and
859 /// backoff policies.
860 /// @return the result of the RPC. The response message type
861 /// ([google.bigtable.admin.v2.Backup])
862 /// is mapped to a C++ class using the [Protobuf mapping rules].
863 /// If the request fails, the [`StatusOr`] contains the error details.
864 ///
865 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
866 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
867 /// [Long Running Operation]: https://google.aip.dev/151
868 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
869 /// [`future`]: @ref google::cloud::future
870 /// [`StatusOr`]: @ref google::cloud::StatusOr
871 /// [`Status`]: @ref google::cloud::Status
872 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
873 /// [google.bigtable.admin.v2.GetBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L978}
874 ///
875 // clang-format on
876 StatusOr<google::bigtable::admin::v2::Backup> GetBackup(
877 std::string const& name, Options opts = {});
878
879 // clang-format off
880 ///
881 /// Gets metadata on a pending or completed Cloud Bigtable Backup.
882 ///
883 /// @param request Unary RPCs, such as the one wrapped by this
884 /// function, receive a single `request` proto message which includes all
885 /// the inputs for the RPC. In this case, the proto message is a
886 /// [google.bigtable.admin.v2.GetBackupRequest].
887 /// Proto messages are converted to C++ classes by Protobuf, using the
888 /// [Protobuf mapping rules].
889 /// @param opts Optional. Override the class-level options, such as retry and
890 /// backoff policies.
891 /// @return the result of the RPC. The response message type
892 /// ([google.bigtable.admin.v2.Backup])
893 /// is mapped to a C++ class using the [Protobuf mapping rules].
894 /// If the request fails, the [`StatusOr`] contains the error details.
895 ///
896 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
897 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
898 /// [Long Running Operation]: https://google.aip.dev/151
899 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
900 /// [`future`]: @ref google::cloud::future
901 /// [`StatusOr`]: @ref google::cloud::StatusOr
902 /// [`Status`]: @ref google::cloud::Status
903 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
904 /// [google.bigtable.admin.v2.GetBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L978}
905 ///
906 // clang-format on
907 StatusOr<google::bigtable::admin::v2::Backup> GetBackup(
908 google::bigtable::admin::v2::GetBackupRequest const& request,
909 Options opts = {});
910
911 // clang-format off
912 ///
913 /// Updates a pending or completed Cloud Bigtable Backup.
914 ///
915 /// @param backup Required. The backup to update. `backup.name`, and the fields to be updated
916 /// as specified by `update_mask` are required. Other fields are ignored.
917 /// Update is only supported for the following fields:
918 /// * `backup.expire_time`.
919 /// @param update_mask Required. A mask specifying which fields (e.g. `expire_time`) in the
920 /// Backup resource should be updated. This mask is relative to the Backup
921 /// resource, not to the request message. The field mask must always be
922 /// specified; this prevents any future fields from being erased accidentally
923 /// by clients that do not know about them.
924 /// @param opts Optional. Override the class-level options, such as retry and
925 /// backoff policies.
926 /// @return the result of the RPC. The response message type
927 /// ([google.bigtable.admin.v2.Backup])
928 /// is mapped to a C++ class using the [Protobuf mapping rules].
929 /// If the request fails, the [`StatusOr`] contains the error details.
930 ///
931 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
932 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
933 /// [Long Running Operation]: https://google.aip.dev/151
934 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
935 /// [`future`]: @ref google::cloud::future
936 /// [`StatusOr`]: @ref google::cloud::StatusOr
937 /// [`Status`]: @ref google::cloud::Status
938 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
939 /// [google.bigtable.admin.v2.UpdateBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L962}
940 ///
941 // clang-format on
942 StatusOr<google::bigtable::admin::v2::Backup> UpdateBackup(
943 google::bigtable::admin::v2::Backup const& backup,
944 google::protobuf::FieldMask const& update_mask, Options opts = {});
945
946 // clang-format off
947 ///
948 /// Updates a pending or completed Cloud Bigtable Backup.
949 ///
950 /// @param request Unary RPCs, such as the one wrapped by this
951 /// function, receive a single `request` proto message which includes all
952 /// the inputs for the RPC. In this case, the proto message is a
953 /// [google.bigtable.admin.v2.UpdateBackupRequest].
954 /// Proto messages are converted to C++ classes by Protobuf, using the
955 /// [Protobuf mapping rules].
956 /// @param opts Optional. Override the class-level options, such as retry and
957 /// backoff policies.
958 /// @return the result of the RPC. The response message type
959 /// ([google.bigtable.admin.v2.Backup])
960 /// is mapped to a C++ class using the [Protobuf mapping rules].
961 /// If the request fails, the [`StatusOr`] contains the error details.
962 ///
963 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
964 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
965 /// [Long Running Operation]: https://google.aip.dev/151
966 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
967 /// [`future`]: @ref google::cloud::future
968 /// [`StatusOr`]: @ref google::cloud::StatusOr
969 /// [`Status`]: @ref google::cloud::Status
970 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
971 /// [google.bigtable.admin.v2.UpdateBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L962}
972 ///
973 // clang-format on
974 StatusOr<google::bigtable::admin::v2::Backup> UpdateBackup(
975 google::bigtable::admin::v2::UpdateBackupRequest const& request,
976 Options opts = {});
977
978 // clang-format off
979 ///
980 /// Deletes a pending or completed Cloud Bigtable backup.
981 ///
982 /// @param name Required. Name of the backup to delete.
983 /// Values are of the form
984 /// `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
985 /// @param opts Optional. Override the class-level options, such as retry and
986 /// backoff policies.
987 /// @return a [`Status`] object. If the request failed, the
988 /// status contains the details of the failure.
989 ///
990 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
991 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
992 /// [Long Running Operation]: https://google.aip.dev/151
993 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
994 /// [`future`]: @ref google::cloud::future
995 /// [`StatusOr`]: @ref google::cloud::StatusOr
996 /// [`Status`]: @ref google::cloud::Status
997 /// [google.bigtable.admin.v2.DeleteBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L991}
998 ///
999 // clang-format on
1000 Status DeleteBackup(std::string const& name, Options opts = {});
1001
1002 // clang-format off
1003 ///
1004 /// Deletes a pending or completed Cloud Bigtable backup.
1005 ///
1006 /// @param request Unary RPCs, such as the one wrapped by this
1007 /// function, receive a single `request` proto message which includes all
1008 /// the inputs for the RPC. In this case, the proto message is a
1009 /// [google.bigtable.admin.v2.DeleteBackupRequest].
1010 /// Proto messages are converted to C++ classes by Protobuf, using the
1011 /// [Protobuf mapping rules].
1012 /// @param opts Optional. Override the class-level options, such as retry and
1013 /// backoff policies.
1014 /// @return a [`Status`] object. If the request failed, the
1015 /// status contains the details of the failure.
1016 ///
1017 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1018 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1019 /// [Long Running Operation]: https://google.aip.dev/151
1020 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1021 /// [`future`]: @ref google::cloud::future
1022 /// [`StatusOr`]: @ref google::cloud::StatusOr
1023 /// [`Status`]: @ref google::cloud::Status
1024 /// [google.bigtable.admin.v2.DeleteBackupRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L991}
1025 ///
1026 // clang-format on
1028 google::bigtable::admin::v2::DeleteBackupRequest const& request,
1029 Options opts = {});
1030
1031 // clang-format off
1032 ///
1033 /// Lists Cloud Bigtable backups. Returns both completed and pending
1034 /// backups.
1035 ///
1036 /// @param parent Required. The cluster to list backups from. Values are of the
1037 /// form `projects/{project}/instances/{instance}/clusters/{cluster}`.
1038 /// Use ``{cluster} = '-'`` to list backups for all clusters in an instance,
1039 /// e.g., `projects/{project}/instances/{instance}/clusters/-`.
1040 /// @param opts Optional. Override the class-level options, such as retry and
1041 /// backoff policies.
1042 /// @return a [StreamRange](@ref google::cloud::StreamRange)
1043 /// to iterate of the results. See the documentation of this type for
1044 /// details. In brief, this class has `begin()` and `end()` member
1045 /// functions returning a iterator class meeting the
1046 /// [input iterator requirements]. The value type for this iterator is a
1047 /// [`StatusOr`] as the iteration may fail even after some values are
1048 /// retrieved successfully, for example, if there is a network disconnect.
1049 /// An empty set of results does not indicate an error, it indicates
1050 /// that there are no resources meeting the request criteria.
1051 /// On a successful iteration the `StatusOr<T>` contains elements of type
1052 /// [google.bigtable.admin.v2.Backup], or rather,
1053 /// the C++ class generated by Protobuf from that type. Please consult the
1054 /// Protobuf documentation for details on the [Protobuf mapping rules].
1055 ///
1056 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1057 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1058 /// [Long Running Operation]: https://google.aip.dev/151
1059 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1060 /// [`future`]: @ref google::cloud::future
1061 /// [`StatusOr`]: @ref google::cloud::StatusOr
1062 /// [`Status`]: @ref google::cloud::Status
1063 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
1064 /// [google.bigtable.admin.v2.ListBackupsRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L1004}
1065 ///
1066 // clang-format on
1067 StreamRange<google::bigtable::admin::v2::Backup> ListBackups(
1068 std::string const& parent, Options opts = {});
1069
1070 // clang-format off
1071 ///
1072 /// Lists Cloud Bigtable backups. Returns both completed and pending
1073 /// backups.
1074 ///
1075 /// @param request Unary RPCs, such as the one wrapped by this
1076 /// function, receive a single `request` proto message which includes all
1077 /// the inputs for the RPC. In this case, the proto message is a
1078 /// [google.bigtable.admin.v2.ListBackupsRequest].
1079 /// Proto messages are converted to C++ classes by Protobuf, using the
1080 /// [Protobuf mapping rules].
1081 /// @param opts Optional. Override the class-level options, such as retry and
1082 /// backoff policies.
1083 /// @return a [StreamRange](@ref google::cloud::StreamRange)
1084 /// to iterate of the results. See the documentation of this type for
1085 /// details. In brief, this class has `begin()` and `end()` member
1086 /// functions returning a iterator class meeting the
1087 /// [input iterator requirements]. The value type for this iterator is a
1088 /// [`StatusOr`] as the iteration may fail even after some values are
1089 /// retrieved successfully, for example, if there is a network disconnect.
1090 /// An empty set of results does not indicate an error, it indicates
1091 /// that there are no resources meeting the request criteria.
1092 /// On a successful iteration the `StatusOr<T>` contains elements of type
1093 /// [google.bigtable.admin.v2.Backup], or rather,
1094 /// the C++ class generated by Protobuf from that type. Please consult the
1095 /// Protobuf documentation for details on the [Protobuf mapping rules].
1096 ///
1097 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1098 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1099 /// [Long Running Operation]: https://google.aip.dev/151
1100 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1101 /// [`future`]: @ref google::cloud::future
1102 /// [`StatusOr`]: @ref google::cloud::StatusOr
1103 /// [`Status`]: @ref google::cloud::Status
1104 /// [google.bigtable.admin.v2.Backup]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L326}
1105 /// [google.bigtable.admin.v2.ListBackupsRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L1004}
1106 ///
1107 // clang-format on
1108 StreamRange<google::bigtable::admin::v2::Backup> ListBackups(
1109 google::bigtable::admin::v2::ListBackupsRequest request,
1110 Options opts = {});
1111
1112 // clang-format off
1113 ///
1114 /// Create a new table by restoring from a completed backup. The new table
1115 /// must be in the same project as the instance containing the backup. The
1116 /// returned table [long-running operation][google.longrunning.Operation] can
1117 /// be used to track the progress of the operation, and to cancel it. The
1118 /// [metadata][google.longrunning.Operation.metadata] field type is
1119 /// [RestoreTableMetadata][google.bigtable.admin.RestoreTableMetadata]. The
1120 /// [response][google.longrunning.Operation.response] type is
1121 /// [Table][google.bigtable.admin.v2.Table], if successful.
1122 ///
1123 /// @param request Unary RPCs, such as the one wrapped by this
1124 /// function, receive a single `request` proto message which includes all
1125 /// the inputs for the RPC. In this case, the proto message is a
1126 /// [google.bigtable.admin.v2.RestoreTableRequest].
1127 /// Proto messages are converted to C++ classes by Protobuf, using the
1128 /// [Protobuf mapping rules].
1129 /// @param opts Optional. Override the class-level options, such as retry and
1130 /// backoff policies.
1131 /// @return A [`future`] that becomes satisfied when the LRO
1132 /// ([Long Running Operation]) completes or the polling policy in effect
1133 /// for this call is exhausted. The future is satisfied with an error if
1134 /// the LRO completes with an error or the polling policy is exhausted.
1135 /// In this case the [`StatusOr`] returned by the future contains the
1136 /// error. If the LRO completes successfully the value of the future
1137 /// contains the LRO's result. For this RPC the result is a
1138 /// [google.bigtable.admin.v2.Table] proto message.
1139 /// The C++ class representing this message is created by Protobuf, using
1140 /// the [Protobuf mapping rules].
1141 ///
1142 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1143 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1144 /// [Long Running Operation]: https://google.aip.dev/151
1145 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1146 /// [`future`]: @ref google::cloud::future
1147 /// [`StatusOr`]: @ref google::cloud::StatusOr
1148 /// [`Status`]: @ref google::cloud::Status
1149 /// [google.bigtable.admin.v2.RestoreTableRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L362}
1150 /// [google.bigtable.admin.v2.Table]: @googleapis_reference_link{google/bigtable/admin/v2/table.proto#L63}
1151 /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L128}
1152 /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L138}
1153 /// [google.longrunning.Operation.response]: @googleapis_reference_link{google/longrunning/operations.proto#L160}
1154 ///
1155 // clang-format on
1156 future<StatusOr<google::bigtable::admin::v2::Table>> RestoreTable(
1157 google::bigtable::admin::v2::RestoreTableRequest const& request,
1158 Options opts = {});
1159
1160 // clang-format off
1161 ///
1162 /// Gets the access control policy for a Table or Backup resource.
1163 /// Returns an empty policy if the resource exists but does not have a policy
1164 /// set.
1165 ///
1166 /// @param resource REQUIRED: The resource for which the policy is being requested.
1167 /// See the operation documentation for the appropriate value for this field.
1168 /// @param opts Optional. Override the class-level options, such as retry and
1169 /// backoff policies.
1170 /// @return the result of the RPC. The response message type
1171 /// ([google.iam.v1.Policy])
1172 /// is mapped to a C++ class using the [Protobuf mapping rules].
1173 /// If the request fails, the [`StatusOr`] contains the error details.
1174 ///
1175 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1176 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1177 /// [Long Running Operation]: https://google.aip.dev/151
1178 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1179 /// [`future`]: @ref google::cloud::future
1180 /// [`StatusOr`]: @ref google::cloud::StatusOr
1181 /// [`Status`]: @ref google::cloud::Status
1182 /// [google.iam.v1.GetIamPolicyRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L123}
1183 /// [google.iam.v1.Policy]: @googleapis_reference_link{google/iam/v1/policy.proto#L98}
1184 ///
1185 // clang-format on
1186 StatusOr<google::iam::v1::Policy> GetIamPolicy(std::string const& resource,
1187 Options opts = {});
1188
1189 // clang-format off
1190 ///
1191 /// Gets the access control policy for a Table or Backup resource.
1192 /// Returns an empty policy if the resource exists but does not have a policy
1193 /// set.
1194 ///
1195 /// @param request Unary RPCs, such as the one wrapped by this
1196 /// function, receive a single `request` proto message which includes all
1197 /// the inputs for the RPC. In this case, the proto message is a
1198 /// [google.iam.v1.GetIamPolicyRequest].
1199 /// Proto messages are converted to C++ classes by Protobuf, using the
1200 /// [Protobuf mapping rules].
1201 /// @param opts Optional. Override the class-level options, such as retry and
1202 /// backoff policies.
1203 /// @return the result of the RPC. The response message type
1204 /// ([google.iam.v1.Policy])
1205 /// is mapped to a C++ class using the [Protobuf mapping rules].
1206 /// If the request fails, the [`StatusOr`] contains the error details.
1207 ///
1208 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1209 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1210 /// [Long Running Operation]: https://google.aip.dev/151
1211 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1212 /// [`future`]: @ref google::cloud::future
1213 /// [`StatusOr`]: @ref google::cloud::StatusOr
1214 /// [`Status`]: @ref google::cloud::Status
1215 /// [google.iam.v1.GetIamPolicyRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L123}
1216 /// [google.iam.v1.Policy]: @googleapis_reference_link{google/iam/v1/policy.proto#L98}
1217 ///
1218 // clang-format on
1219 StatusOr<google::iam::v1::Policy> GetIamPolicy(
1220 google::iam::v1::GetIamPolicyRequest const& request, Options opts = {});
1221
1222 // clang-format off
1223 ///
1224 /// Sets the access control policy on a Table or Backup resource.
1225 /// Replaces any existing policy.
1226 ///
1227 /// @param resource REQUIRED: The resource for which the policy is being specified.
1228 /// See the operation documentation for the appropriate value for this field.
1229 /// @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of
1230 /// the policy is limited to a few 10s of KB. An empty policy is a
1231 /// valid policy but certain Cloud Platform services (such as Projects)
1232 /// might reject them.
1233 /// @param opts Optional. Override the class-level options, such as retry and
1234 /// backoff policies.
1235 /// @return the result of the RPC. The response message type
1236 /// ([google.iam.v1.Policy])
1237 /// is mapped to a C++ class using the [Protobuf mapping rules].
1238 /// If the request fails, the [`StatusOr`] contains the error details.
1239 ///
1240 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1241 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1242 /// [Long Running Operation]: https://google.aip.dev/151
1243 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1244 /// [`future`]: @ref google::cloud::future
1245 /// [`StatusOr`]: @ref google::cloud::StatusOr
1246 /// [`Status`]: @ref google::cloud::Status
1247 /// [google.iam.v1.Policy]: @googleapis_reference_link{google/iam/v1/policy.proto#L98}
1248 /// [google.iam.v1.SetIamPolicyRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L101}
1249 ///
1250 // clang-format on
1251 StatusOr<google::iam::v1::Policy> SetIamPolicy(
1252 std::string const& resource, google::iam::v1::Policy const& policy,
1253 Options opts = {});
1254
1255 /**
1256 * Updates the IAM policy for @p resource using an optimistic concurrency
1257 * control loop.
1258 *
1259 * The loop fetches the current policy for @p resource, and passes it to @p
1260 * updater, which should return the new policy. This new policy should use the
1261 * current etag so that the read-modify-write cycle can detect races and rerun
1262 * the update when there is a mismatch. If the new policy does not have an
1263 * etag, the existing policy will be blindly overwritten. If @p updater does
1264 * not yield a policy, the control loop is terminated and kCancelled is
1265 * returned.
1266 *
1267 * @param resource Required. The resource for which the policy is being
1268 * specified. See the operation documentation for the appropriate value for
1269 * this field.
1270 * @param updater Required. Functor to map the current policy to a new one.
1271 * @param opts Optional. Override the class-level options, such as retry and
1272 * backoff policies.
1273 * @return google::iam::v1::Policy
1274 */
1275 StatusOr<google::iam::v1::Policy> SetIamPolicy(std::string const& resource,
1276 IamUpdater const& updater,
1277 Options opts = {});
1278
1279 // clang-format off
1280 ///
1281 /// Sets the access control policy on a Table or Backup resource.
1282 /// Replaces any existing policy.
1283 ///
1284 /// @param request Unary RPCs, such as the one wrapped by this
1285 /// function, receive a single `request` proto message which includes all
1286 /// the inputs for the RPC. In this case, the proto message is a
1287 /// [google.iam.v1.SetIamPolicyRequest].
1288 /// Proto messages are converted to C++ classes by Protobuf, using the
1289 /// [Protobuf mapping rules].
1290 /// @param opts Optional. Override the class-level options, such as retry and
1291 /// backoff policies.
1292 /// @return the result of the RPC. The response message type
1293 /// ([google.iam.v1.Policy])
1294 /// is mapped to a C++ class using the [Protobuf mapping rules].
1295 /// If the request fails, the [`StatusOr`] contains the error details.
1296 ///
1297 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1298 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1299 /// [Long Running Operation]: https://google.aip.dev/151
1300 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1301 /// [`future`]: @ref google::cloud::future
1302 /// [`StatusOr`]: @ref google::cloud::StatusOr
1303 /// [`Status`]: @ref google::cloud::Status
1304 /// [google.iam.v1.Policy]: @googleapis_reference_link{google/iam/v1/policy.proto#L98}
1305 /// [google.iam.v1.SetIamPolicyRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L101}
1306 ///
1307 // clang-format on
1308 StatusOr<google::iam::v1::Policy> SetIamPolicy(
1309 google::iam::v1::SetIamPolicyRequest const& request, Options opts = {});
1310
1311 // clang-format off
1312 ///
1313 /// Returns permissions that the caller has on the specified Table or Backup resource.
1314 ///
1315 /// @param resource REQUIRED: The resource for which the policy detail is being requested.
1316 /// See the operation documentation for the appropriate value for this field.
1317 /// @param permissions The set of permissions to check for the `resource`. Permissions with
1318 /// wildcards (such as '*' or 'storage.*') are not allowed. For more
1319 /// information see
1320 /// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1321 /// @param opts Optional. Override the class-level options, such as retry and
1322 /// backoff policies.
1323 /// @return the result of the RPC. The response message type
1324 /// ([google.iam.v1.TestIamPermissionsResponse])
1325 /// is mapped to a C++ class using the [Protobuf mapping rules].
1326 /// If the request fails, the [`StatusOr`] contains the error details.
1327 ///
1328 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1329 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1330 /// [Long Running Operation]: https://google.aip.dev/151
1331 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1332 /// [`future`]: @ref google::cloud::future
1333 /// [`StatusOr`]: @ref google::cloud::StatusOr
1334 /// [`Status`]: @ref google::cloud::Status
1335 /// [google.iam.v1.TestIamPermissionsRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L136}
1336 /// [google.iam.v1.TestIamPermissionsResponse]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L151}
1337 ///
1338 // clang-format on
1339 StatusOr<google::iam::v1::TestIamPermissionsResponse> TestIamPermissions(
1340 std::string const& resource, std::vector<std::string> const& permissions,
1341 Options opts = {});
1342
1343 // clang-format off
1344 ///
1345 /// Returns permissions that the caller has on the specified Table or Backup resource.
1346 ///
1347 /// @param request Unary RPCs, such as the one wrapped by this
1348 /// function, receive a single `request` proto message which includes all
1349 /// the inputs for the RPC. In this case, the proto message is a
1350 /// [google.iam.v1.TestIamPermissionsRequest].
1351 /// Proto messages are converted to C++ classes by Protobuf, using the
1352 /// [Protobuf mapping rules].
1353 /// @param opts Optional. Override the class-level options, such as retry and
1354 /// backoff policies.
1355 /// @return the result of the RPC. The response message type
1356 /// ([google.iam.v1.TestIamPermissionsResponse])
1357 /// is mapped to a C++ class using the [Protobuf mapping rules].
1358 /// If the request fails, the [`StatusOr`] contains the error details.
1359 ///
1360 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1361 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1362 /// [Long Running Operation]: https://google.aip.dev/151
1363 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1364 /// [`future`]: @ref google::cloud::future
1365 /// [`StatusOr`]: @ref google::cloud::StatusOr
1366 /// [`Status`]: @ref google::cloud::Status
1367 /// [google.iam.v1.TestIamPermissionsRequest]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L136}
1368 /// [google.iam.v1.TestIamPermissionsResponse]: @googleapis_reference_link{google/iam/v1/iam_policy.proto#L151}
1369 ///
1370 // clang-format on
1371 StatusOr<google::iam::v1::TestIamPermissionsResponse> TestIamPermissions(
1372 google::iam::v1::TestIamPermissionsRequest const& request,
1373 Options opts = {});
1374
1375 // clang-format off
1376 ///
1377 /// Checks replication consistency based on a consistency token, that is, if
1378 /// replication has caught up based on the conditions specified in the token
1379 /// and the check request.
1380 ///
1381 /// @param name Required. The unique name of the Table for which to check replication consistency.
1382 /// Values are of the form
1383 /// `projects/{project}/instances/{instance}/tables/{table}`.
1384 /// @param consistency_token Required. The token created using GenerateConsistencyToken for the Table.
1385 /// @param opts Optional. Override the class-level options, such as retry and
1386 /// backoff policies.
1387 /// @return the result of the RPC. The response message type
1388 /// ([google.bigtable.admin.v2.CheckConsistencyResponse])
1389 /// is mapped to a C++ class using the [Protobuf mapping rules].
1390 /// If the request fails, the [`StatusOr`] contains the error details.
1391 ///
1392 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1393 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1394 /// [Long Running Operation]: https://google.aip.dev/151
1395 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1396 /// [`future`]: @ref google::cloud::future
1397 /// [`StatusOr`]: @ref google::cloud::StatusOr
1398 /// [`Status`]: @ref google::cloud::Status
1399 /// [google.bigtable.admin.v2.CheckConsistencyRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L736}
1400 /// [google.bigtable.admin.v2.CheckConsistencyResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L753}
1401 ///
1402 // clang-format on
1403 future<StatusOr<google::bigtable::admin::v2::CheckConsistencyResponse>>
1404 AsyncCheckConsistency(std::string const& name,
1405 std::string const& consistency_token,
1406 Options opts = {});
1407
1408 // clang-format off
1409 ///
1410 /// Checks replication consistency based on a consistency token, that is, if
1411 /// replication has caught up based on the conditions specified in the token
1412 /// and the check request.
1413 ///
1414 /// @param request Unary RPCs, such as the one wrapped by this
1415 /// function, receive a single `request` proto message which includes all
1416 /// the inputs for the RPC. In this case, the proto message is a
1417 /// [google.bigtable.admin.v2.CheckConsistencyRequest].
1418 /// Proto messages are converted to C++ classes by Protobuf, using the
1419 /// [Protobuf mapping rules].
1420 /// @param opts Optional. Override the class-level options, such as retry and
1421 /// backoff policies.
1422 /// @return the result of the RPC. The response message type
1423 /// ([google.bigtable.admin.v2.CheckConsistencyResponse])
1424 /// is mapped to a C++ class using the [Protobuf mapping rules].
1425 /// If the request fails, the [`StatusOr`] contains the error details.
1426 ///
1427 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1428 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1429 /// [Long Running Operation]: https://google.aip.dev/151
1430 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1431 /// [`future`]: @ref google::cloud::future
1432 /// [`StatusOr`]: @ref google::cloud::StatusOr
1433 /// [`Status`]: @ref google::cloud::Status
1434 /// [google.bigtable.admin.v2.CheckConsistencyRequest]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L736}
1435 /// [google.bigtable.admin.v2.CheckConsistencyResponse]: @googleapis_reference_link{google/bigtable/admin/v2/bigtable_table_admin.proto#L753}
1436 ///
1437 // clang-format on
1438 future<StatusOr<google::bigtable::admin::v2::CheckConsistencyResponse>>
1440 google::bigtable::admin::v2::CheckConsistencyRequest const& request,
1441 Options opts = {});
1442
1443 private:
1444 std::shared_ptr<BigtableTableAdminConnection> connection_;
1445 Options options_;
1446};
1447
1448GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
1449} // namespace bigtable_admin
1450} // namespace cloud
1451} // namespace google
1452
1453#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ADMIN_BIGTABLE_TABLE_ADMIN_CLIENT_H
Service for creating, configuring, and deleting Cloud Bigtable tables.
Definition: bigtable_table_admin_client.h:68
StatusOr< google::bigtable::admin::v2::CheckConsistencyResponse > CheckConsistency(std::string const &name, std::string const &consistency_token, Options opts={})
Checks replication consistency based on a consistency token, that is, if replication has caught up ba...
StatusOr< google::bigtable::admin::v2::Backup > UpdateBackup(google::bigtable::admin::v2::UpdateBackupRequest const &request, Options opts={})
Updates a pending or completed Cloud Bigtable Backup.
future< StatusOr< google::bigtable::admin::v2::Backup > > CreateBackup(std::string const &parent, std::string const &backup_id, google::bigtable::admin::v2::Backup const &backup, Options opts={})
Starts creating a new Cloud Bigtable Backup.
StatusOr< google::bigtable::admin::v2::Table > ModifyColumnFamilies(std::string const &name, std::vector< google::bigtable::admin::v2::ModifyColumnFamiliesRequest::Modification > const &modifications, Options opts={})
Performs a series of column family modifications on the specified table.
BigtableTableAdminClient(BigtableTableAdminClient &&)=default
future< StatusOr< google::bigtable::admin::v2::CheckConsistencyResponse > > AsyncCheckConsistency(std::string const &name, std::string const &consistency_token, Options opts={})
Checks replication consistency based on a consistency token, that is, if replication has caught up ba...
StatusOr< google::iam::v1::Policy > GetIamPolicy(std::string const &resource, Options opts={})
Gets the access control policy for a Table or Backup resource.
BigtableTableAdminClient(BigtableTableAdminClient const &)=default
StatusOr< google::bigtable::admin::v2::Table > GetTable(google::bigtable::admin::v2::GetTableRequest const &request, Options opts={})
Gets metadata information about the specified table.
StatusOr< google::bigtable::admin::v2::Table > ModifyColumnFamilies(google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &request, Options opts={})
Performs a series of column family modifications on the specified table.
BigtableTableAdminClient & operator=(BigtableTableAdminClient &&)=default
StatusOr< google::bigtable::admin::v2::CheckConsistencyResponse > CheckConsistency(google::bigtable::admin::v2::CheckConsistencyRequest const &request, Options opts={})
Checks replication consistency based on a consistency token, that is, if replication has caught up ba...
BigtableTableAdminClient & operator=(BigtableTableAdminClient const &)=default
StatusOr< google::bigtable::admin::v2::GenerateConsistencyTokenResponse > GenerateConsistencyToken(google::bigtable::admin::v2::GenerateConsistencyTokenRequest const &request, Options opts={})
Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mut...
Status DropRowRange(google::bigtable::admin::v2::DropRowRangeRequest const &request, Options opts={})
Permanently drop/delete a row range from a specified table.
StatusOr< google::bigtable::admin::v2::Backup > GetBackup(std::string const &name, Options opts={})
Gets metadata on a pending or completed Cloud Bigtable Backup.
future< StatusOr< google::bigtable::admin::v2::Table > > UpdateTable(google::bigtable::admin::v2::UpdateTableRequest const &request, Options opts={})
Updates a specified table.
StatusOr< google::iam::v1::TestIamPermissionsResponse > TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &request, Options opts={})
Returns permissions that the caller has on the specified Table or Backup resource.
StatusOr< google::bigtable::admin::v2::GenerateConsistencyTokenResponse > GenerateConsistencyToken(std::string const &name, Options opts={})
Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mut...
future< StatusOr< google::bigtable::admin::v2::CheckConsistencyResponse > > AsyncCheckConsistency(google::bigtable::admin::v2::CheckConsistencyRequest const &request, Options opts={})
Checks replication consistency based on a consistency token, that is, if replication has caught up ba...
Status DeleteBackup(std::string const &name, Options opts={})
Deletes a pending or completed Cloud Bigtable backup.
StreamRange< google::bigtable::admin::v2::Backup > ListBackups(google::bigtable::admin::v2::ListBackupsRequest request, Options opts={})
Lists Cloud Bigtable backups.
StreamRange< google::bigtable::admin::v2::Table > ListTables(std::string const &parent, Options opts={})
Lists all tables served from a specified instance.
StatusOr< google::iam::v1::Policy > SetIamPolicy(std::string const &resource, google::iam::v1::Policy const &policy, Options opts={})
Sets the access control policy on a Table or Backup resource.
future< StatusOr< google::bigtable::admin::v2::Table > > UndeleteTable(std::string const &name, Options opts={})
Restores a specified table which was accidentally deleted.
StatusOr< google::bigtable::admin::v2::Table > GetTable(std::string const &name, Options opts={})
Gets metadata information about the specified table.
future< StatusOr< google::bigtable::admin::v2::Backup > > CreateBackup(google::bigtable::admin::v2::CreateBackupRequest const &request, Options opts={})
Starts creating a new Cloud Bigtable Backup.
friend bool operator==(BigtableTableAdminClient const &a, BigtableTableAdminClient const &b)
Definition: bigtable_table_admin_client.h:86
future< StatusOr< google::bigtable::admin::v2::Table > > UndeleteTable(google::bigtable::admin::v2::UndeleteTableRequest const &request, Options opts={})
Restores a specified table which was accidentally deleted.
Status DeleteBackup(google::bigtable::admin::v2::DeleteBackupRequest const &request, Options opts={})
Deletes a pending or completed Cloud Bigtable backup.
StatusOr< google::iam::v1::Policy > SetIamPolicy(std::string const &resource, IamUpdater const &updater, Options opts={})
Updates the IAM policy for resource using an optimistic concurrency control loop.
StreamRange< google::bigtable::admin::v2::Backup > ListBackups(std::string const &parent, Options opts={})
Lists Cloud Bigtable backups.
Status DeleteTable(std::string const &name, Options opts={})
Permanently deletes a specified table and all of its data.
future< StatusOr< google::bigtable::admin::v2::Table > > UpdateTable(google::bigtable::admin::v2::Table const &table, google::protobuf::FieldMask const &update_mask, Options opts={})
Updates a specified table.
StatusOr< google::iam::v1::Policy > GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &request, Options opts={})
Gets the access control policy for a Table or Backup resource.
friend bool operator!=(BigtableTableAdminClient const &a, BigtableTableAdminClient const &b)
Definition: bigtable_table_admin_client.h:90
StatusOr< google::iam::v1::TestIamPermissionsResponse > TestIamPermissions(std::string const &resource, std::vector< std::string > const &permissions, Options opts={})
Returns permissions that the caller has on the specified Table or Backup resource.
Status DeleteTable(google::bigtable::admin::v2::DeleteTableRequest const &request, Options opts={})
Permanently deletes a specified table and all of its data.
StatusOr< google::bigtable::admin::v2::Table > CreateTable(std::string const &parent, std::string const &table_id, google::bigtable::admin::v2::Table const &table, Options opts={})
Creates a new table in the specified instance.
BigtableTableAdminClient(std::shared_ptr< BigtableTableAdminConnection > connection, Options opts={})
StatusOr< google::bigtable::admin::v2::Backup > GetBackup(google::bigtable::admin::v2::GetBackupRequest const &request, Options opts={})
Gets metadata on a pending or completed Cloud Bigtable Backup.
future< StatusOr< google::bigtable::admin::v2::Table > > RestoreTable(google::bigtable::admin::v2::RestoreTableRequest const &request, Options opts={})
Create a new table by restoring from a completed backup.
StatusOr< google::bigtable::admin::v2::Table > CreateTable(google::bigtable::admin::v2::CreateTableRequest const &request, Options opts={})
Creates a new table in the specified instance.
StatusOr< google::bigtable::admin::v2::Backup > UpdateBackup(google::bigtable::admin::v2::Backup const &backup, google::protobuf::FieldMask const &update_mask, Options opts={})
Updates a pending or completed Cloud Bigtable Backup.
StatusOr< google::iam::v1::Policy > SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &request, Options opts={})
Sets the access control policy on a Table or Backup resource.
StreamRange< google::bigtable::admin::v2::Table > ListTables(google::bigtable::admin::v2::ListTablesRequest request, Options opts={})
Lists all tables served from a specified instance.
The BigtableTableAdminConnection object for BigtableTableAdminClient.
Definition: bigtable_table_admin_connection.h:64
friend friend class future
Definition: bigtable_instance_admin_client.h:35