Module: Google::Cloud::Spanner::Admin::Database

Defined in:
lib/google/cloud/spanner/admin/database.rb,
lib/google/cloud/spanner/admin/database/v1.rb,
lib/google/cloud/spanner/admin/database/credentials.rb,
lib/google/cloud/spanner/admin/database/v1/doc/overview.rb,
lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb

Overview

# Ruby Client for Cloud Spanner Database Admin API ([Alpha](github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))

[Cloud Spanner Database Admin API][Product Documentation]:

  • Product Documentation][

## Quick Start In order to use this library, you first need to go through the following steps:

  1. [Select or create a Cloud Platform project.](console.cloud.google.com/project)

  2. [Enable the Cloud Spanner Database Admin API.](console.cloud.google.com/apis/api/spanner-admin-database)

  3. [Setup Authentication.](googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)

### Installation “‘ $ gem install google-cloud-spanner-admin-database “`

### Next Steps

[Product Documentation]: cloud.google.com/spanner-admin-database

Defined Under Namespace

Modules: V1 Classes: Credentials

Constant Summary collapse

FILE_DIR =

rubocop:enable LineLength

File.realdirpath(Pathname.new(__FILE__).join("..").join("database"))
AVAILABLE_VERSIONS =
Dir["#{FILE_DIR}/*"]
.select { |file| File.directory?(file) }
.select { |dir| Google::Gax::VERSION_MATCHER.match(File.basename(dir)) }
.select { |dir| File.exist?(dir + ".rb") }
.map { |dir| File.basename(dir) }

Class Method Summary collapse

Class Method Details

.new(version: , credentials: , scopes: , client_config: , timeout: ) ⇒ Object

Cloud Spanner Database Admin API

The Cloud Spanner Database Admin API can be used to create, drop, and list databases. It also enables updating the schema of pre-existing databases.

Parameters:

  • credentials (Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc) (defaults to: )

    Provides the means for authenticating requests made by the client. This parameter can be many types. A ‘Google::Auth::Credentials` uses a the properties of its represented keyfile for authenticating requests made by this client. A `String` will be treated as the path to the keyfile to be used for the construction of credentials for this client. A `Hash` will be treated as the contents of a keyfile to be used for the construction of credentials for this client. A `GRPC::Core::Channel` will be used to make calls through. A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials should already be composed with a `GRPC::Core::CallCredentials` object. A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the metadata for requests, generally, to give OAuth credentials.

  • scopes (Array<String>) (defaults to: )

    The OAuth scopes for this service. This parameter is ignored if an updater_proc is supplied.

  • client_config (Hash) (defaults to: )

    A Hash for call options for each method. See Google::Gax#construct_settings for the structure of this data. Falls back to the default config if not specified or the specified config is missing data points.

  • timeout (Numeric) (defaults to: )

    The default timeout, in seconds, for calls made through this client.

Parameters:

  • version (Symbol, String) (defaults to: :v1)

    The major version of the service to be used. By default :v1 is used.



94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/google/cloud/spanner/admin/database.rb', line 94

def self.new(*args, version: :v1, **kwargs)
  unless AVAILABLE_VERSIONS.include?(version.to_s.downcase)
    raise "The version: #{version} is not available. The available versions " \
      "are: [#{AVAILABLE_VERSIONS.join(", ")}]"
  end

  require "#{FILE_DIR}/#{version.to_s.downcase}"
  version_module = Google::Cloud::Spanner::Admin::Database
    .constants
    .select {|sym| sym.to_s.downcase == version.to_s.downcase}
    .first
  Google::Cloud::Spanner::Admin::Database.const_get(version_module).new(*args, **kwargs)
end