Struct google_api_proto::google::spanner::admin::database::v1::database_admin_client::DatabaseAdminClient
source · pub struct DatabaseAdminClient<T> { /* private fields */ }
Expand description
Cloud Spanner Database Admin API
The Cloud Spanner Database Admin API can be used to:
- create, drop, and list databases
- update the schema of pre-existing databases
- create, delete, copy and list backups for a database
- restore a database from an existing backup
Implementations§
source§impl<T> DatabaseAdminClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> DatabaseAdminClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> DatabaseAdminClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn list_databases(
&mut self,
request: impl IntoRequest<ListDatabasesRequest>,
) -> Result<Response<ListDatabasesResponse>, Status>
pub async fn list_databases( &mut self, request: impl IntoRequest<ListDatabasesRequest>, ) -> Result<Response<ListDatabasesResponse>, Status>
Lists Cloud Spanner databases.
sourcepub async fn create_database(
&mut self,
request: impl IntoRequest<CreateDatabaseRequest>,
) -> Result<Response<Operation>, Status>
pub async fn create_database( &mut self, request: impl IntoRequest<CreateDatabaseRequest>, ) -> Result<Response<Operation>, Status>
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][google.spanner.admin.database.v1.Database], if successful.
sourcepub async fn get_database(
&mut self,
request: impl IntoRequest<GetDatabaseRequest>,
) -> Result<Response<Database>, Status>
pub async fn get_database( &mut self, request: impl IntoRequest<GetDatabaseRequest>, ) -> Result<Response<Database>, Status>
Gets the state of a Cloud Spanner database.
sourcepub async fn update_database(
&mut self,
request: impl IntoRequest<UpdateDatabaseRequest>,
) -> Result<Response<Operation>, Status>
pub async fn update_database( &mut self, request: impl IntoRequest<UpdateDatabaseRequest>, ) -> Result<Response<Operation>, Status>
Updates a Cloud Spanner database. The returned
[long-running operation][google.longrunning.Operation] can be used to track
the progress of updating the database. If the named database does not
exist, returns NOT_FOUND
.
While the operation is pending:
- The database’s [reconciling][google.spanner.admin.database.v1.Database.reconciling] field is set to true.
- Cancelling the operation is best-effort. If the cancellation succeeds,
the operation metadata’s
[cancel_time][google.spanner.admin.database.v1.UpdateDatabaseMetadata.cancel_time]
is set, the updates are reverted, and the operation terminates with a
CANCELLED
status. - New UpdateDatabase requests will return a
FAILED_PRECONDITION
error until the pending operation is done (returns successfully or with error). - Reading the database via the API continues to give the pre-request values.
Upon completion of the returned operation:
- The new values are in effect and readable via the API.
- The database’s [reconciling][google.spanner.admin.database.v1.Database.reconciling] field becomes false.
The returned [long-running operation][google.longrunning.Operation] will
have a name of the format
projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>
and can be used to track the database modification. The
[metadata][google.longrunning.Operation.metadata] field type is
[UpdateDatabaseMetadata][google.spanner.admin.database.v1.UpdateDatabaseMetadata].
The [response][google.longrunning.Operation.response] field type is
[Database][google.spanner.admin.database.v1.Database], if successful.
sourcepub async fn update_database_ddl(
&mut self,
request: impl IntoRequest<UpdateDatabaseDdlRequest>,
) -> Result<Response<Operation>, Status>
pub async fn update_database_ddl( &mut self, request: impl IntoRequest<UpdateDatabaseDdlRequest>, ) -> Result<Response<Operation>, Status>
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][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata].
The operation has no response.
sourcepub async fn drop_database(
&mut self,
request: impl IntoRequest<DropDatabaseRequest>,
) -> Result<Response<()>, Status>
pub async fn drop_database( &mut self, request: impl IntoRequest<DropDatabaseRequest>, ) -> Result<Response<()>, Status>
Drops (aka deletes) a Cloud Spanner database.
Completed backups for the database will be retained according to their
expire_time
.
Note: Cloud Spanner might continue to accept requests for a few seconds
after the database has been deleted.
sourcepub async fn get_database_ddl(
&mut self,
request: impl IntoRequest<GetDatabaseDdlRequest>,
) -> Result<Response<GetDatabaseDdlResponse>, Status>
pub async fn get_database_ddl( &mut self, request: impl IntoRequest<GetDatabaseDdlRequest>, ) -> Result<Response<GetDatabaseDdlResponse>, Status>
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.
sourcepub async fn set_iam_policy(
&mut self,
request: impl IntoRequest<SetIamPolicyRequest>,
) -> Result<Response<Policy>, Status>
pub async fn set_iam_policy( &mut self, request: impl IntoRequest<SetIamPolicyRequest>, ) -> Result<Response<Policy>, Status>
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].
sourcepub async fn get_iam_policy(
&mut self,
request: impl IntoRequest<GetIamPolicyRequest>,
) -> Result<Response<Policy>, Status>
pub async fn get_iam_policy( &mut self, request: impl IntoRequest<GetIamPolicyRequest>, ) -> Result<Response<Policy>, Status>
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].
sourcepub async fn test_iam_permissions(
&mut self,
request: impl IntoRequest<TestIamPermissionsRequest>,
) -> Result<Response<TestIamPermissionsResponse>, Status>
pub async fn test_iam_permissions( &mut self, request: impl IntoRequest<TestIamPermissionsRequest>, ) -> Result<Response<TestIamPermissionsResponse>, Status>
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.
sourcepub async fn create_backup(
&mut self,
request: impl IntoRequest<CreateBackupRequest>,
) -> Result<Response<Operation>, Status>
pub async fn create_backup( &mut self, request: impl IntoRequest<CreateBackupRequest>, ) -> Result<Response<Operation>, Status>
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][google.spanner.admin.database.v1.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.
sourcepub async fn copy_backup(
&mut self,
request: impl IntoRequest<CopyBackupRequest>,
) -> Result<Response<Operation>, Status>
pub async fn copy_backup( &mut self, request: impl IntoRequest<CopyBackupRequest>, ) -> Result<Response<Operation>, Status>
Starts copying a 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 copying of the backup. The operation is associated
with the destination backup.
The [metadata][google.longrunning.Operation.metadata] field type is
[CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata].
The [response][google.longrunning.Operation.response] field type is
[Backup][google.spanner.admin.database.v1.Backup], if successful.
Cancelling the returned operation will stop the copying and delete the
destination backup. Concurrent CopyBackup requests can run on the same
source backup.
sourcepub async fn get_backup(
&mut self,
request: impl IntoRequest<GetBackupRequest>,
) -> Result<Response<Backup>, Status>
pub async fn get_backup( &mut self, request: impl IntoRequest<GetBackupRequest>, ) -> Result<Response<Backup>, Status>
Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
sourcepub async fn update_backup(
&mut self,
request: impl IntoRequest<UpdateBackupRequest>,
) -> Result<Response<Backup>, Status>
pub async fn update_backup( &mut self, request: impl IntoRequest<UpdateBackupRequest>, ) -> Result<Response<Backup>, Status>
Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
sourcepub async fn delete_backup(
&mut self,
request: impl IntoRequest<DeleteBackupRequest>,
) -> Result<Response<()>, Status>
pub async fn delete_backup( &mut self, request: impl IntoRequest<DeleteBackupRequest>, ) -> Result<Response<()>, Status>
Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
sourcepub async fn list_backups(
&mut self,
request: impl IntoRequest<ListBackupsRequest>,
) -> Result<Response<ListBackupsResponse>, Status>
pub async fn list_backups( &mut self, request: impl IntoRequest<ListBackupsRequest>, ) -> Result<Response<ListBackupsResponse>, Status>
Lists completed and pending backups.
Backups returned are ordered by create_time
in descending order,
starting from the most recent create_time
.
sourcepub async fn restore_database(
&mut self,
request: impl IntoRequest<RestoreDatabaseRequest>,
) -> Result<Response<Operation>, Status>
pub async fn restore_database( &mut self, request: impl IntoRequest<RestoreDatabaseRequest>, ) -> Result<Response<Operation>, Status>
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][google.spanner.admin.database.v1.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.
sourcepub async fn list_database_operations(
&mut self,
request: impl IntoRequest<ListDatabaseOperationsRequest>,
) -> Result<Response<ListDatabaseOperationsResponse>, Status>
pub async fn list_database_operations( &mut self, request: impl IntoRequest<ListDatabaseOperationsRequest>, ) -> Result<Response<ListDatabaseOperationsResponse>, Status>
Lists database [longrunning-operations][google.longrunning.Operation].
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.
sourcepub async fn list_backup_operations(
&mut self,
request: impl IntoRequest<ListBackupOperationsRequest>,
) -> Result<Response<ListBackupOperationsResponse>, Status>
pub async fn list_backup_operations( &mut self, request: impl IntoRequest<ListBackupOperationsRequest>, ) -> Result<Response<ListBackupOperationsResponse>, Status>
Lists the backup [long-running operations][google.longrunning.Operation] 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.
sourcepub async fn list_database_roles(
&mut self,
request: impl IntoRequest<ListDatabaseRolesRequest>,
) -> Result<Response<ListDatabaseRolesResponse>, Status>
pub async fn list_database_roles( &mut self, request: impl IntoRequest<ListDatabaseRolesRequest>, ) -> Result<Response<ListDatabaseRolesResponse>, Status>
Lists Cloud Spanner database roles.
sourcepub async fn create_backup_schedule(
&mut self,
request: impl IntoRequest<CreateBackupScheduleRequest>,
) -> Result<Response<BackupSchedule>, Status>
pub async fn create_backup_schedule( &mut self, request: impl IntoRequest<CreateBackupScheduleRequest>, ) -> Result<Response<BackupSchedule>, Status>
Creates a new backup schedule.
sourcepub async fn get_backup_schedule(
&mut self,
request: impl IntoRequest<GetBackupScheduleRequest>,
) -> Result<Response<BackupSchedule>, Status>
pub async fn get_backup_schedule( &mut self, request: impl IntoRequest<GetBackupScheduleRequest>, ) -> Result<Response<BackupSchedule>, Status>
Gets backup schedule for the input schedule name.
sourcepub async fn update_backup_schedule(
&mut self,
request: impl IntoRequest<UpdateBackupScheduleRequest>,
) -> Result<Response<BackupSchedule>, Status>
pub async fn update_backup_schedule( &mut self, request: impl IntoRequest<UpdateBackupScheduleRequest>, ) -> Result<Response<BackupSchedule>, Status>
Updates a backup schedule.
sourcepub async fn delete_backup_schedule(
&mut self,
request: impl IntoRequest<DeleteBackupScheduleRequest>,
) -> Result<Response<()>, Status>
pub async fn delete_backup_schedule( &mut self, request: impl IntoRequest<DeleteBackupScheduleRequest>, ) -> Result<Response<()>, Status>
Deletes a backup schedule.
sourcepub async fn list_backup_schedules(
&mut self,
request: impl IntoRequest<ListBackupSchedulesRequest>,
) -> Result<Response<ListBackupSchedulesResponse>, Status>
pub async fn list_backup_schedules( &mut self, request: impl IntoRequest<ListBackupSchedulesRequest>, ) -> Result<Response<ListBackupSchedulesResponse>, Status>
Lists all the backup schedules for the database.
Trait Implementations§
source§impl<T: Clone> Clone for DatabaseAdminClient<T>
impl<T: Clone> Clone for DatabaseAdminClient<T>
source§fn clone(&self) -> DatabaseAdminClient<T>
fn clone(&self) -> DatabaseAdminClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for DatabaseAdminClient<T>
impl<T> RefUnwindSafe for DatabaseAdminClient<T>where
T: RefUnwindSafe,
impl<T> Send for DatabaseAdminClient<T>where
T: Send,
impl<T> Sync for DatabaseAdminClient<T>where
T: Sync,
impl<T> Unpin for DatabaseAdminClient<T>where
T: Unpin,
impl<T> UnwindSafe for DatabaseAdminClient<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request