Google Cloud Bigtable C++ Client  0.11.0
A C++ Client Library for Google Cloud Bigtable
Public Member Functions | Friends | List of all members
google::cloud::bigtable::v0::AdminClient Class Referenceabstract

Connects to Cloud Bigtable's table administration APIs. More...

#include <google/cloud/bigtable/admin_client.h>

Public Member Functions

virtual ~AdminClient ()=default
 
virtual std::string const & project () const =0
 The project that this AdminClient works on. More...
 
virtual std::shared_ptr< grpc::Channel > Channel ()=0
 Return a new channel to handle admin operations. More...
 
virtual void reset ()=0
 Reset and create new Channels. More...
 

Protected Member Functions

The `google.bigtable.admin.v2.TableAdmin` operations.
virtual grpc::Status CreateTable (grpc::ClientContext *context, google::bigtable::admin::v2::CreateTableRequest const &request, google::bigtable::admin::v2::Table *response)=0
 
virtual grpc::Status ListTables (grpc::ClientContext *context, google::bigtable::admin::v2::ListTablesRequest const &request, google::bigtable::admin::v2::ListTablesResponse *response)=0
 
virtual grpc::Status GetTable (grpc::ClientContext *context, google::bigtable::admin::v2::GetTableRequest const &request, google::bigtable::admin::v2::Table *response)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table > > AsyncGetTable (grpc::ClientContext *context, google::bigtable::admin::v2::GetTableRequest const &request, grpc::CompletionQueue *cq)=0
 
virtual grpc::Status DeleteTable (grpc::ClientContext *context, google::bigtable::admin::v2::DeleteTableRequest const &request, google::protobuf::Empty *response)=0
 
virtual grpc::Status ModifyColumnFamilies (grpc::ClientContext *context, google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &request, google::bigtable::admin::v2::Table *response)=0
 
virtual grpc::Status DropRowRange (grpc::ClientContext *context, google::bigtable::admin::v2::DropRowRangeRequest const &request, google::protobuf::Empty *response)=0
 
virtual grpc::Status GenerateConsistencyToken (grpc::ClientContext *context, google::bigtable::admin::v2::GenerateConsistencyTokenRequest const &request, google::bigtable::admin::v2::GenerateConsistencyTokenResponse *response)=0
 
virtual grpc::Status CheckConsistency (grpc::ClientContext *context, google::bigtable::admin::v2::CheckConsistencyRequest const &request, google::bigtable::admin::v2::CheckConsistencyResponse *response)=0
 
The `google.longrunning.Operations` wrappers.
virtual grpc::Status GetOperation (grpc::ClientContext *context, google::longrunning::GetOperationRequest const &request, google::longrunning::Operation *response)=0
 
