module Google::Cloud

Public Class Methods

storage(project_id = nil, credentials = nil, scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil, max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil) click to toggle source

Creates a new object for connecting to the Storage service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@param [String] project_id Project identifier for the Storage service

you are connecting to. If not present, the default project for the
credentials is used.

@param [String, Hash, Google::Auth::Credentials] credentials The path to

the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (See {Storage::Credentials})

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/devstorage.full_control`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `3`. Optional.

@param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried. @param [Float] base_interval The initial interval in seconds between tries. @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach. @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next

interval will be 1.5x the current interval.

@param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.

If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.

@param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional. @param [Integer] read_timeout How long, in seconds, before requests time out. Optional. @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.

@return [Google::Cloud::Storage::Project]

@example

require "google/cloud/storage"

storage = Google::Cloud.storage "my-project",
                         "/path/to/keyfile.json"

bucket = storage.bucket "my-bucket"
file = bucket.file "path/to/my-file.ext"
# File lib/google-cloud-storage.rb, line 135
def self.storage project_id = nil, credentials = nil, scope: nil,
                 retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil,
                 max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil
  require "google/cloud/storage"
  Google::Cloud::Storage.new project_id: project_id,
                             credentials: credentials,
                             scope: scope,
                             retries: retries,
                             timeout: timeout,
                             open_timeout: (open_timeout || timeout),
                             read_timeout: (read_timeout || timeout),
                             send_timeout: (send_timeout || timeout),
                             max_elapsed_time: max_elapsed_time,
                             base_interval: base_interval,
                             max_interval: max_interval,
                             multiplier: multiplier
end

Public Instance Methods

storage(scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil, max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil) click to toggle source

Creates a new object for connecting to the Storage service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@see cloud.google.com/storage/docs/authentication#oauth Storage

OAuth 2.0 Authentication

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/devstorage.full_control`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `3`. Optional.

@param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried. @param [Float] base_interval The initial interval in seconds between tries. @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach. @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next

interval will be 1.5x the current interval.

@param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.

If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.

@param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional. @param [Integer] read_timeout How long, in seconds, before requests time out. Optional. @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.

@return [Google::Cloud::Storage::Project]

@example

require "google/cloud"

gcloud  = Google::Cloud.new
storage = gcloud.storage
bucket = storage.bucket "my-bucket"
file = bucket.file "path/to/my-file.ext"

@example The default scope can be overridden with the `scope` option:

require "google/cloud"

gcloud  = Google::Cloud.new
readonly_scope = "https://www.googleapis.com/auth/devstorage.read_only"
readonly_storage = gcloud.storage scope: readonly_scope
# File lib/google-cloud-storage.rb, line 76
def storage scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil,
            max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil
  Google::Cloud.storage @project, @keyfile, scope: scope,
                                            retries: (retries || @retries),
                                            timeout: (timeout || @timeout),
                                            open_timeout: (open_timeout || timeout),
                                            read_timeout: (read_timeout || timeout),
                                            send_timeout: (send_timeout || timeout),
                                            max_elapsed_time: max_elapsed_time,
                                            base_interval: base_interval,
                                            max_interval: max_interval,
                                            multiplier: multiplier
end