Google Cloud Spanner C++ Client  1.35.0
A C++ Client Library for Google Cloud Spanner
Public Member Functions | Friends | List of all members
google::cloud::spanner_admin::DatabaseAdminClient Class Reference

Cloud Spanner Database Admin API. More...

#include <google/cloud/spanner/admin/database_admin_client.h>

Public Member Functions

 DatabaseAdminClient (std::shared_ptr< DatabaseAdminConnection > connection, Options options={})
 
 ~DatabaseAdminClient ()
 
 DatabaseAdminClient (DatabaseAdminClient const &)=default
 
DatabaseAdminClientoperator= (DatabaseAdminClient const &)=default
 
 DatabaseAdminClient (DatabaseAdminClient &&)=default
 
DatabaseAdminClientoperator= (DatabaseAdminClient &&)=default
 
StreamRange< google::spanner::admin::database::v1::Database > ListDatabases (std::string const &parent, Options options={})
 Lists Cloud Spanner databases. More...
 
StreamRange< google::spanner::admin::database::v1::Database > ListDatabases (google::spanner::admin::database::v1::ListDatabasesRequest request, Options options={})
 Lists Cloud Spanner databases. More...
 
future< StatusOr< google::spanner::admin::database::v1::Database > > CreateDatabase (std::string const &parent, std::string const &create_statement, Options options={})
 Creates a new Cloud Spanner database and starts to prepare it for serving. More...
 
future< StatusOr< google::spanner::admin::database::v1::Database > > CreateDatabase (google::spanner::admin::database::v1::CreateDatabaseRequest const &request, Options options={})
 Creates a new Cloud Spanner database and starts to prepare it for serving. More...
 
StatusOr< google::spanner::admin::database::v1::Database > GetDatabase (std::string const &name, Options options={})
 Gets the state of a Cloud Spanner database. More...
 
StatusOr< google::spanner::admin::database::v1::Database > GetDatabase (google::spanner::admin::database::v1::GetDatabaseRequest const &request, Options options={})
 Gets the state of a Cloud Spanner database. More...
 
future< StatusOr< google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata > > UpdateDatabaseDdl (std::string const &database, std::vector< std::string > const &statements, Options options={})
 Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. More...
 
future< StatusOr< google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata > > UpdateDatabaseDdl (google::spanner::admin::database::v1::UpdateDatabaseDdlRequest const &request, Options options={})
 Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. More...
 
Status DropDatabase (std::string const &database, Options options={})
 Drops (aka deletes) a Cloud Spanner database. More...
 
Status DropDatabase (google::spanner::admin::database::v1::DropDatabaseRequest const &request, Options options={})
 Drops (aka deletes) a Cloud Spanner database. More...
 
StatusOr< google::spanner::admin::database::v1::GetDatabaseDdlResponse > GetDatabaseDdl (std::string const &database, Options options={})
 Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. More...
 
StatusOr< google::spanner::admin::database::v1::GetDatabaseDdlResponse > GetDatabaseDdl (google::spanner::admin::database::v1::GetDatabaseDdlRequest const &request, Options options={})
 Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. More...
 
StatusOr< google::iam::v1::Policy > SetIamPolicy (std::string const &resource, google::iam::v1::Policy const &policy, Options options={})
 Sets the access control policy on a database or backup resource. More...
 
StatusOr< google::iam::v1::Policy > SetIamPolicy (std::string const &resource, IamUpdater const &updater, Options options={})
 Updates the IAM policy for resource using an optimistic concurrency control loop. More...
 
StatusOr< google::iam::v1::Policy > SetIamPolicy (google::iam::v1::SetIamPolicyRequest const &request, Options options={})
 Sets the access control policy on a database or backup resource. More...
 
StatusOr< google::iam::v1::Policy > GetIamPolicy (std::string const &resource, Options options={})
 Gets the access control policy for a database or backup resource. More...
 
StatusOr< google::iam::v1::Policy > GetIamPolicy (google::iam::v1::GetIamPolicyRequest const &request, Options options={})
 Gets the access control policy for a database or backup resource. More...
 
