Struct 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. 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.

Implementations§

Source§

impl<T> DatabaseAdminClient<T>
where T: GrpcService<BoxBody>, T::ResponseBody: Body + HttpBody + Send + 'static, T::Error: Into<StdError>, <T::ResponseBody as HttpBody>::Error: Into<StdError> + Send,

Source

pub fn new(inner: T) -> Self

Source

pub fn with_interceptor(inner: T, interceptor: impl Into<Interceptor>) -> Self

Source

pub async fn list_databases( &mut self, request: impl IntoRequest<ListDatabasesRequest>, ) -> Result<Response<ListDatabasesResponse>, Status>

Lists Cloud Spanner databases.

Source

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.

Source

pub async fn get_database( &mut self, request: impl IntoRequest<GetDatabaseRequest>, ) -> Result<Response<Database>, Status>

Gets the state of a Cloud Spanner database.

Source

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.

Source

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.

Source

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.

Source

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].

Source

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].

Source

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.

Source

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.

Source

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].

Source

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].

Source

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].

Source

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.

Source

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.

Source

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.

Source

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.

Trait Implementations§

Source§

impl<T: Clone> Clone for DatabaseAdminClient<T>

Source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for DatabaseAdminClient<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for DatabaseAdminClient<T>
where T: Freeze,

§

impl<T> !RefUnwindSafe for DatabaseAdminClient<T>

§

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>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more