module Google::Cloud::ServiceControl

Constants

VERSION

Public Class Methods

configure() { |configure.service_control| ... } click to toggle source

Configure the google-cloud-service_control library.

The following configuration parameters are supported:

  • `credentials` (type: `String, Hash, Google::Auth::Credentials`) - The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object.

  • `lib_name` (type: `String`) - The library name as recorded in instrumentation and logging.

  • `lib_version` (type: `String`) - The library version as recorded in instrumentation and logging.

  • `interceptors` (type: `Array<GRPC::ClientInterceptor>`) - An array of interceptors that are run before calls are executed.

  • `timeout` (type: `Numeric`) - Default timeout in seconds.

  • `metadata` (type: `Hash{Symbol=>String}`) - Additional gRPC headers to be sent with the call.

  • `retry_policy` (type: `Hash`) - The retry policy. The value is a hash with the following keys:

    * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
    * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
    * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
    * `:retry_codes` (*type:* `Array<String>`) -
      The error codes that should trigger a retry.

@return [::Google::Cloud::Config] The default configuration used by this library

# File lib/google/cloud/service_control.rb, line 141
def self.configure
  yield ::Google::Cloud.configure.service_control if block_given?

  ::Google::Cloud.configure.service_control
end
quota_controller(version: :v1, &block) click to toggle source

Create a new client object for QuotaController.

By default, this returns an instance of [Google::Cloud::ServiceControl::V1::QuotaController::Client](googleapis.dev/ruby/google-cloud-service_control-v1/latest/Google/Cloud/ServiceControl/V1/QuotaController/Client.html) for version V1 of the API. However, you can specify specify a different API version by passing it in the `version` parameter. If the QuotaController service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

## About QuotaController

[Google Quota Control API](/service-control/overview)

Allows clients to allocate and release quota against a [managed service](cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService).

@param version [::String, ::Symbol] The API version to connect to. Optional.

Defaults to `:v1`.

@return [QuotaController::Client] A client object for the specified version.

# File lib/google/cloud/service_control.rb, line 69
def self.quota_controller version: :v1, &block
  require "google/cloud/service_control/#{version.to_s.downcase}"

  package_name = Google::Cloud::ServiceControl
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  package_module = Google::Cloud::ServiceControl.const_get package_name
  package_module.const_get(:QuotaController).const_get(:Client).new(&block)
end
service_controller(version: :v1, &block) click to toggle source

Create a new client object for ServiceController.

By default, this returns an instance of [Google::Cloud::ServiceControl::V1::ServiceController::Client](googleapis.dev/ruby/google-cloud-service_control-v1/latest/Google/Cloud/ServiceControl/V1/ServiceController/Client.html) for version V1 of the API. However, you can specify specify a different API version by passing it in the `version` parameter. If the ServiceController service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.

## About ServiceController

[Google Service Control API](/service-control/overview)

Lets clients check and report operations against a [managed service](cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService).

@param version [::String, ::Symbol] The API version to connect to. Optional.

Defaults to `:v1`.

@return [ServiceController::Client] A client object for the specified version.

# File lib/google/cloud/service_control.rb, line 102
def self.service_controller version: :v1, &block
  require "google/cloud/service_control/#{version.to_s.downcase}"

  package_name = Google::Cloud::ServiceControl
                 .constants
                 .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
                 .first
  package_module = Google::Cloud::ServiceControl.const_get package_name
  package_module.const_get(:ServiceController).const_get(:Client).new(&block)
end