Cloud Spanner Database Admin V1 API - Class Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client (v1.1.0)

Reference documentation and code samples for the Cloud Spanner Database Admin V1 API class Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.

Client for the DatabaseAdmin service.

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

Inherits

  • Object

Methods

.configure

def self.configure() { |config| ... } -> Client::Configuration

Configure the DatabaseAdmin Client class.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter
Example
# Modify the configuration for all DatabaseAdmin clients
::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.configure do |config|
  config.timeout = 10.0
end

#configure

def configure() { |config| ... } -> Client::Configuration

Configure the DatabaseAdmin Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on Client.configure.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter

#copy_backup

def copy_backup(request, options = nil) -> ::Gapic::Operation
def copy_backup(parent: nil, backup_id: nil, source_backup: nil, expire_time: nil, encryption_config: nil) -> ::Gapic::Operation

Starts copying a Cloud Spanner Backup. The returned backup long-running 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 field type is CopyBackupMetadata. The response field type is 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.

Overloads
def copy_backup(request, options = nil) -> ::Gapic::Operation
Pass arguments to copy_backup via a request object, either of type CopyBackupRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def copy_backup(parent: nil, backup_id: nil, source_backup: nil, expire_time: nil, encryption_config: nil) -> ::Gapic::Operation
Pass arguments to copy_backup via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The name of the destination instance that will contain the backup copy. Values are of the form: projects/<project>/instances/<instance>.
  • backup_id (::String) — Required. The id of the backup copy. The backup_id appended to parent forms the full backup_uri of the form projects/<project>/instances/<instance>/backups/<backup>.
  • source_backup (::String) — Required. The source backup to be copied. The source backup needs to be in READY state for it to be copied. Once CopyBackup is in progress, the source backup cannot be deleted or cleaned up on expiration until CopyBackup is finished. Values are of the form: projects/<project>/instances/<instance>/backups/<backup>.
  • expire_time (::Google::Protobuf::Timestamp, ::Hash) — Required. The expiration time of the backup in microsecond granularity. The expiration time must be at least 6 hours and at most 366 days from the create_time of the source backup. Once the expire_time has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.
  • encryption_config (::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig, ::Hash) — Optional. The encryption configuration used to encrypt the backup. If this field is not specified, the backup will use the same encryption configuration as the source backup by default, namely encryption_type = USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest.new

# Call the copy_backup method.
result = client.copy_backup request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#create_backup

def create_backup(request, options = nil) -> ::Gapic::Operation
def create_backup(parent: nil, backup_id: nil, backup: nil, encryption_config: nil) -> ::Gapic::Operation

Starts creating a new Cloud Spanner Backup. The returned backup long-running 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 field type is CreateBackupMetadata. The 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.

Overloads
def create_backup(request, options = nil) -> ::Gapic::Operation
Pass arguments to create_backup via a request object, either of type CreateBackupRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def create_backup(parent: nil, backup_id: nil, backup: nil, encryption_config: nil) -> ::Gapic::Operation
Pass arguments to create_backup via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. 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>.
  • backup_id (::String) — Required. 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>.
  • backup (::Google::Cloud::Spanner::Admin::Database::V1::Backup, ::Hash) — Required. The backup to create.
  • encryption_config (::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig, ::Hash) — Optional. The encryption configuration used to encrypt the backup. If this field is not specified, the backup will use the same encryption configuration as the database by default, namely encryption_type = USE_DATABASE_ENCRYPTION.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::CreateBackupRequest.new

# Call the create_backup method.
result = client.create_backup request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#create_backup_schedule

