Module: Google::Cloud::Asset

Defined in:
lib/google/cloud/asset.rb,
lib/google/cloud/asset/v1.rb,
lib/google/cloud/asset/v1beta1.rb,
lib/google/cloud/asset/version.rb,
lib/google/cloud/asset/v1/helpers.rb,
lib/google/cloud/asset/v1/credentials.rb,
lib/google/cloud/asset/v1beta1/helpers.rb,
lib/google/cloud/asset/v1beta1/credentials.rb,
lib/google/cloud/asset/v1/asset_service_client.rb,
lib/google/cloud/asset/v1beta1/asset_service_client.rb,
lib/google/cloud/asset/v1/doc/google/cloud/asset/v1/assets.rb,
lib/google/cloud/asset/v1/doc/google/cloud/asset/v1/asset_service.rb,
lib/google/cloud/asset/v1beta1/doc/google/cloud/asset/v1beta1/assets.rb,
lib/google/cloud/asset/v1beta1/doc/google/cloud/asset/v1beta1/asset_service.rb

Overview

Ruby Client for Cloud Asset API (Alpha)

Cloud Asset API: The cloud asset API manages the history and inventory of cloud resources.

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.
  2. Enable billing for your project.
  3. Enable the Cloud Asset API.
  4. Setup Authentication.

Installation

$ gem install google-cloud-asset

Next Steps

Enabling Logging

To enable logging for this library, set the logger for the underlying gRPC library. The logger that you set may be a Ruby stdlib Logger as shown below, or a Google::Cloud::Logging::Logger that will write logs to Stackdriver Logging. See grpc/logconfig.rb and the gRPC spec_helper.rb for additional information.

Configuring a Ruby stdlib logger:

require "logger"

module MyLogger
  LOGGER = Logger.new $stderr, level: Logger::WARN
  def logger
    LOGGER
  end
end

# Define a gRPC module-level logger method before grpc/logconfig.rb loads.
module GRPC
  extend MyLogger
end

Defined Under Namespace

Modules: V1, V1beta1

Constant Summary collapse

FILE_DIR =

rubocop:enable LineLength

File.realdirpath(Pathname.new(__FILE__).join("..").join("asset"))
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) }
VERSION =
"0.3.0".freeze

Class Method Summary collapse

Class Method Details

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

Asset service definition.

Parameters:

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

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

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

  • client_config (Hash)

    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)

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

  • metadata (Hash)

    Default metadata to be sent with each request. This can be overridden on a per call basis.

  • service_address (String)

    Override for the service hostname, or nil to leave as the default.

  • service_port (Integer)

    Override for the service port, or nil to leave as the default.

  • exception_transformer (Proc)

    An optional proc that intercepts any exceptions raised during an API call to inject custom error handling.

Parameters:

  • version (Symbol, String)

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



129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/google/cloud/asset.rb', line 129

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::Asset
    .constants
    .select {|sym| sym.to_s.downcase == version.to_s.downcase}
    .first
  Google::Cloud::Asset.const_get(version_module).new(*args, **kwargs)
end