StatusOr< google::iam::v1::TestIamPermissionsResponse > TestIamPermissions (std::string const &resource, std::vector< std::string > const &permissions, Options options={})
 Returns permissions that the caller has on the specified database or backup resource. More...
 
StatusOr< google::iam::v1::TestIamPermissionsResponse > TestIamPermissions (google::iam::v1::TestIamPermissionsRequest const &request, Options options={})
 Returns permissions that the caller has on the specified database or backup resource. More...
 
future< StatusOr< google::spanner::admin::database::v1::Backup > > CreateBackup (std::string const &parent, google::spanner::admin::database::v1::Backup const &backup, std::string const &backup_id, Options options={})
 Starts creating a new Cloud Spanner Backup. More...
 
future< StatusOr< google::spanner::admin::database::v1::Backup > > CreateBackup (google::spanner::admin::database::v1::CreateBackupRequest const &request, Options options={})
 Starts creating a new Cloud Spanner Backup. More...
 
StatusOr< google::spanner::admin::database::v1::Backup > GetBackup (std::string const &name, Options options={})
 Gets metadata on a pending or completed Backup. More...
 
StatusOr< google::spanner::admin::database::v1::Backup > GetBackup (google::spanner::admin::database::v1::GetBackupRequest const &request, Options options={})
 Gets metadata on a pending or completed Backup. More...
 
StatusOr< google::spanner::admin::database::v1::Backup > UpdateBackup (google::spanner::admin::database::v1::Backup const &backup, google::protobuf::FieldMask const &update_mask, Options options={})
 Updates a pending or completed Backup. More...
 
StatusOr< google::spanner::admin::database::v1::Backup > UpdateBackup (google::spanner::admin::database::v1::UpdateBackupRequest const &request, Options options={})
 Updates a pending or completed Backup. More...
 
Status DeleteBackup (std::string const &name, Options options={})
 Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. More...
 
Status DeleteBackup (google::spanner::admin::database::v1::DeleteBackupRequest const &request, Options options={})
 Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. More...
 
StreamRange< google::spanner::admin::database::v1::Backup > ListBackups (std::string const &parent, Options options={})
 Lists completed and pending backups. More...
 
StreamRange< google::spanner::admin::database::v1::Backup > ListBackups (google::spanner::admin::database::v1::ListBackupsRequest request, Options options={})
 Lists completed and pending backups. More...
 
future< StatusOr< google::spanner::admin::database::v1::Database > > RestoreDatabase (std::string const &parent, std::string const &database_id, std::string const &backup, Options options={})
 Create a new database by restoring from a completed backup. More...
 
future< StatusOr< google::spanner::admin::database::v1::Database > > RestoreDatabase (google::spanner::admin::database::v1::RestoreDatabaseRequest const &request, Options options={})
 Create a new database by restoring from a completed backup. More...
 
StreamRange< google::longrunning::Operation > ListDatabaseOperations (std::string const &parent, Options options={})
 Lists database longrunning-operations. More...
 
StreamRange< google::longrunning::Operation > ListDatabaseOperations (google::spanner::admin::database::v1::ListDatabaseOperationsRequest request, Options options={})
 Lists database longrunning-operations. More...
 
StreamRange< google::longrunning::Operation > ListBackupOperations (std::string const &parent, Options options={})
 Lists the backup long-running operations in the given instance. More...
 
StreamRange< google::longrunning::Operation > ListBackupOperations (google::spanner::admin::database::v1::ListBackupOperationsRequest request, Options options={})
 Lists the backup long-running operations in the given instance. More...
 

Friends

bool operator== (DatabaseAdminClient const &a, DatabaseAdminClient const &b)
 
bool operator!= (DatabaseAdminClient const &a, DatabaseAdminClient const &b)
 

Detailed Description

Cloud Spanner Database Admin API.

The Cloud Spanner Database Admin API can be used to create, drop, and list databases. It also enables updating the schema of pre-existing databases. It can be also used to create, delete and list backups for a database and to restore from an existing backup.

Equality

Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection> objects compare equal. Objects that compare equal share the same underlying resources.

Performance

Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.

Thread Safety

Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.

Definition at line 68 of file database_admin_client.h.

Constructor & Destructor Documentation

◆ DatabaseAdminClient() [1/3]

