Module: Gcloud
- Defined in:
- lib/gcloud.rb,
lib/gcloud/dns.rb,
lib/gcloud/gce.rb,
lib/gcloud/errors.rb,
lib/gcloud/pubsub.rb,
lib/gcloud/upload.rb,
lib/gcloud/vision.rb,
lib/gcloud/backoff.rb,
lib/gcloud/logging.rb,
lib/gcloud/storage.rb,
lib/gcloud/version.rb,
lib/gcloud/bigquery.rb,
lib/gcloud/dns/zone.rb,
lib/gcloud/datastore.rb,
lib/gcloud/translate.rb,
lib/gcloud/dns/change.rb,
lib/gcloud/dns/errors.rb,
lib/gcloud/dns/record.rb,
lib/gcloud/grpc_utils.rb,
lib/gcloud/credentials.rb,
lib/gcloud/dns/project.rb,
lib/gcloud/bigquery/job.rb,
lib/gcloud/dns/importer.rb,
lib/gcloud/logging/sink.rb,
lib/gcloud/pubsub/topic.rb,
lib/gcloud/storage/file.rb,
lib/gcloud/vision/image.rb,
lib/gcloud/bigquery/data.rb,
lib/gcloud/bigquery/view.rb,
lib/gcloud/datastore/key.rb,
lib/gcloud/dns/zone/list.rb,
lib/gcloud/logging/entry.rb,
lib/gcloud/translate/api.rb,
lib/gcloud/vision/errors.rb,
lib/gcloud/bigquery/table.rb,
lib/gcloud/dns/connection.rb,
lib/gcloud/logging/logger.rb,
lib/gcloud/logging/metric.rb,
lib/gcloud/pubsub/message.rb,
lib/gcloud/pubsub/project.rb,
lib/gcloud/pubsub/service.rb,
lib/gcloud/storage/bucket.rb,
lib/gcloud/storage/errors.rb,
lib/gcloud/vision/project.rb,
lib/gcloud/bigquery/errors.rb,
lib/gcloud/datastore/query.rb,
lib/gcloud/dns/change/list.rb,
lib/gcloud/dns/credentials.rb,
lib/gcloud/dns/record/list.rb,
lib/gcloud/logging/project.rb,
lib/gcloud/logging/service.rb,
lib/gcloud/storage/project.rb,
lib/gcloud/vision/annotate.rb,
lib/gcloud/vision/location.rb,
lib/gcloud/bigquery/dataset.rb,
lib/gcloud/bigquery/project.rb,
lib/gcloud/datastore/commit.rb,
lib/gcloud/datastore/cursor.rb,
lib/gcloud/datastore/entity.rb,
lib/gcloud/datastore/errors.rb,
lib/gcloud/logging/resource.rb,
lib/gcloud/resource_manager.rb,
lib/gcloud/storage/file/acl.rb,
lib/gcloud/translate/errors.rb,
lib/gcloud/bigquery/copy_job.rb,
lib/gcloud/bigquery/job/list.rb,
lib/gcloud/bigquery/load_job.rb,
lib/gcloud/datastore/dataset.rb,
lib/gcloud/datastore/service.rb,
lib/gcloud/logging/sink/list.rb,
lib/gcloud/pubsub/topic/list.rb,
lib/gcloud/storage/file/list.rb,
lib/gcloud/vision/annotation.rb,
lib/gcloud/vision/connection.rb,
lib/gcloud/bigquery/query_job.rb,
lib/gcloud/logging/entry/list.rb,
lib/gcloud/pubsub/credentials.rb,
lib/gcloud/pubsub/topic/batch.rb,
lib/gcloud/storage/bucket/acl.rb,
lib/gcloud/storage/connection.rb,
lib/gcloud/translate/language.rb,
lib/gcloud/vision/credentials.rb,
lib/gcloud/bigquery/connection.rb,
lib/gcloud/bigquery/query_data.rb,
lib/gcloud/bigquery/table/list.rb,
lib/gcloud/datastore/gql_query.rb,
lib/gcloud/logging/credentials.rb,
lib/gcloud/logging/metric/list.rb,
lib/gcloud/pubsub/subscription.rb,
lib/gcloud/storage/bucket/cors.rb,
lib/gcloud/storage/bucket/list.rb,
lib/gcloud/storage/credentials.rb,
lib/gcloud/translate/detection.rb,
lib/gcloud/bigquery/credentials.rb,
lib/gcloud/bigquery/extract_job.rb,
lib/gcloud/datastore/grpc_utils.rb,
lib/gcloud/datastore/properties.rb,
lib/gcloud/dns/zone/transaction.rb,
lib/gcloud/translate/connection.rb,
lib/gcloud/bigquery/dataset/list.rb,
lib/gcloud/bigquery/table/schema.rb,
lib/gcloud/datastore/credentials.rb,
lib/gcloud/datastore/transaction.rb,
lib/gcloud/storage/file/verifier.rb,
lib/gcloud/translate/translation.rb,
lib/gcloud/vision/annotation/face.rb,
lib/gcloud/vision/annotation/text.rb,
lib/gcloud/bigquery/dataset/access.rb,
lib/gcloud/logging/entry/operation.rb,
lib/gcloud/pubsub/received_message.rb,
lib/gcloud/resource_manager/errors.rb,
lib/gcloud/bigquery/insert_response.rb,
lib/gcloud/pubsub/subscription/list.rb,
lib/gcloud/resource_manager/manager.rb,
lib/gcloud/resource_manager/project.rb,
lib/gcloud/vision/annotation/entity.rb,
lib/gcloud/vision/annotation/vertex.rb,
lib/gcloud/logging/entry/http_request.rb,
lib/gcloud/logging/resource_descriptor.rb,
lib/gcloud/resource_manager/connection.rb,
lib/gcloud/resource_manager/credentials.rb,
lib/gcloud/vision/annotation/properties.rb,
lib/gcloud/resource_manager/project/list.rb,
lib/gcloud/vision/annotation/safe_search.rb,
lib/gcloud/datastore/dataset/query_results.rb,
lib/gcloud/datastore/dataset/lookup_results.rb,
lib/gcloud/logging/resource_descriptor/list.rb,
lib/gcloud/resource_manager/project/updater.rb
Overview
# Google Cloud
Gcloud is the official library for interacting with the Google Cloud Platform. Google Cloud Platform is a set of modular cloud-based services that allow you to create anything from simple websites to complex applications.
Gcloud’s goal is to provide a API that is familiar and comfortable to Rubyists. Authentication is handled by providing project and credential information, or if you are running on Google Compute Engine this configuration is taken care of for you.
You can learn more about various options for connection on the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
Defined Under Namespace
Modules: Bigquery, Datastore, Dns, GCE, GRPCUtils, Logging, Pubsub, ResourceManager, Storage, Translate, Upload, Vision Classes: AbortedError, AlreadyExistsError, Backoff, CanceledError, Credentials, DataLossError, DeadlineExceededError, Error, FailedPreconditionError, InternalError, InvalidArgumentError, NotFoundError, OutOfRangeError, PermissionDeniedError, ResourceExhaustedError, UnauthenticatedError, UnavailableError, UnimplementedError, UnknownError
Constant Summary collapse
- VERSION =
"0.11.0"
Class Method Summary collapse
-
.bigquery(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Bigquery::Project
Creates a new
Projectinstance connected to the BigQuery service. -
.datastore(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Datastore::Dataset
Creates a new object for connecting to the Datastore service.
-
.dns(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Dns::Project
Creates a new
Projectinstance connected to the DNS service. -
.logging(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Logging::Project
Creates a new object for connecting to the Logging service.
-
.new(project = nil, keyfile = nil) ⇒ Gcloud
Creates a new object for connecting to Google Cloud.
-
.pubsub(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service.
-
.resource_manager(keyfile = nil, scope: nil) ⇒ Gcloud::ResourceManager::Manager
Creates a new
Projectinstance connected to the Resource Manager service. -
.storage(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Storage::Project
Creates a new object for connecting to the Storage service.
-
.translate(key = nil) ⇒ Gcloud::Translate::Api
Creates a new object for connecting to the Translate service.
-
.vision(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Vision::Project
Creates a new object for connecting to the Vision service.
Instance Method Summary collapse
-
#bigquery(scope: nil) ⇒ Gcloud::Bigquery::Project
Creates a new object for connecting to the BigQuery service.
-
#datastore(scope: nil) ⇒ Gcloud::Datastore::Dataset
Creates a new object for connecting to the Datastore service.
-
#dns(scope: nil) ⇒ Gcloud::Dns::Project
Creates a new object for connecting to the DNS service.
-
#logging(scope: nil) ⇒ Gcloud::Logging::Project
Creates a new object for connecting to the Logging service.
-
#pubsub(scope: nil) ⇒ Gcloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service.
-
#resource_manager(scope: nil) ⇒ Gcloud::ResourceManager::Manager
Creates a new object for connecting to the Resource Manager service.
-
#storage(scope: nil) ⇒ Gcloud::Storage::Project
Creates a new object for connecting to the Storage service.
-
#translate(key = nil) ⇒ Gcloud::Translate::Api
Creates a new object for connecting to the Translate service.
-
#vision(scope: nil) ⇒ Gcloud::Vision::Project
Creates a new object for connecting to the Vision service.
Class Method Details
.bigquery(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Bigquery::Project
Creates a new Project instance connected to the BigQuery service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
49 50 51 52 53 54 55 56 57 |
# File 'lib/gcloud/bigquery.rb', line 49 def self.bigquery project = nil, keyfile = nil, scope: nil project ||= Gcloud::Bigquery::Project.default_project if keyfile.nil? credentials = Gcloud::Bigquery::Credentials.default scope: scope else credentials = Gcloud::Bigquery::Credentials.new keyfile, scope: scope end Gcloud::Bigquery::Project.new project, credentials end |
.datastore(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Datastore::Dataset
Creates a new object for connecting to the Datastore service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/gcloud/datastore.rb', line 60 def self.datastore project = nil, keyfile = nil, scope: nil project ||= Gcloud::Datastore::Dataset.default_project if ENV["DATASTORE_EMULATOR_HOST"] ds = Gcloud::Datastore::Dataset.new project, :this_channel_is_insecure ds.service.host = ENV["DATASTORE_EMULATOR_HOST"] return ds end if keyfile.nil? credentials = Gcloud::Datastore::Credentials.default scope: scope else credentials = Gcloud::Datastore::Credentials.new keyfile, scope: scope end Gcloud::Datastore::Dataset.new project, credentials end |
.dns(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Dns::Project
Creates a new Project instance connected to the DNS service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
50 51 52 53 54 55 56 57 58 |
# File 'lib/gcloud/dns.rb', line 50 def self.dns project = nil, keyfile = nil, scope: nil project ||= Gcloud::Dns::Project.default_project if keyfile.nil? credentials = Gcloud::Dns::Credentials.default scope: scope else credentials = Gcloud::Dns::Credentials.new keyfile, scope: scope end Gcloud::Dns::Project.new project, credentials end |
.logging(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Logging::Project
Creates a new object for connecting to the Logging service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
49 50 51 52 53 54 55 56 57 |
# File 'lib/gcloud/logging.rb', line 49 def self.logging project = nil, keyfile = nil, scope: nil project ||= Gcloud::Logging::Project.default_project if keyfile.nil? credentials = Gcloud::Logging::Credentials.default scope: scope else credentials = Gcloud::Logging::Credentials.new keyfile, scope: scope end Gcloud::Logging::Project.new project, credentials end |
.new(project = nil, keyfile = nil) ⇒ Gcloud
Creates a new object for connecting to Google Cloud.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
55 56 57 58 59 60 61 |
# File 'lib/gcloud.rb', line 55 def self.new project = nil, keyfile = nil gcloud = Object.new gcloud.instance_variable_set "@project", project gcloud.instance_variable_set "@keyfile", keyfile gcloud.extend Gcloud gcloud end |
.pubsub(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/gcloud/pubsub.rb', line 50 def self.pubsub project = nil, keyfile = nil, scope: nil project ||= Gcloud::Pubsub::Project.default_project if ENV["PUBSUB_EMULATOR_HOST"] ps = Gcloud::Pubsub::Project.new project, :this_channel_is_insecure ps.service.host = ENV["PUBSUB_EMULATOR_HOST"] return ps end if keyfile.nil? credentials = Gcloud::Pubsub::Credentials.default scope: scope else credentials = Gcloud::Pubsub::Credentials.new keyfile, scope: scope end Gcloud::Pubsub::Project.new project, credentials end |
.resource_manager(keyfile = nil, scope: nil) ⇒ Gcloud::ResourceManager::Manager
Creates a new Project instance connected to the Resource Manager service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
48 49 50 51 52 53 54 55 56 |
# File 'lib/gcloud/resource_manager.rb', line 48 def self.resource_manager keyfile = nil, scope: nil if keyfile.nil? credentials = Gcloud::ResourceManager::Credentials.default scope: scope else credentials = Gcloud::ResourceManager::Credentials.new keyfile, scope: scope end Gcloud::ResourceManager::Manager.new credentials end |
.storage(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Storage::Project
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 [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
51 52 53 54 55 56 57 58 59 |
# File 'lib/gcloud/storage.rb', line 51 def self.storage project = nil, keyfile = nil, scope: nil project ||= Gcloud::Storage::Project.default_project if keyfile.nil? credentials = Gcloud::Storage::Credentials.default scope: scope else credentials = Gcloud::Storage::Credentials.new keyfile, scope: scope end Gcloud::Storage::Project.new project, credentials end |
.translate(key = nil) ⇒ Gcloud::Translate::Api
Creates a new object for connecting to the Translate service. Each call creates a new connection.
Unlike other Cloud Platform services, which authenticate using a project ID and OAuth 2.0 credentials, Google Translate API requires a public API access key. (This may change in future releases of Google Translate API.) Follow the general instructions at [Identifying your application to Google](cloud.google.com/translate/v2/using_rest#auth), and the specific instructions for [Server keys](cloud.google.com/translate/v2/using_rest#creating-server-api-keys).
54 55 56 |
# File 'lib/gcloud/translate.rb', line 54 def self.translate key = nil Gcloud::Translate::Api.new key end |
.vision(project = nil, keyfile = nil, scope: nil) ⇒ Gcloud::Vision::Project
Creates a new object for connecting to the Vision service. Each call creates a new connection.
50 51 52 53 54 55 56 57 58 |
# File 'lib/gcloud/vision.rb', line 50 def self.vision project = nil, keyfile = nil, scope: nil project ||= Gcloud::Vision::Project.default_project if keyfile.nil? credentials = Gcloud::Vision::Credentials.default scope: scope else credentials = Gcloud::Vision::Credentials.new keyfile, scope: scope end Gcloud::Vision::Project.new project, credentials end |
Instance Method Details
#bigquery(scope: nil) ⇒ Gcloud::Bigquery::Project
Creates a new object for connecting to the BigQuery service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
223 224 225 226 |
# File 'lib/gcloud.rb', line 223 def bigquery scope: nil require "gcloud/bigquery" Gcloud.bigquery @project, @keyfile, scope: scope end |
#datastore(scope: nil) ⇒ Gcloud::Datastore::Dataset
Creates a new object for connecting to the Datastore service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
103 104 105 106 |
# File 'lib/gcloud.rb', line 103 def datastore scope: nil require "gcloud/datastore" Gcloud.datastore @project, @keyfile, scope: scope end |
#dns(scope: nil) ⇒ Gcloud::Dns::Project
Creates a new object for connecting to the DNS service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
263 264 265 266 |
# File 'lib/gcloud.rb', line 263 def dns scope: nil require "gcloud/dns" Gcloud.dns @project, @keyfile, scope: scope end |
#logging(scope: nil) ⇒ Gcloud::Logging::Project
Creates a new object for connecting to the Logging service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
345 346 347 348 |
# File 'lib/gcloud.rb', line 345 def logging scope: nil require "gcloud/logging" Gcloud.logging @project, @keyfile, scope: scope end |
#pubsub(scope: nil) ⇒ Gcloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
182 183 184 185 |
# File 'lib/gcloud.rb', line 182 def pubsub scope: nil require "gcloud/pubsub" Gcloud.pubsub @project, @keyfile, scope: scope end |
#resource_manager(scope: nil) ⇒ Gcloud::ResourceManager::Manager
Creates a new object for connecting to the Resource Manager service. Each call creates a new connection.
For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
306 307 308 309 |
# File 'lib/gcloud.rb', line 306 def resource_manager scope: nil require "gcloud/resource_manager" Gcloud.resource_manager @keyfile, scope: scope end |
#storage(scope: nil) ⇒ Gcloud::Storage::Project
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 [Authentication Guide](googlecloudplatform.github.io/gcloud-ruby/#/docs/guides/authentication).
144 145 146 147 |
# File 'lib/gcloud.rb', line 144 def storage scope: nil require "gcloud/storage" Gcloud.storage @project, @keyfile, scope: scope end |
#translate(key = nil) ⇒ Gcloud::Translate::Api
Creates a new object for connecting to the Translate service. Each call creates a new connection.
Unlike other Cloud Platform services, which authenticate using a project ID and OAuth 2.0 credentials, Google Translate API requires a public API access key. (This may change in future releases of Google Translate API.) Follow the general instructions at [Identifying your application to Google](cloud.google.com/translate/v2/using_rest#auth), and the specific instructions for [Server keys](cloud.google.com/translate/v2/using_rest#creating-server-api-keys).
386 387 388 389 |
# File 'lib/gcloud.rb', line 386 def translate key = nil require "gcloud/translate" Gcloud.translate key end |
#vision(scope: nil) ⇒ Gcloud::Vision::Project
Creates a new object for connecting to the Vision service. Each call creates a new connection.
424 425 426 427 |
# File 'lib/gcloud.rb', line 424 def vision scope: nil require "gcloud/vision" Gcloud.vision @project, @keyfile, scope: scope end |