Google Cloud Spanner Database Administration v1 API - Class DatabaseAdminClientImpl (5.0.0-beta01)

public sealed class DatabaseAdminClientImpl : DatabaseAdminClient

Reference documentation and code samples for the Google Cloud Spanner Database Administration v1 API class DatabaseAdminClientImpl.

DatabaseAdmin client wrapper implementation, for convenient use.

Inheritance

object > DatabaseAdminClient > DatabaseAdminClientImpl

Namespace

Google.Cloud.Spanner.Admin.Database.V1

Assembly

Google.Cloud.Spanner.Admin.Database.V1.dll

Remarks

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 and list backups for a database
  • restore a database from an existing backup

Constructors

DatabaseAdminClientImpl(DatabaseAdminClient, DatabaseAdminSettings, ILogger)

public DatabaseAdminClientImpl(DatabaseAdmin.DatabaseAdminClient grpcClient, DatabaseAdminSettings settings, ILogger logger)

Constructs a client wrapper for the DatabaseAdmin service, with the specified gRPC client and settings.

Parameters
NameDescription
grpcClientDatabaseAdminDatabaseAdminClient

The underlying gRPC client.

settingsDatabaseAdminSettings

The base DatabaseAdminSettings used within this client.

loggerILogger

Optional ILogger to use within this client.

Fields

ResourcePrefixHeader

public const string ResourcePrefixHeader = "google-cloud-resource-prefix"

The name of the header used for efficiently routing requests.

Field Value
TypeDescription
string
Remarks

This should be set to the instance resource name ("projects/{projectId}/instances/{instanceId}") for some RPCs and to the database resource name for others ("projects/{projectId}/instances/{instanceId}/databases/{databaseId}"). For non-streaming calls, DatabaseAdminClientImpl performs this automatically. This cannot be performed automatically for streaming calls due to the separation between initializing the stream and sending requests, so client code should set the value in a CallSettings. Typically this is performed with either the FromHeader(string, string) factory method or the WithHeader(CallSettings, string, string) extension method.

Properties

CopyBackupOperationsClient

public override OperationsClient CopyBackupOperationsClient { get; }

The long-running operations client for CopyBackup.

Property Value
TypeDescription
OperationsClient
Overrides

CreateBackupOperationsClient

public override OperationsClient CreateBackupOperationsClient { get; }

The long-running operations client for CreateBackup.

Property Value
TypeDescription
OperationsClient
Overrides

CreateDatabaseOperationsClient

public override OperationsClient CreateDatabaseOperationsClient { get; }

The long-running operations client for CreateDatabase.

Property Value
TypeDescription
OperationsClient
Overrides

GrpcClient

public override DatabaseAdmin.DatabaseAdminClient GrpcClient { get; }

The underlying gRPC DatabaseAdmin client

Property Value
TypeDescription
DatabaseAdminDatabaseAdminClient
Overrides

RestoreDatabaseOperationsClient

public override OperationsClient RestoreDatabaseOperationsClient { get; }

The long-running operations client for RestoreDatabase.

Property Value
TypeDescription
OperationsClient
Overrides

UpdateDatabaseDdlOperationsClient

public override OperationsClient UpdateDatabaseDdlOperationsClient { get; }

The long-running operations client for UpdateDatabaseDdl.

Property Value
TypeDescription
OperationsClient
Overrides

UpdateDatabaseOperationsClient

public override OperationsClient UpdateDatabaseOperationsClient { get; }

The long-running operations client for UpdateDatabase.

Property Value
TypeDescription
OperationsClient
Overrides

Methods

CopyBackup(CopyBackupRequest, CallSettings)

public override Operation<Backup, CopyBackupMetadata> CopyBackup(CopyBackupRequest request, CallSettings callSettings = null)

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 backup. Concurrent CopyBackup requests can run on the same source backup.

Parameters
NameDescription
requestCopyBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationBackupCopyBackupMetadata

The RPC response.

Overrides

CopyBackupAsync(CopyBackupRequest, CallSettings)