google::cloud::spanner_admin::DatabaseAdminClient::DatabaseAdminClient ( std::shared_ptr< DatabaseAdminConnection connection,
Options  options = {} 
)
explicit

◆ ~DatabaseAdminClient()

google::cloud::spanner_admin::DatabaseAdminClient::~DatabaseAdminClient ( )

◆ DatabaseAdminClient() [2/3]

google::cloud::spanner_admin::DatabaseAdminClient::DatabaseAdminClient ( DatabaseAdminClient const &  )
default

◆ DatabaseAdminClient() [3/3]

google::cloud::spanner_admin::DatabaseAdminClient::DatabaseAdminClient ( DatabaseAdminClient &&  )
default

Member Function Documentation

◆ CreateBackup() [1/2]

future<StatusOr<google::spanner::admin::database::v1::Backup> > google::cloud::spanner_admin::DatabaseAdminClient::CreateBackup ( google::spanner::admin::database::v1::CreateBackupRequest const &  request,
Options  options = {} 
)

Starts creating a new Cloud Spanner Backup.

The returned backup [long-running operation][google.longrunning.Operation] will have a name of the format projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id> and can be used to track creation of the backup. The [metadata][google.longrunning.Operation.metadata] field type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The [response][google.longrunning.Operation.response] field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.

Parameters
requestgoogle::spanner::admin::database::v1::CreateBackupRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ CreateBackup() [2/2]

future<StatusOr<google::spanner::admin::database::v1::Backup> > google::cloud::spanner_admin::DatabaseAdminClient::CreateBackup ( std::string const &  parent,
google::spanner::admin::database::v1::Backup const &  backup,
std::string const &  backup_id,
Options  options = {} 
)

Starts creating a new Cloud Spanner Backup.

The returned backup [long-running operation][google.longrunning.Operation] will have a name of the format projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id> and can be used to track creation of the backup. The [metadata][google.longrunning.Operation.metadata] field type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The [response][google.longrunning.Operation.response] field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.

Parameters
parentRequired. The name of the instance in which the backup will be created. This must be the same instance that contains the database the backup will be created from. The backup will be stored in the location(s) specified in the instance configuration of this instance. Values are of the form projects/<project>/instances/<instance>.
backupRequired. The backup to create.
backup_idRequired. The id of the backup to be created. The backup_id appended to parent forms the full backup name of the form projects/<project>/instances/<instance>/backups/<backup_id>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ CreateDatabase() [1/2]

future<StatusOr<google::spanner::admin::database::v1::Database> > google::cloud::spanner_admin::DatabaseAdminClient::CreateDatabase ( google::spanner::admin::database::v1::CreateDatabaseRequest const &  request,
Options  options = {} 
)

Creates a new Cloud Spanner database and starts to prepare it for serving.

