Class DatabaseAdminGrpc.DatabaseAdminFutureStub

  • Enclosing class:
    DatabaseAdminGrpc

    public static final class DatabaseAdminGrpc.DatabaseAdminFutureStub
    extends io.grpc.stub.AbstractFutureStub<DatabaseAdminGrpc.DatabaseAdminFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service DatabaseAdmin.
     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
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

        io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
    • Method Detail

      • createDatabase

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> createDatabase​(CreateDatabaseRequest request)
         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.
         
      • getDatabase

        public com.google.common.util.concurrent.ListenableFuture<Database> getDatabase​(GetDatabaseRequest request)
         Gets the state of a Cloud Spanner database.
         
      • updateDatabase

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> updateDatabase​(UpdateDatabaseRequest request)
         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.
         
      • updateDatabaseDdl

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> updateDatabaseDdl​(UpdateDatabaseDdlRequest request)
         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.
         
      • dropDatabase

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> dropDatabase​(DropDatabaseRequest request)
         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.
         
      • getDatabaseDdl

        public com.google.common.util.concurrent.ListenableFuture<GetDatabaseDdlResponse> getDatabaseDdl​(GetDatabaseDdlRequest request)
         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.
         
      • setIamPolicy

        public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.Policy> setIamPolicy​(com.google.iam.v1.SetIamPolicyRequest request)
         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].
         
      • getIamPolicy

        public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.Policy> getIamPolicy​(com.google.iam.v1.GetIamPolicyRequest request)
         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].
         
      • testIamPermissions

        public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.TestIamPermissionsResponse> testIamPermissions​(com.google.iam.v1.TestIamPermissionsRequest request)
         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.
         
      • createBackup

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> createBackup​(CreateBackupRequest request)
         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.
         
      • copyBackup

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> copyBackup​(CopyBackupRequest request)
         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.
         
      • getBackup

        public com.google.common.util.concurrent.ListenableFuture<Backup> getBackup​(GetBackupRequest request)
         Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
         
      • updateBackup

        public com.google.common.util.concurrent.ListenableFuture<Backup> updateBackup​(UpdateBackupRequest request)
         Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
         
      • deleteBackup

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteBackup​(DeleteBackupRequest request)
         Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
         
      • listBackups

        public com.google.common.util.concurrent.ListenableFuture<ListBackupsResponse> listBackups​(ListBackupsRequest request)
         Lists completed and pending backups.
         Backups returned are ordered by `create_time` in descending order,
         starting from the most recent `create_time`.
         
      • restoreDatabase

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> restoreDatabase​(RestoreDatabaseRequest request)
         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.
         
      • listDatabaseOperations

        public com.google.common.util.concurrent.ListenableFuture<ListDatabaseOperationsResponse> listDatabaseOperations​(ListDatabaseOperationsRequest request)
         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.
         
      • listBackupOperations

        public com.google.common.util.concurrent.ListenableFuture<ListBackupOperationsResponse> listBackupOperations​(ListBackupOperationsRequest request)
         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.