public override Task<Operation<Backup, CopyBackupMetadata>> CopyBackupAsync(CopyBackupRequest request, CallSettings callSettings = null)

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 backup. Concurrent CopyBackup requests can run on the same source backup.

Parameters
NameDescription
requestCopyBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationBackupCopyBackupMetadata

A Task containing the RPC response.

Overrides

CreateBackup(CreateBackupRequest, CallSettings)

public override Operation<Backup, CreateBackupMetadata> CreateBackup(CreateBackupRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestCreateBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationBackupCreateBackupMetadata

The RPC response.

Overrides

CreateBackupAsync(CreateBackupRequest, CallSettings)

public override Task<Operation<Backup, CreateBackupMetadata>> CreateBackupAsync(CreateBackupRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestCreateBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationBackupCreateBackupMetadata

A Task containing the RPC response.

Overrides

CreateDatabase(CreateDatabaseRequest, CallSettings)

public override Operation<Database, CreateDatabaseMetadata> CreateDatabase(CreateDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestCreateDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationDatabaseCreateDatabaseMetadata

The RPC response.

Overrides

CreateDatabaseAsync(CreateDatabaseRequest, CallSettings)

public override Task<Operation<Database, CreateDatabaseMetadata>> CreateDatabaseAsync(CreateDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestCreateDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationDatabaseCreateDatabaseMetadata

A Task containing the RPC response.

Overrides

DeleteBackup(DeleteBackupRequest, CallSettings)

public override void DeleteBackup(DeleteBackupRequest request, CallSettings callSettings = null)

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

Parameters
NameDescription
requestDeleteBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Overrides

DeleteBackupAsync(DeleteBackupRequest, CallSettings)

public override Task DeleteBackupAsync(DeleteBackupRequest request, CallSettings callSettings = null)

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

Parameters
NameDescription
requestDeleteBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Overrides

DropDatabase(DropDatabaseRequest, CallSettings)

public override void DropDatabase(DropDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestDropDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Overrides

DropDatabaseAsync(DropDatabaseRequest, CallSettings)

public override Task DropDatabaseAsync(DropDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestDropDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Overrides

GetBackup(GetBackupRequest, CallSettings)

public override Backup GetBackup(GetBackupRequest request, CallSettings callSettings = null)

Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
NameDescription
requestGetBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Backup

The RPC response.

Overrides

GetBackupAsync(GetBackupRequest, CallSettings)

public override Task<Backup> GetBackupAsync(GetBackupRequest request, CallSettings callSettings = null)

Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
NameDescription
requestGetBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskBackup

A Task containing the RPC response.

Overrides

GetDatabase(GetDatabaseRequest, CallSettings)

public override Database GetDatabase(GetDatabaseRequest request, CallSettings callSettings = null)

Gets the state of a Cloud Spanner database.

Parameters
NameDescription
requestGetDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Database

The RPC response.

Overrides

GetDatabaseAsync(GetDatabaseRequest, CallSettings)

public override Task<Database> GetDatabaseAsync(GetDatabaseRequest request, CallSettings callSettings = null)

Gets the state of a Cloud Spanner database.

Parameters
NameDescription
requestGetDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskDatabase

A Task containing the RPC response.

Overrides

GetDatabaseDdl(GetDatabaseDdlRequest, CallSettings)

public override GetDatabaseDdlResponse GetDatabaseDdl(GetDatabaseDdlRequest request, CallSettings callSettings = null)

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
NameDescription
requestGetDatabaseDdlRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
GetDatabaseDdlResponse

The RPC response.

Overrides

GetDatabaseDdlAsync(GetDatabaseDdlRequest, CallSettings)

public override Task<GetDatabaseDdlResponse> GetDatabaseDdlAsync(GetDatabaseDdlRequest request, CallSettings callSettings = null)

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
NameDescription
requestGetDatabaseDdlRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskGetDatabaseDdlResponse

A Task containing the RPC response.

Overrides

GetIamPolicy(GetIamPolicyRequest, CallSettings)

public override Policy GetIamPolicy(GetIamPolicyRequest request, CallSettings callSettings = null)

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
NameDescription
requestGetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Policy

The RPC response.

Overrides

GetIamPolicyAsync(GetIamPolicyRequest, CallSettings)

public override Task<Policy> GetIamPolicyAsync(GetIamPolicyRequest request, CallSettings callSettings = null)

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
NameDescription
requestGetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskPolicy

A Task containing the RPC response.

Overrides

ListBackupOperations(ListBackupOperationsRequest, CallSettings)

public override PagedEnumerable<ListBackupOperationsResponse, Operation> ListBackupOperations(ListBackupOperationsRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestListBackupOperationsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerableListBackupOperationsResponseOperation

A pageable sequence of Operation resources.

Overrides

ListBackupOperationsAsync(ListBackupOperationsRequest, CallSettings)

public override PagedAsyncEnumerable<ListBackupOperationsResponse, Operation> ListBackupOperationsAsync(ListBackupOperationsRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestListBackupOperationsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerableListBackupOperationsResponseOperation

A pageable asynchronous sequence of Operation resources.

Overrides

ListBackups(ListBackupsRequest, CallSettings)

public override PagedEnumerable<ListBackupsResponse, Backup> ListBackups(ListBackupsRequest request, CallSettings callSettings = null)

Lists completed and pending backups. Backups returned are ordered by create_time in descending order, starting from the most recent create_time.

Parameters
NameDescription
requestListBackupsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerableListBackupsResponseBackup

A pageable sequence of Backup resources.

Overrides

ListBackupsAsync(ListBackupsRequest, CallSettings)

public override PagedAsyncEnumerable<ListBackupsResponse, Backup> ListBackupsAsync(ListBackupsRequest request, CallSettings callSettings = null)

Lists completed and pending backups. Backups returned are ordered by create_time in descending order, starting from the most recent create_time.

Parameters
NameDescription
requestListBackupsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerableListBackupsResponseBackup

A pageable asynchronous sequence of Backup resources.

Overrides

ListDatabaseOperations(ListDatabaseOperationsRequest, CallSettings)

public override PagedEnumerable<ListDatabaseOperationsResponse, Operation> ListDatabaseOperations(ListDatabaseOperationsRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestListDatabaseOperationsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerableListDatabaseOperationsResponseOperation

A pageable sequence of Operation resources.

Overrides

ListDatabaseOperationsAsync(ListDatabaseOperationsRequest, CallSettings)

public override PagedAsyncEnumerable<ListDatabaseOperationsResponse, Operation> ListDatabaseOperationsAsync(ListDatabaseOperationsRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestListDatabaseOperationsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerableListDatabaseOperationsResponseOperation

A pageable asynchronous sequence of Operation resources.

Overrides

ListDatabaseRoles(ListDatabaseRolesRequest, CallSettings)

public override PagedEnumerable<ListDatabaseRolesResponse, DatabaseRole> ListDatabaseRoles(ListDatabaseRolesRequest request, CallSettings callSettings = null)

Lists Cloud Spanner database roles.

Parameters
NameDescription
requestListDatabaseRolesRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerableListDatabaseRolesResponseDatabaseRole

A pageable sequence of DatabaseRole resources.

Overrides

ListDatabaseRolesAsync(ListDatabaseRolesRequest, CallSettings)

public override PagedAsyncEnumerable<ListDatabaseRolesResponse, DatabaseRole> ListDatabaseRolesAsync(ListDatabaseRolesRequest request, CallSettings callSettings = null)

Lists Cloud Spanner database roles.

Parameters
NameDescription
requestListDatabaseRolesRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerableListDatabaseRolesResponseDatabaseRole

A pageable asynchronous sequence of DatabaseRole resources.

Overrides

ListDatabases(ListDatabasesRequest, CallSettings)

public override PagedEnumerable<ListDatabasesResponse, Database> ListDatabases(ListDatabasesRequest request, CallSettings callSettings = null)

Lists Cloud Spanner databases.

Parameters
NameDescription
requestListDatabasesRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerableListDatabasesResponseDatabase

A pageable sequence of Database resources.

Overrides

ListDatabasesAsync(ListDatabasesRequest, CallSettings)

public override PagedAsyncEnumerable<ListDatabasesResponse, Database> ListDatabasesAsync(ListDatabasesRequest request, CallSettings callSettings = null)

Lists Cloud Spanner databases.

Parameters
NameDescription
requestListDatabasesRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerableListDatabasesResponseDatabase

A pageable asynchronous sequence of Database resources.

Overrides

RestoreDatabase(RestoreDatabaseRequest, CallSettings)

public override Operation<Database, RestoreDatabaseMetadata> RestoreDatabase(RestoreDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestRestoreDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationDatabaseRestoreDatabaseMetadata

The RPC response.

Overrides

RestoreDatabaseAsync(RestoreDatabaseRequest, CallSettings)

public override Task<Operation<Database, RestoreDatabaseMetadata>> RestoreDatabaseAsync(RestoreDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestRestoreDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationDatabaseRestoreDatabaseMetadata

A Task containing the RPC response.

Overrides

SetIamPolicy(SetIamPolicyRequest, CallSettings)

public override Policy SetIamPolicy(SetIamPolicyRequest request, CallSettings callSettings = null)

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
NameDescription
requestSetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Policy

The RPC response.

Overrides

SetIamPolicyAsync(SetIamPolicyRequest, CallSettings)

public override Task<Policy> SetIamPolicyAsync(SetIamPolicyRequest request, CallSettings callSettings = null)

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
NameDescription
requestSetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskPolicy

A Task containing the RPC response.

Overrides

TestIamPermissions(TestIamPermissionsRequest, CallSettings)

public override TestIamPermissionsResponse TestIamPermissions(TestIamPermissionsRequest request, CallSettings callSettings = null)

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
NameDescription
requestTestIamPermissionsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TestIamPermissionsResponse

The RPC response.

Overrides

TestIamPermissionsAsync(TestIamPermissionsRequest, CallSettings)

public override Task<TestIamPermissionsResponse> TestIamPermissionsAsync(TestIamPermissionsRequest request, CallSettings callSettings = null)

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
NameDescription
requestTestIamPermissionsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskTestIamPermissionsResponse

A Task containing the RPC response.

Overrides

UpdateBackup(UpdateBackupRequest, CallSettings)

public override Backup UpdateBackup(UpdateBackupRequest request, CallSettings callSettings = null)

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

Parameters
NameDescription
requestUpdateBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Backup

The RPC response.

Overrides

UpdateBackupAsync(UpdateBackupRequest, CallSettings)

public override Task<Backup> UpdateBackupAsync(UpdateBackupRequest request, CallSettings callSettings = null)

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

Parameters
NameDescription
requestUpdateBackupRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskBackup

A Task containing the RPC response.

Overrides

UpdateDatabase(UpdateDatabaseRequest, CallSettings)

public override Operation<Database, UpdateDatabaseMetadata> UpdateDatabase(UpdateDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestUpdateDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationDatabaseUpdateDatabaseMetadata

The RPC response.

Overrides

UpdateDatabaseAsync(UpdateDatabaseRequest, CallSettings)

public override Task<Operation<Database, UpdateDatabaseMetadata>> UpdateDatabaseAsync(UpdateDatabaseRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestUpdateDatabaseRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationDatabaseUpdateDatabaseMetadata

A Task containing the RPC response.

Overrides

UpdateDatabaseDdl(UpdateDatabaseDdlRequest, CallSettings)

public override Operation<Empty, UpdateDatabaseDdlMetadata> UpdateDatabaseDdl(UpdateDatabaseDdlRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestUpdateDatabaseDdlRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
OperationEmptyUpdateDatabaseDdlMetadata

The RPC response.

Overrides

UpdateDatabaseDdlAsync(UpdateDatabaseDdlRequest, CallSettings)

public override Task<Operation<Empty, UpdateDatabaseDdlMetadata>> UpdateDatabaseDdlAsync(UpdateDatabaseDdlRequest request, CallSettings callSettings = null)

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.

Parameters
NameDescription
requestUpdateDatabaseDdlRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
TaskOperationEmptyUpdateDatabaseDdlMetadata

A Task containing the RPC response.

Overrides