The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track preparation of the database. The [metadata][google.longrunning.Operation.metadata] field type is [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The [response][google.longrunning.Operation.response] field type is Database, if successful.

Parameters
requestgoogle::spanner::admin::database::v1::CreateDatabaseRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ CreateDatabase() [2/2]

future<StatusOr<google::spanner::admin::database::v1::Database> > google::cloud::spanner_admin::DatabaseAdminClient::CreateDatabase ( std::string const &  parent,
std::string const &  create_statement,
Options  options = {} 
)

Creates a new Cloud Spanner database and starts to prepare it for serving.

The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track preparation of the database. The [metadata][google.longrunning.Operation.metadata] field type is [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The [response][google.longrunning.Operation.response] field type is Database, if successful.

Parameters
parentRequired. The name of the instance that will serve the new database. Values are of the form projects/<project>/instances/<instance>.
create_statementRequired. A CREATE DATABASE statement, which specifies the ID of the new database. The database ID must conform to the regular expression [a-z][a-z0-9_\-]*[a-z0-9] and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must be enclosed in backticks (`).
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ DeleteBackup() [1/2]

Status google::cloud::spanner_admin::DatabaseAdminClient::DeleteBackup ( google::spanner::admin::database::v1::DeleteBackupRequest const &  request,
Options  options = {} 
)

Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
requestgoogle::spanner::admin::database::v1::DeleteBackupRequest
optionsOptional. Operation options.

◆ DeleteBackup() [2/2]

Status google::cloud::spanner_admin::DatabaseAdminClient::DeleteBackup ( std::string const &  name,
Options  options = {} 
)

Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
nameRequired. Name of the backup to delete. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
optionsOptional. Operation options.

◆ DropDatabase() [1/2]

Status google::cloud::spanner_admin::DatabaseAdminClient::DropDatabase ( google::spanner::admin::database::v1::DropDatabaseRequest const &  request,
Options  options = {} 
)

Drops (aka deletes) a Cloud Spanner database.

Completed backups for the database will be retained according to their expire_time.

Parameters
requestgoogle::spanner::admin::database::v1::DropDatabaseRequest
optionsOptional. Operation options.

◆ DropDatabase() [2/2]

Status google::cloud::spanner_admin::DatabaseAdminClient::DropDatabase ( std::string const &  database,
Options  options = {} 
)

Drops (aka deletes) a Cloud Spanner database.

Completed backups for the database will be retained according to their expire_time.

Parameters
databaseRequired. The database to be dropped.
optionsOptional. Operation options.

◆ GetBackup() [1/2]

StatusOr<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::GetBackup ( google::spanner::admin::database::v1::GetBackupRequest const &  request,
Options  options = {} 
)

Gets metadata on a pending or completed Backup.

Parameters
requestgoogle::spanner::admin::database::v1::GetBackupRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ GetBackup() [2/2]

StatusOr<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::GetBackup ( std::string const &  name,
Options  options = {} 
)

Gets metadata on a pending or completed Backup.

Parameters
nameRequired. Name of the backup. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ GetDatabase() [1/2]

StatusOr<google::spanner::admin::database::v1::Database> google::cloud::spanner_admin::DatabaseAdminClient::GetDatabase ( google::spanner::admin::database::v1::GetDatabaseRequest const &  request,
Options  options = {} 
)

Gets the state of a Cloud Spanner database.

Parameters
requestgoogle::spanner::admin::database::v1::GetDatabaseRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ GetDatabase() [2/2]

StatusOr<google::spanner::admin::database::v1::Database> google::cloud::spanner_admin::DatabaseAdminClient::GetDatabase ( std::string const &  name,
Options  options = {} 
)

Gets the state of a Cloud Spanner database.

Parameters
nameRequired. The name of the requested database. Values are of the form projects/<project>/instances/<instance>/databases/<database>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ GetDatabaseDdl() [1/2]

StatusOr<google::spanner::admin::database::v1::GetDatabaseDdlResponse> google::cloud::spanner_admin::DatabaseAdminClient::GetDatabaseDdl ( google::spanner::admin::database::v1::GetDatabaseDdlRequest const &  request,
Options  options = {} 
)

Returns the schema of a Cloud Spanner database as a list of formatted DDL statements.

This method does not show pending schema updates, those may be queried using the [Operations][google.longrunning.Operations] API.

Parameters
requestgoogle::spanner::admin::database::v1::GetDatabaseDdlRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::GetDatabaseDdlResponse

◆ GetDatabaseDdl() [2/2]

StatusOr<google::spanner::admin::database::v1::GetDatabaseDdlResponse> google::cloud::spanner_admin::DatabaseAdminClient::GetDatabaseDdl ( std::string const &  database,
Options  options = {} 
)

Returns the schema of a Cloud Spanner database as a list of formatted DDL statements.

This method does not show pending schema updates, those may be queried using the [Operations][google.longrunning.Operations] API.

Parameters
databaseRequired. The database whose schema we wish to get. Values are of the form projects/<project>/instances/<instance>/databases/<database>
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::GetDatabaseDdlResponse

◆ GetIamPolicy() [1/2]

StatusOr<google::iam::v1::Policy> google::cloud::spanner_admin::DatabaseAdminClient::GetIamPolicy ( google::iam::v1::GetIamPolicyRequest const &  request,
Options  options = {} 
)

Gets the access control policy for a database or backup resource.

Returns an empty policy if a database or backup exists but does not have a policy set.

Authorization requires spanner.databases.getIamPolicy permission on [resource][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.getIamPolicy permission on [resource][google.iam.v1.GetIamPolicyRequest.resource].

Parameters
requestgoogle::iam::v1::GetIamPolicyRequest
optionsOptional. Operation options.
Returns
google::iam::v1::Policy

◆ GetIamPolicy() [2/2]

StatusOr<google::iam::v1::Policy> google::cloud::spanner_admin::DatabaseAdminClient::GetIamPolicy ( std::string const &  resource,
Options  options = {} 
)

Gets the access control policy for a database or backup resource.

Returns an empty policy if a database or backup exists but does not have a policy set.

Authorization requires spanner.databases.getIamPolicy permission on [resource][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.getIamPolicy permission on [resource][google.iam.v1.GetIamPolicyRequest.resource].

Parameters
resourceREQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.
optionsOptional. Operation options.
Returns
google::iam::v1::Policy

◆ ListBackupOperations() [1/2]

StreamRange<google::longrunning::Operation> google::cloud::spanner_admin::DatabaseAdminClient::ListBackupOperations ( google::spanner::admin::database::v1::ListBackupOperationsRequest  request,
Options  options = {} 
)

Lists the backup long-running operations in the given instance.

A backup operation has a name of the form projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>. The long-running operation [metadata][google.longrunning.Operation.metadata] field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by operation.metadata.value.progress.start_time in descending order starting from the most recently started operation.

Parameters
requestgoogle::spanner::admin::database::v1::ListBackupOperationsRequest
optionsOptional. Operation options.
Returns
google::longrunning::Operation

◆ ListBackupOperations() [2/2]

StreamRange<google::longrunning::Operation> google::cloud::spanner_admin::DatabaseAdminClient::ListBackupOperations ( std::string const &  parent,
Options  options = {} 
)

Lists the backup long-running operations in the given instance.

A backup operation has a name of the form projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>. The long-running operation [metadata][google.longrunning.Operation.metadata] field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by operation.metadata.value.progress.start_time in descending order starting from the most recently started operation.

Parameters
parentRequired. The instance of the backup operations. Values are of the form projects/<project>/instances/<instance>.
optionsOptional. Operation options.
Returns
google::longrunning::Operation

◆ ListBackups() [1/2]

StreamRange<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::ListBackups ( google::spanner::admin::database::v1::ListBackupsRequest  request,
Options  options = {} 
)

Lists completed and pending backups.

Backups returned are ordered by create_time in descending order, starting from the most recent create_time.

Parameters
requestgoogle::spanner::admin::database::v1::ListBackupsRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ ListBackups() [2/2]

StreamRange<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::ListBackups ( std::string const &  parent,
Options  options = {} 
)

Lists completed and pending backups.

Backups returned are ordered by create_time in descending order, starting from the most recent create_time.

Parameters
parentRequired. The instance to list backups from. Values are of the form projects/<project>/instances/<instance>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ ListDatabaseOperations() [1/2]

StreamRange<google::longrunning::Operation> google::cloud::spanner_admin::DatabaseAdminClient::ListDatabaseOperations ( google::spanner::admin::database::v1::ListDatabaseOperationsRequest  request,
Options  options = {} 
)

Lists database longrunning-operations.

A database operation has a name of the form projects/<project>/instances/<instance>/databases/<database>/operations/<operation>. The long-running operation [metadata][google.longrunning.Operation.metadata] field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.

Parameters
requestgoogle::spanner::admin::database::v1::ListDatabaseOperationsRequest
optionsOptional. Operation options.
Returns
google::longrunning::Operation

◆ ListDatabaseOperations() [2/2]

StreamRange<google::longrunning::Operation> google::cloud::spanner_admin::DatabaseAdminClient::ListDatabaseOperations ( std::string const &  parent,
Options  options = {} 
)

Lists database longrunning-operations.

A database operation has a name of the form projects/<project>/instances/<instance>/databases/<database>/operations/<operation>. The long-running operation [metadata][google.longrunning.Operation.metadata] field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.

Parameters
parentRequired. The instance of the database operations. Values are of the form projects/<project>/instances/<instance>.
optionsOptional. Operation options.
Returns
google::longrunning::Operation

◆ ListDatabases() [1/2]

StreamRange<google::spanner::admin::database::v1::Database> google::cloud::spanner_admin::DatabaseAdminClient::ListDatabases ( google::spanner::admin::database::v1::ListDatabasesRequest  request,
Options  options = {} 
)

Lists Cloud Spanner databases.

Parameters
requestgoogle::spanner::admin::database::v1::ListDatabasesRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ ListDatabases() [2/2]

StreamRange<google::spanner::admin::database::v1::Database> google::cloud::spanner_admin::DatabaseAdminClient::ListDatabases ( std::string const &  parent,
Options  options = {} 
)

Lists Cloud Spanner databases.

Parameters
parentRequired. The instance whose databases should be listed. Values are of the form projects/<project>/instances/<instance>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ operator=() [1/2]

DatabaseAdminClient& google::cloud::spanner_admin::DatabaseAdminClient::operator= ( DatabaseAdminClient &&  )
default

◆ operator=() [2/2]

DatabaseAdminClient& google::cloud::spanner_admin::DatabaseAdminClient::operator= ( DatabaseAdminClient const &  )
default

◆ RestoreDatabase() [1/2]

future<StatusOr<google::spanner::admin::database::v1::Database> > google::cloud::spanner_admin::DatabaseAdminClient::RestoreDatabase ( google::spanner::admin::database::v1::RestoreDatabaseRequest const &  request,
Options  options = {} 
)

Create a new database by restoring from a completed backup.

The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database [long-running operation][google.longrunning.Operation] has a name of the format projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>, and can be used to track the progress of the operation, and to cancel it. The [metadata][google.longrunning.Operation.metadata] field type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The [response][google.longrunning.Operation.response] type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete.

Parameters
requestgoogle::spanner::admin::database::v1::RestoreDatabaseRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ RestoreDatabase() [2/2]

future<StatusOr<google::spanner::admin::database::v1::Database> > google::cloud::spanner_admin::DatabaseAdminClient::RestoreDatabase ( std::string const &  parent,
std::string const &  database_id,
std::string const &  backup,
Options  options = {} 
)

Create a new database by restoring from a completed backup.

The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database [long-running operation][google.longrunning.Operation] has a name of the format projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>, and can be used to track the progress of the operation, and to cancel it. The [metadata][google.longrunning.Operation.metadata] field type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The [response][google.longrunning.Operation.response] type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete.

Parameters
parentRequired. The name of the instance in which to create the restored database. This instance must be in the same project and have the same instance configuration as the instance containing the source backup. Values are of the form projects/<project>/instances/<instance>.
database_idRequired. The id of the database to create and restore to. This database must not already exist. The database_id appended to parent forms the full database name of the form projects/<project>/instances/<instance>/databases/<database_id>.
backupName of the backup from which to restore. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Database

◆ SetIamPolicy() [1/3]

StatusOr<google::iam::v1::Policy> google::cloud::spanner_admin::DatabaseAdminClient::SetIamPolicy ( google::iam::v1::SetIamPolicyRequest const &  request,
Options  options = {} 
)

Sets the access control policy on a database or backup resource.

Replaces any existing policy.

Authorization requires spanner.databases.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource].

Parameters
requestgoogle::iam::v1::SetIamPolicyRequest
optionsOptional. Operation options.
Returns
google::iam::v1::Policy

◆ SetIamPolicy() [2/3]

StatusOr<google::iam::v1::Policy> google::cloud::spanner_admin::DatabaseAdminClient::SetIamPolicy ( std::string const &  resource,
google::iam::v1::Policy const &  policy,
Options  options = {} 
)

Sets the access control policy on a database or backup resource.

Replaces any existing policy.

Authorization requires spanner.databases.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource].

Parameters
resourceREQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
policyREQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
optionsOptional. Operation options.
Returns
google::iam::v1::Policy

◆ SetIamPolicy() [3/3]

StatusOr<google::iam::v1::Policy> google::cloud::spanner_admin::DatabaseAdminClient::SetIamPolicy ( std::string const &  resource,
IamUpdater const &  updater,
Options  options = {} 
)

Updates the IAM policy for resource using an optimistic concurrency control loop.

The loop fetches the current policy for resource, and passes it to updater, which should return the new policy. This new policy should use the current etag so that the read-modify-write cycle can detect races and rerun the update when there is a mismatch. If the new policy does not have an etag, the existing policy will be blindly overwritten. If updater does not yield a policy, the control loop is terminated and kCancelled is returned.

Parameters
resourceRequired. The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
updaterRequired. Functor to map the current policy to a new one.
optionsOptional. Options to control the loop. Expected options are:
Returns
google::iam::v1::Policy

◆ TestIamPermissions() [1/2]

StatusOr<google::iam::v1::TestIamPermissionsResponse> google::cloud::spanner_admin::DatabaseAdminClient::TestIamPermissions ( google::iam::v1::TestIamPermissionsRequest const &  request,
Options  options = {} 
)

Returns permissions that the caller has on the specified database or backup resource.

Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has spanner.databases.list permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has spanner.backups.list permission on the containing instance.

Parameters
requestgoogle::iam::v1::TestIamPermissionsRequest
optionsOptional. Operation options.
Returns
google::iam::v1::TestIamPermissionsResponse

◆ TestIamPermissions() [2/2]

StatusOr<google::iam::v1::TestIamPermissionsResponse> google::cloud::spanner_admin::DatabaseAdminClient::TestIamPermissions ( std::string const &  resource,
std::vector< std::string > const &  permissions,
Options  options = {} 
)

Returns permissions that the caller has on the specified database or backup resource.

Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has spanner.databases.list permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has spanner.backups.list permission on the containing instance.

Parameters
resourceREQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.
permissionsThe set of permissions to check for the resource. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.
optionsOptional. Operation options.
Returns
google::iam::v1::TestIamPermissionsResponse

◆ UpdateBackup() [1/2]

StatusOr<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::UpdateBackup ( google::spanner::admin::database::v1::Backup const &  backup,
google::protobuf::FieldMask const &  update_mask,
Options  options = {} 
)

Updates a pending or completed Backup.

Parameters
backupRequired. The backup to update. backup.name, and the fields to be updated as specified by update_mask are required. Other fields are ignored. Update is only supported for the following fields:
  • backup.expire_time.
update_maskRequired. A mask specifying which fields (e.g. expire_time) in the Backup resource should be updated. This mask is relative to the Backup resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally by clients that do not know about them.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ UpdateBackup() [2/2]

StatusOr<google::spanner::admin::database::v1::Backup> google::cloud::spanner_admin::DatabaseAdminClient::UpdateBackup ( google::spanner::admin::database::v1::UpdateBackupRequest const &  request,
Options  options = {} 
)

Updates a pending or completed Backup.

Parameters
requestgoogle::spanner::admin::database::v1::UpdateBackupRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::Backup

◆ UpdateDatabaseDdl() [1/2]

future< StatusOr<google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata> > google::cloud::spanner_admin::DatabaseAdminClient::UpdateDatabaseDdl ( google::spanner::admin::database::v1::UpdateDatabaseDdlRequest const &  request,
Options  options = {} 
)

Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc.

The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track execution of the schema change(s). The [metadata][google.longrunning.Operation.metadata] field type is UpdateDatabaseDdlMetadata. The operation has no response.

Parameters
requestgoogle::spanner::admin::database::v1::UpdateDatabaseDdlRequest
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata

◆ UpdateDatabaseDdl() [2/2]

future< StatusOr<google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata> > google::cloud::spanner_admin::DatabaseAdminClient::UpdateDatabaseDdl ( std::string const &  database,
std::vector< std::string > const &  statements,
Options  options = {} 
)

Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc.

The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track execution of the schema change(s). The [metadata][google.longrunning.Operation.metadata] field type is UpdateDatabaseDdlMetadata. The operation has no response.

Parameters
databaseRequired. The database to update.
statementsRequired. DDL statements to be applied to the database.
optionsOptional. Operation options.
Returns
google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( DatabaseAdminClient const &  a,
DatabaseAdminClient const &  b 
)
friend

Definition at line 89 of file database_admin_client.h.

◆ operator==

bool operator== ( DatabaseAdminClient const &  a,
DatabaseAdminClient const &  b 
)
friend

Definition at line 85 of file database_admin_client.h.