def create_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
def create_backup_schedule(parent: nil, backup_schedule_id: nil, backup_schedule: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule

Creates a new backup schedule.

Overloads
def create_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to create_backup_schedule via a request object, either of type CreateBackupScheduleRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupScheduleRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def create_backup_schedule(parent: nil, backup_schedule_id: nil, backup_schedule: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to create_backup_schedule via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The name of the database that this backup schedule applies to.
  • backup_schedule_id (::String) — Required. The Id to use for the backup schedule. The backup_schedule_id appended to parent forms the full backup schedule name of the form projects/<project>/instances/<instance>/databases/<database>/backupSchedules/<backup_schedule_id>.
  • backup_schedule (::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule, ::Hash) — Required. The backup schedule to create.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::CreateBackupScheduleRequest.new

# Call the create_backup_schedule method.
result = client.create_backup_schedule request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule.
p result

#create_database

def create_database(request, options = nil) -> ::Gapic::Operation
def create_database(parent: nil, create_statement: nil, extra_statements: nil, encryption_config: nil, database_dialect: nil, proto_descriptors: nil) -> ::Gapic::Operation

Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running 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 field type is CreateDatabaseMetadata. The response field type is Database, if successful.

Overloads
def create_database(request, options = nil) -> ::Gapic::Operation
Pass arguments to create_database via a request object, either of type CreateDatabaseRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::CreateDatabaseRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def create_database(parent: nil, create_statement: nil, extra_statements: nil, encryption_config: nil, database_dialect: nil, proto_descriptors: nil) -> ::Gapic::Operation
Pass arguments to create_database via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The name of the instance that will serve the new database. Values are of the form projects/<project>/instances/<instance>.
  • create_statement (::String) — Required. 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 (`).
  • extra_statements (::Array<::String>) — Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.
  • encryption_config (::Google::Cloud::Spanner::Admin::Database::V1::EncryptionConfig, ::Hash) — Optional. The encryption configuration for the database. If this field is not specified, Cloud Spanner will encrypt/decrypt all data at rest using Google default encryption.
  • database_dialect (::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect) — Optional. The dialect of the Cloud Spanner Database.
  • proto_descriptors (::String) — Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in 'extra_statements' above. Contains a protobuf-serialized google.protobuf.FileDescriptorSet. To generate it, install and run protoc with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto For more details, see protobuffer self description.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::CreateDatabaseRequest.new

# Call the create_database method.
result = client.create_database request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#delete_backup

def delete_backup(request, options = nil) -> ::Google::Protobuf::Empty
def delete_backup(name: nil) -> ::Google::Protobuf::Empty

Deletes a pending or completed Backup.

Overloads
def delete_backup(request, options = nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_backup via a request object, either of type Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def delete_backup(name: nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_backup via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. Name of the backup to delete. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupRequest.new

# Call the delete_backup method.
result = client.delete_backup request

# The returned object is of type Google::Protobuf::Empty.
p result

#delete_backup_schedule

def delete_backup_schedule(request, options = nil) -> ::Google::Protobuf::Empty
def delete_backup_schedule(name: nil) -> ::Google::Protobuf::Empty

Deletes a backup schedule.

Overloads
def delete_backup_schedule(request, options = nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_backup_schedule via a request object, either of type Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupScheduleRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupScheduleRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def delete_backup_schedule(name: nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_backup_schedule via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. The name of the schedule to delete. Values are of the form projects/<project>/instances/<instance>/databases/<database>/backupSchedules/<backup_schedule_id>.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::DeleteBackupScheduleRequest.new

# Call the delete_backup_schedule method.
result = client.delete_backup_schedule request

# The returned object is of type Google::Protobuf::Empty.
p result

#drop_database

def drop_database(request, options = nil) -> ::Google::Protobuf::Empty
def drop_database(database: nil) -> ::Google::Protobuf::Empty

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.

Overloads
def drop_database(request, options = nil) -> ::Google::Protobuf::Empty
Pass arguments to drop_database via a request object, either of type Google::Cloud::Spanner::Admin::Database::V1::DropDatabaseRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::DropDatabaseRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def drop_database(database: nil) -> ::Google::Protobuf::Empty
Pass arguments to drop_database via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • database (::String) — Required. The database to be dropped.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::DropDatabaseRequest.new

# Call the drop_database method.
result = client.drop_database request

# The returned object is of type Google::Protobuf::Empty.
p result

#get_backup

def get_backup(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
def get_backup(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup

Gets metadata on a pending or completed Backup.

Overloads
def get_backup(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
Pass arguments to get_backup via a request object, either of type GetBackupRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::GetBackupRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_backup(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
Pass arguments to get_backup via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. Name of the backup. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::GetBackupRequest.new

# Call the get_backup method.
result = client.get_backup request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::Backup.
p result

#get_backup_schedule

def get_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
def get_backup_schedule(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule

Gets backup schedule for the input schedule name.

Overloads
def get_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to get_backup_schedule via a request object, either of type GetBackupScheduleRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::GetBackupScheduleRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_backup_schedule(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to get_backup_schedule via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. The name of the schedule to retrieve. Values are of the form projects/<project>/instances/<instance>/databases/<database>/backupSchedules/<backup_schedule_id>.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::GetBackupScheduleRequest.new

# Call the get_backup_schedule method.
result = client.get_backup_schedule request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule.
p result

#get_database

def get_database(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Database
def get_database(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Database

Gets the state of a Cloud Spanner database.

Overloads
def get_database(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Database
Pass arguments to get_database via a request object, either of type GetDatabaseRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_database(name: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Database
Pass arguments to get_database via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. The name of the requested database. Values are of the form projects/<project>/instances/<instance>/databases/<database>.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseRequest.new

# Call the get_database method.
result = client.get_database request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::Database.
p result

#get_database_ddl

def get_database_ddl(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlResponse
def get_database_ddl(database: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlResponse

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

Overloads
def get_database_ddl(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlResponse
Pass arguments to get_database_ddl via a request object, either of type GetDatabaseDdlRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_database_ddl(database: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlResponse
Pass arguments to get_database_ddl via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • database (::String) — Required. The database whose schema we wish to get. Values are of the form projects/<project>/instances/<instance>/databases/<database>
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlRequest.new

# Call the get_database_ddl method.
result = client.get_database_ddl request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::GetDatabaseDdlResponse.
p result

#get_iam_policy

def get_iam_policy(request, options = nil) -> ::Google::Iam::V1::Policy
def get_iam_policy(resource: nil, options: nil) -> ::Google::Iam::V1::Policy

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. For backups, authorization requires spanner.backups.getIamPolicy permission on resource.

Overloads
def get_iam_policy(request, options = nil) -> ::Google::Iam::V1::Policy
Pass arguments to get_iam_policy via a request object, either of type Iam::V1::GetIamPolicyRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V1::GetIamPolicyRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_iam_policy(resource: nil, options: nil) -> ::Google::Iam::V1::Policy
Pass arguments to get_iam_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • resource (::String) — REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.
  • options (::Google::Iam::V1::GetPolicyOptions, ::Hash) — OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V1::GetIamPolicyRequest.new

# Call the get_iam_policy method.
result = client.get_iam_policy request

# The returned object is of type Google::Iam::V1::Policy.
p result

#initialize

def initialize() { |config| ... } -> Client

Create a new DatabaseAdmin client object.

Yields
  • (config) — Configure the DatabaseAdmin client.
Yield Parameter
Returns
  • (Client) — a new instance of Client
Example
# Create a client using the default configuration
client = ::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new do |config|
  config.timeout = 10.0
end

#list_backup_operations

def list_backup_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
def list_backup_operations(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>

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

Overloads
def list_backup_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
Pass arguments to list_backup_operations via a request object, either of type ListBackupOperationsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_backup_operations(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
Pass arguments to list_backup_operations via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The instance of the backup operations. Values are of the form projects/<project>/instances/<instance>.
  • filter (::String) —

    An expression that filters the list of returned backup operations.

    A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: <, >, <=, >=, !=, =, or :. Colon : is the contains operator. Filter rules are not case sensitive.

    The following fields in the operation are eligible for filtering:

    • name - The name of the long-running operation
    • done - False if the operation is in progress, else true.
    • metadata.@type - the type of metadata. For example, the type string for CreateBackupMetadata is type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata.
    • metadata.<field_name> - any field in metadata.value. metadata.@type must be specified first if filtering on metadata fields.
    • error - Error associated with the long-running operation.
    • response.@type - the type of response.
    • response.<field_name> - any field in response.value.

    You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly.

    Here are a few examples:

    • done:true - The operation is complete.
    • (metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND \ metadata.database:prod - Returns operations where:
      • The operation's metadata type is CreateBackupMetadata.
      • The source database name of backup contains the string "prod".
    • (metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND \ (metadata.name:howl) AND \ (metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND \ (error:*) - Returns operations where:
      • The operation's metadata type is CreateBackupMetadata.
      • The backup name contains the string "howl".
      • The operation started before 2018-03-28T14:50:00Z.
      • The operation resulted in an error.
    • (metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND \ (metadata.source_backup:test) AND \ (metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND \ (error:*) - Returns operations where:
      • The operation's metadata type is CopyBackupMetadata.
      • The source backup name contains the string "test".
      • The operation started before 2022-01-18T14:50:00Z.
      • The operation resulted in an error.
    • ((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND \ (metadata.database:test_db)) OR \ ((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND \ (metadata.source_backup:test_bkp)) AND \ (error:*) - Returns operations where:
      • The operation's metadata matches either of criteria:
        • The operation's metadata type is CreateBackupMetadata AND the source database name of the backup contains the string "test_db"
        • The operation's metadata type is CopyBackupMetadata AND the source backup name contains the string "test_bkp"
      • The operation resulted in an error.
  • page_size (::Integer) — Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — If non-empty, page_token should contain a next_page_token from a previous ListBackupOperationsResponse to the same parent and with the same filter.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::PagedEnumerable<::Gapic::Operation>)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::PagedEnumerable<::Gapic::Operation>)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsRequest.new

# Call the list_backup_operations method.
result = client.list_backup_operations request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Longrunning::Operation.
  p item
end

#list_backup_schedules

def list_backup_schedules(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule>
def list_backup_schedules(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule>

Lists all the backup schedules for the database.

Overloads
def list_backup_schedules(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule>
Pass arguments to list_backup_schedules via a request object, either of type ListBackupSchedulesRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::ListBackupSchedulesRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_backup_schedules(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule>
Pass arguments to list_backup_schedules via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. Database is the parent resource whose backup schedules should be listed. Values are of the form projects/
  • page_size (::Integer) — Optional. Number of backup schedules to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — Optional. If non-empty, page_token should contain a next_page_token from a previous ListBackupSchedulesResponse to the same parent.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListBackupSchedulesRequest.new

# Call the list_backup_schedules method.
result = client.list_backup_schedules request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule.
  p item
end

#list_backups

def list_backups(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Backup>
def list_backups(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Backup>

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

Overloads
def list_backups(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Backup>
Pass arguments to list_backups via a request object, either of type ListBackupsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_backups(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Backup>
Pass arguments to list_backups via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The instance to list backups from. Values are of the form projects/<project>/instances/<instance>.
  • filter (::String) —

    An expression that filters the list of returned backups.

    A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: <, >, <=, >=, !=, =, or :. Colon : is the contains operator. Filter rules are not case sensitive.

    The following fields in the Backup are eligible for filtering:

    • name
    • database
    • state
    • create_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
    • expire_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
    • version_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
    • size_bytes

    You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly.

    Here are a few examples:

    • name:Howl - The backup's name contains the string "howl".
    • database:prod - The database's name contains the string "prod".
    • state:CREATING - The backup is pending creation.
    • state:READY - The backup is fully created and ready for use.
    • (name:howl) AND (create_time < \"2018-03-28T14:50:00Z\") - The backup name contains the string "howl" and create_time of the backup is before 2018-03-28T14:50:00Z.
    • expire_time < \"2018-03-28T14:50:00Z\" - The backup expire_time is before 2018-03-28T14:50:00Z.
    • size_bytes > 10000000000 - The backup's size is greater than 10GB
  • page_size (::Integer) — Number of backups to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — If non-empty, page_token should contain a next_page_token from a previous ListBackupsResponse to the same parent and with the same filter.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListBackupsRequest.new

# Call the list_backups method.
result = client.list_backups request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Cloud::Spanner::Admin::Database::V1::Backup.
  p item
end

#list_database_operations

def list_database_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
def list_database_operations(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>

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

Overloads
def list_database_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
Pass arguments to list_database_operations via a request object, either of type ListDatabaseOperationsRequest or an equivalent Hash.
Parameters
def list_database_operations(parent: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
Pass arguments to list_database_operations via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The instance of the database operations. Values are of the form projects/<project>/instances/<instance>.
  • filter (::String) —

    An expression that filters the list of returned operations.

    A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: <, >, <=, >=, !=, =, or :. Colon : is the contains operator. Filter rules are not case sensitive.

    The following fields in the Operation are eligible for filtering:

    • name - The name of the long-running operation
    • done - False if the operation is in progress, else true.
    • metadata.@type - the type of metadata. For example, the type string for RestoreDatabaseMetadata is type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata.
    • metadata.<field_name> - any field in metadata.value. metadata.@type must be specified first, if filtering on metadata fields.
    • error - Error associated with the long-running operation.
    • response.@type - the type of response.
    • response.<field_name> - any field in response.value.

    You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly.

    Here are a few examples:

    • done:true - The operation is complete.
    • (metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND \ (metadata.source_type:BACKUP) AND \ (metadata.backup_info.backup:backup_howl) AND \ (metadata.name:restored_howl) AND \ (metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND \ (error:*) - Return operations where:
      • The operation's metadata type is RestoreDatabaseMetadata.
      • The database is restored from a backup.
      • The backup name contains "backup_howl".
      • The restored database's name contains "restored_howl".
      • The operation started before 2018-03-28T14:50:00Z.
      • The operation resulted in an error.
  • page_size (::Integer) — Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — If non-empty, page_token should contain a next_page_token from a previous ListDatabaseOperationsResponse to the same parent and with the same filter.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::PagedEnumerable<::Gapic::Operation>)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::PagedEnumerable<::Gapic::Operation>)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseOperationsRequest.new

# Call the list_database_operations method.
result = client.list_database_operations request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Longrunning::Operation.
  p item
end

#list_database_roles

def list_database_roles(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::DatabaseRole>
def list_database_roles(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::DatabaseRole>

Lists Cloud Spanner database roles.

Overloads
def list_database_roles(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::DatabaseRole>
Pass arguments to list_database_roles via a request object, either of type ListDatabaseRolesRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseRolesRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_database_roles(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::DatabaseRole>
Pass arguments to list_database_roles via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The database whose roles should be listed. Values are of the form projects/<project>/instances/<instance>/databases/<database>.
  • page_size (::Integer) — Number of database roles to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — If non-empty, page_token should contain a next_page_token from a previous ListDatabaseRolesResponse.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseRolesRequest.new

# Call the list_database_roles method.
result = client.list_database_roles request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Cloud::Spanner::Admin::Database::V1::DatabaseRole.
  p item
end

#list_databases

def list_databases(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Database>
def list_databases(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Database>

Lists Cloud Spanner databases.

Overloads
def list_databases(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Database>
Pass arguments to list_databases via a request object, either of type ListDatabasesRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_databases(parent: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Spanner::Admin::Database::V1::Database>
Pass arguments to list_databases via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. The instance whose databases should be listed. Values are of the form projects/<project>/instances/<instance>.
  • page_size (::Integer) — Number of databases to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
  • page_token (::String) — If non-empty, page_token should contain a next_page_token from a previous ListDatabasesResponse.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesRequest.new

# Call the list_databases method.
result = client.list_databases request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Cloud::Spanner::Admin::Database::V1::Database.
  p item
end

#operations_client

def operations_client() -> ::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Operations

Get the associated client for long-running operations.

#restore_database

def restore_database(request, options = nil) -> ::Gapic::Operation
def restore_database(parent: nil, database_id: nil, backup: nil, encryption_config: nil) -> ::Gapic::Operation

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 field type is RestoreDatabaseMetadata. The 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.

Overloads
def restore_database(request, options = nil) -> ::Gapic::Operation
Pass arguments to restore_database via a request object, either of type RestoreDatabaseRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def restore_database(parent: nil, database_id: nil, backup: nil, encryption_config: nil) -> ::Gapic::Operation
Pass arguments to restore_database via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) — Required. 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_id (::String) — Required. 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>.
  • backup (::String) — Name of the backup from which to restore. Values are of the form projects/<project>/instances/<instance>/backups/<backup>.
  • encryption_config (::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig, ::Hash) — Optional. An encryption configuration describing the encryption type and key resources in Cloud KMS used to encrypt/decrypt the database to restore to. If this field is not specified, the restored database will use the same encryption configuration as the backup by default, namely encryption_type = USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseRequest.new

# Call the restore_database method.
result = client.restore_database request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#set_iam_policy

def set_iam_policy(request, options = nil) -> ::Google::Iam::V1::Policy
def set_iam_policy(resource: nil, policy: nil, update_mask: nil) -> ::Google::Iam::V1::Policy

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

Authorization requires spanner.databases.setIamPolicy permission on resource. For backups, authorization requires spanner.backups.setIamPolicy permission on resource.

Overloads
def set_iam_policy(request, options = nil) -> ::Google::Iam::V1::Policy
Pass arguments to set_iam_policy via a request object, either of type Iam::V1::SetIamPolicyRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V1::SetIamPolicyRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def set_iam_policy(resource: nil, policy: nil, update_mask: nil) -> ::Google::Iam::V1::Policy
Pass arguments to set_iam_policy via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • resource (::String) — REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
  • policy (::Google::Iam::V1::Policy, ::Hash) — REQUIRED: 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.
  • update_mask (::Google::Protobuf::FieldMask, ::Hash) — OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:

    paths: "bindings, etag"

Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V1::SetIamPolicyRequest.new

# Call the set_iam_policy method.
result = client.set_iam_policy request

# The returned object is of type Google::Iam::V1::Policy.
p result

#test_iam_permissions

def test_iam_permissions(request, options = nil) -> ::Google::Iam::V1::TestIamPermissionsResponse
def test_iam_permissions(resource: nil, permissions: nil) -> ::Google::Iam::V1::TestIamPermissionsResponse

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.

Overloads
def test_iam_permissions(request, options = nil) -> ::Google::Iam::V1::TestIamPermissionsResponse
Pass arguments to test_iam_permissions via a request object, either of type Iam::V1::TestIamPermissionsRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V1::TestIamPermissionsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def test_iam_permissions(resource: nil, permissions: nil) -> ::Google::Iam::V1::TestIamPermissionsResponse
Pass arguments to test_iam_permissions via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • resource (::String) — REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.
  • permissions (::Array<::String>) — The set of permissions to check for the resource. Permissions with wildcards (such as '' or 'storage.') are not allowed. For more information see IAM Overview.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V1::TestIamPermissionsRequest.new

# Call the test_iam_permissions method.
result = client.test_iam_permissions request

# The returned object is of type Google::Iam::V1::TestIamPermissionsResponse.
p result

#universe_domain

def universe_domain() -> String

The effective universe domain

Returns
  • (String)

#update_backup

def update_backup(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
def update_backup(backup: nil, update_mask: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup

Updates a pending or completed Backup.

Overloads
def update_backup(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
Pass arguments to update_backup via a request object, either of type UpdateBackupRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::UpdateBackupRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def update_backup(backup: nil, update_mask: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::Backup
Pass arguments to update_backup via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • backup (::Google::Cloud::Spanner::Admin::Database::V1::Backup, ::Hash) —

    Required. 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_mask (::Google::Protobuf::FieldMask, ::Hash) — Required. 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.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::UpdateBackupRequest.new

# Call the update_backup method.
result = client.update_backup request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::Backup.
p result

#update_backup_schedule

def update_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
def update_backup_schedule(backup_schedule: nil, update_mask: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule

Updates a backup schedule.

Overloads
def update_backup_schedule(request, options = nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to update_backup_schedule via a request object, either of type UpdateBackupScheduleRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::UpdateBackupScheduleRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def update_backup_schedule(backup_schedule: nil, update_mask: nil) -> ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
Pass arguments to update_backup_schedule via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • backup_schedule (::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule, ::Hash) — Required. The backup schedule to update. backup_schedule.name, and the fields to be updated as specified by update_mask are required. Other fields are ignored.
  • update_mask (::Google::Protobuf::FieldMask, ::Hash) — Required. A mask specifying which fields in the BackupSchedule resource should be updated. This mask is relative to the BackupSchedule resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::UpdateBackupScheduleRequest.new

# Call the update_backup_schedule method.
result = client.update_backup_schedule request

# The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule.
p result

#update_database

def update_database(request, options = nil) -> ::Gapic::Operation
def update_database(database: nil, update_mask: nil) -> ::Gapic::Operation

Updates a Cloud Spanner database. The returned long-running 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 field is set to true.
  • Cancelling the operation is best-effort. If the cancellation succeeds, the operation metadata's 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 field becomes false.

The returned long-running 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 field type is UpdateDatabaseMetadata. The response field type is Database, if successful.

Overloads
def update_database(request, options = nil) -> ::Gapic::Operation
Pass arguments to update_database via a request object, either of type UpdateDatabaseRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def update_database(database: nil, update_mask: nil) -> ::Gapic::Operation
Pass arguments to update_database via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseRequest.new

# Call the update_database method.
result = client.update_database request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#update_database_ddl

def update_database_ddl(request, options = nil) -> ::Gapic::Operation
def update_database_ddl(database: nil, statements: nil, operation_id: nil, proto_descriptors: nil) -> ::Gapic::Operation

Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running 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 field type is UpdateDatabaseDdlMetadata. The operation has no response.

Overloads
def update_database_ddl(request, options = nil) -> ::Gapic::Operation
Pass arguments to update_database_ddl via a request object, either of type UpdateDatabaseDdlRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def update_database_ddl(database: nil, statements: nil, operation_id: nil, proto_descriptors: nil) -> ::Gapic::Operation
Pass arguments to update_database_ddl via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • database (::String) — Required. The database to update.
  • statements (::Array<::String>) — Required. DDL statements to be applied to the database.
  • operation_id (::String) — If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, operation_id is used to construct the name of the resulting Operation.

    Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and operation_id fields can be combined to form the name of the resulting longrunning.Operation: <database>/operations/<operation_id>.

    operation_id should be unique within the database, and must be a valid identifier: [a-z][a-z0-9_]*. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns ALREADY_EXISTS.

  • proto_descriptors (::String) — Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized google.protobuf.FileDescriptorSet. To generate it, install and run protoc with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto For more details, see protobuffer self description.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/spanner/admin/database/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest.new

# Call the update_database_ddl method.
result = client.update_database_ddl request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end