The `google.bigtable.admin.v2.TableAdmin` Async operations.
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table > > AsyncCreateTable (grpc::ClientContext *context, google::bigtable::admin::v2::CreateTableRequest const &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::protobuf::Empty > > AsyncDeleteTable (grpc::ClientContext *context, google::bigtable::admin::v2::DeleteTableRequest const &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table > > AsyncModifyColumnFamilies (grpc::ClientContext *context, google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::protobuf::Empty > > AsyncDropRowRange (grpc::ClientContext *context, google::bigtable::admin::v2::DropRowRangeRequest const &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::GenerateConsistencyTokenResponse > > AsyncGenerateConsistencyToken (grpc::ClientContext *context, const google::bigtable::admin::v2::GenerateConsistencyTokenRequest &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::CheckConsistencyResponse > > AsyncCheckConsistency (grpc::ClientContext *context, const google::bigtable::admin::v2::CheckConsistencyRequest &request, grpc::CompletionQueue *cq)=0
 
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::ListTablesResponse > > AsyncListTables (grpc::ClientContext *context, google::bigtable::admin::v2::ListTablesRequest const &request, grpc::CompletionQueue *cq)=0
 
The `google.longrunning.Operations` async wrappers.
virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface< google::longrunning::Operation > > AsyncGetOperation (grpc::ClientContext *context, const google::longrunning::GetOperationRequest &request, grpc::CompletionQueue *cq)=0
 

Friends

class TableAdmin
 

Detailed Description

Connects to Cloud Bigtable's table administration APIs.

This class is used by the Cloud Bigtable wrappers to access Cloud Bigtable. Multiple bigtable::TableAdmin objects may share a connection via a single AdminClient object. The AdminClient object is configured at construction time, this configuration includes the credentials, access endpoints, default timeouts, and other gRPC configuration options. This is an interface class because it is also used as a dependency injection point in some of the tests.

Cost
Applications should avoid unnecessarily creating new objects of type AdminClient. Creating a new object of this type typically requires connecting to the Cloud Bigtable servers, and performing the authentication workflows with Google Cloud Platform. These operations can take many milliseconds, therefore applications should try to reuse the same AdminClient instances when possible.

Definition at line 56 of file admin_client.h.

Constructor & Destructor Documentation

◆ ~AdminClient()

virtual google::cloud::bigtable::v0::AdminClient::~AdminClient ( )
virtualdefault

Member Function Documentation

◆ AsyncCheckConsistency()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::CheckConsistencyResponse> > google::cloud::bigtable::v0::AdminClient::AsyncCheckConsistency ( grpc::ClientContext *  context,
const google::bigtable::admin::v2::CheckConsistencyRequest &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncCreateTable()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table> > google::cloud::bigtable::v0::AdminClient::AsyncCreateTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::CreateTableRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncDeleteTable()

virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface<google::protobuf::Empty> > google::cloud::bigtable::v0::AdminClient::AsyncDeleteTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::DeleteTableRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncDropRowRange()

virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface<google::protobuf::Empty> > google::cloud::bigtable::v0::AdminClient::AsyncDropRowRange ( grpc::ClientContext *  context,
google::bigtable::admin::v2::DropRowRangeRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncGenerateConsistencyToken()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::GenerateConsistencyTokenResponse> > google::cloud::bigtable::v0::AdminClient::AsyncGenerateConsistencyToken ( grpc::ClientContext *  context,
const google::bigtable::admin::v2::GenerateConsistencyTokenRequest &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncGetOperation()

virtual std::unique_ptr< grpc::ClientAsyncResponseReaderInterface<google::longrunning::Operation> > google::cloud::bigtable::v0::AdminClient::AsyncGetOperation ( grpc::ClientContext *  context,
const google::longrunning::GetOperationRequest &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncGetTable()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table> > google::cloud::bigtable::v0::AdminClient::AsyncGetTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::GetTableRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncListTables()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::ListTablesResponse> > google::cloud::bigtable::v0::AdminClient::AsyncListTables ( grpc::ClientContext *  context,
google::bigtable::admin::v2::ListTablesRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ AsyncModifyColumnFamilies()

virtual std::unique_ptr<grpc::ClientAsyncResponseReaderInterface< google::bigtable::admin::v2::Table> > google::cloud::bigtable::v0::AdminClient::AsyncModifyColumnFamilies ( grpc::ClientContext *  context,
google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &  request,
grpc::CompletionQueue *  cq 
)
protectedpure virtual

◆ Channel()

virtual std::shared_ptr<grpc::Channel> google::cloud::bigtable::v0::AdminClient::Channel ( )
pure virtual

Return a new channel to handle admin operations.

Intended to access rarely used services in the same endpoints as the Bigtable admin interfaces, for example, the google.longrunning.Operations.

◆ CheckConsistency()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::CheckConsistency ( grpc::ClientContext *  context,
google::bigtable::admin::v2::CheckConsistencyRequest const &  request,
google::bigtable::admin::v2::CheckConsistencyResponse *  response 
)
protectedpure virtual

◆ CreateTable()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::CreateTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::CreateTableRequest const &  request,
google::bigtable::admin::v2::Table *  response 
)
protectedpure virtual

◆ DeleteTable()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::DeleteTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::DeleteTableRequest const &  request,
google::protobuf::Empty *  response 
)
protectedpure virtual

◆ DropRowRange()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::DropRowRange ( grpc::ClientContext *  context,
google::bigtable::admin::v2::DropRowRangeRequest const &  request,
google::protobuf::Empty *  response 
)
protectedpure virtual

◆ GenerateConsistencyToken()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::GenerateConsistencyToken ( grpc::ClientContext *  context,
google::bigtable::admin::v2::GenerateConsistencyTokenRequest const &  request,
google::bigtable::admin::v2::GenerateConsistencyTokenResponse *  response 
)
protectedpure virtual

◆ GetOperation()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::GetOperation ( grpc::ClientContext *  context,
google::longrunning::GetOperationRequest const &  request,
google::longrunning::Operation *  response 
)
protectedpure virtual

◆ GetTable()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::GetTable ( grpc::ClientContext *  context,
google::bigtable::admin::v2::GetTableRequest const &  request,
google::bigtable::admin::v2::Table *  response 
)
protectedpure virtual

◆ ListTables()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::ListTables ( grpc::ClientContext *  context,
google::bigtable::admin::v2::ListTablesRequest const &  request,
google::bigtable::admin::v2::ListTablesResponse *  response 
)
protectedpure virtual

◆ ModifyColumnFamilies()

virtual grpc::Status google::cloud::bigtable::v0::AdminClient::ModifyColumnFamilies ( grpc::ClientContext *  context,
google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &  request,
google::bigtable::admin::v2::Table *  response 
)
protectedpure virtual

◆ project()

virtual std::string const& google::cloud::bigtable::v0::AdminClient::project ( ) const
pure virtual

The project that this AdminClient works on.

◆ reset()

virtual void google::cloud::bigtable::v0::AdminClient::reset ( )
pure virtual

Reset and create new Channels.

Currently this is only used in testing. In the future, we expect this, or a similar member function, will be needed to handle errors that require a new connection, or an explicit refresh of the credentials.

Friends And Related Function Documentation

◆ TableAdmin

friend class TableAdmin
friend

Definition at line 85 of file admin_client.h.