lib/google/cloud/debugger/v2/controller2_client.rb in google-cloud-debugger-0.32.1 vs lib/google/cloud/debugger/v2/controller2_client.rb in google-cloud-debugger-0.32.2
- old
+ new
@@ -1,6 +1,6 @@
-# Copyright 2017 Google LLC
+# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
@@ -16,21 +16,18 @@
# This file was generated from the file
# https://github.com/googleapis/googleapis/blob/master/google/devtools/clouddebugger/v2/controller.proto,
# and updates to that file get reflected here through a refresh process.
# For the short term, the refresh process will only be runnable by Google
# engineers.
-#
-# The only allowed edits are to method and file documentation. A 3-way
-# merge preserves those additions if the generated source changes.
require "json"
require "pathname"
require "google/gax"
require "google/devtools/clouddebugger/v2/controller_pb"
-require "google/cloud/debugger/credentials"
+require "google/cloud/debugger/v2/credentials"
module Google
module Cloud
module Debugger
module V2
@@ -64,19 +61,23 @@
SERVICE_ADDRESS = "clouddebugger.googleapis.com".freeze
# The default port of the service.
DEFAULT_SERVICE_PORT = 443
+ # The default set of gRPC interceptors.
+ GRPC_INTERCEPTORS = []
+
DEFAULT_TIMEOUT = 30
# The scopes needed to make gRPC calls to all of the methods defined in
# this service.
ALL_SCOPES = [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud_debugger"
].freeze
+
# @param 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.
@@ -97,43 +98,34 @@
# 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.
# @param timeout [Numeric]
# The default timeout, in seconds, for calls made through this client.
+ # @param metadata [Hash]
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
+ # @param exception_transformer [Proc]
+ # An optional proc that intercepts any exceptions raised during an API call to inject
+ # custom error handling.
def initialize \
- service_path: SERVICE_ADDRESS,
- port: DEFAULT_SERVICE_PORT,
- channel: nil,
- chan_creds: nil,
- updater_proc: nil,
credentials: nil,
scopes: ALL_SCOPES,
client_config: {},
timeout: DEFAULT_TIMEOUT,
+ metadata: nil,
+ exception_transformer: nil,
lib_name: nil,
lib_version: ""
# These require statements are intentionally placed here to initialize
# the gRPC module only when it's required.
# See https://github.com/googleapis/toolkit/issues/446
require "google/gax/grpc"
require "google/devtools/clouddebugger/v2/controller_services_pb"
- if channel || chan_creds || updater_proc
- warn "The `channel`, `chan_creds`, and `updater_proc` parameters will be removed " \
- "on 2017/09/08"
- credentials ||= channel
- credentials ||= chan_creds
- credentials ||= updater_proc
- end
- if service_path != SERVICE_ADDRESS || port != DEFAULT_SERVICE_PORT
- warn "`service_path` and `port` parameters are deprecated and will be removed"
- end
+ credentials ||= Google::Cloud::Debugger::V2::Credentials.default
- credentials ||= Google::Cloud::Debugger::Credentials.default
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
- updater_proc = Google::Cloud::Debugger::Credentials.new(credentials).updater_proc
+ updater_proc = Google::Cloud::Debugger::V2::Credentials.new(credentials).updater_proc
end
if credentials.is_a?(GRPC::Core::Channel)
channel = credentials
end
if credentials.is_a?(GRPC::Core::ChannelCredentials)
@@ -144,17 +136,20 @@
end
if credentials.is_a?(Google::Auth::Credentials)
updater_proc = credentials.updater_proc
end
+ package_version = Gem.loaded_specs['google-cloud-debugger'].version.version
+
google_api_client = "gl-ruby/#{RUBY_VERSION}"
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
- google_api_client << " gapic/0.1.0 gax/#{Google::Gax::VERSION}"
+ google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}"
google_api_client << " grpc/#{GRPC::VERSION}"
google_api_client.freeze
headers = { :"x-goog-api-client" => google_api_client }
+ headers.merge!(metadata) unless metadata.nil?
client_config_file = Pathname.new(__dir__).join(
"controller2_client_config.json"
)
defaults = client_config_file.open do |f|
Google::Gax.construct_settings(
@@ -162,34 +157,43 @@
JSON.parse(f.read),
client_config,
Google::Gax::Grpc::STATUS_CODE_NAMES,
timeout,
errors: Google::Gax::Grpc::API_ERRORS,
- kwargs: headers
+ metadata: headers
)
end
+
+ # Allow overriding the service path/port in subclasses.
+ service_path = self.class::SERVICE_ADDRESS
+ port = self.class::DEFAULT_SERVICE_PORT
+ interceptors = self.class::GRPC_INTERCEPTORS
@controller2_stub = Google::Gax::Grpc.create_stub(
service_path,
port,
chan_creds: chan_creds,
channel: channel,
updater_proc: updater_proc,
scopes: scopes,
+ interceptors: interceptors,
&Google::Devtools::Clouddebugger::V2::Controller2::Stub.method(:new)
)
@register_debuggee = Google::Gax.create_api_call(
@controller2_stub.method(:register_debuggee),
- defaults["register_debuggee"]
+ defaults["register_debuggee"],
+ exception_transformer: exception_transformer
)
@list_active_breakpoints = Google::Gax.create_api_call(
@controller2_stub.method(:list_active_breakpoints),
- defaults["list_active_breakpoints"]
+ defaults["list_active_breakpoints"],
+ exception_transformer: exception_transformer
)
@update_active_breakpoint = Google::Gax.create_api_call(
@controller2_stub.method(:update_active_breakpoint),
- defaults["update_active_breakpoint"]
+ defaults["update_active_breakpoint"],
+ exception_transformer: exception_transformer
)
end
# Service calls
@@ -211,27 +215,33 @@
# A hash of the same form as `Google::Devtools::Clouddebugger::V2::Debuggee`
# can also be provided.
# @param options [Google::Gax::CallOptions]
# Overrides the default settings for this call, e.g, timeout,
# retries, etc.
+ # @yield [result, operation] Access the result along with the RPC operation
+ # @yieldparam result [Google::Devtools::Clouddebugger::V2::RegisterDebuggeeResponse]
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
# @return [Google::Devtools::Clouddebugger::V2::RegisterDebuggeeResponse]
# @raise [Google::Gax::GaxError] if the RPC is aborted.
# @example
# require "google/cloud/debugger/v2"
#
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
+ #
+ # # TODO: Initialize +debuggee+:
# debuggee = {}
# response = controller2_client.register_debuggee(debuggee)
def register_debuggee \
debuggee,
- options: nil
+ options: nil,
+ &block
req = {
debuggee: debuggee
}.delete_if { |_, v| v.nil? }
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::RegisterDebuggeeRequest)
- @register_debuggee.call(req, options)
+ @register_debuggee.call(req, options, &block)
end
# Returns the list of all active breakpoints for the debuggee.
#
# The breakpoint specification (+location+, +condition+, and +expressions+
@@ -261,31 +271,37 @@
# If set to +false+ (deprecated), returns +google.rpc.Code.ABORTED+ status
# when the server-selected timeout has expired.
# @param options [Google::Gax::CallOptions]
# Overrides the default settings for this call, e.g, timeout,
# retries, etc.
+ # @yield [result, operation] Access the result along with the RPC operation
+ # @yieldparam result [Google::Devtools::Clouddebugger::V2::ListActiveBreakpointsResponse]
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
# @return [Google::Devtools::Clouddebugger::V2::ListActiveBreakpointsResponse]
# @raise [Google::Gax::GaxError] if the RPC is aborted.
# @example
# require "google/cloud/debugger/v2"
#
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
+ #
+ # # TODO: Initialize +debuggee_id+:
# debuggee_id = ''
# response = controller2_client.list_active_breakpoints(debuggee_id)
def list_active_breakpoints \
debuggee_id,
wait_token: nil,
success_on_timeout: nil,
- options: nil
+ options: nil,
+ &block
req = {
debuggee_id: debuggee_id,
wait_token: wait_token,
success_on_timeout: success_on_timeout
}.delete_if { |_, v| v.nil? }
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::ListActiveBreakpointsRequest)
- @list_active_breakpoints.call(req, options)
+ @list_active_breakpoints.call(req, options, &block)
end
# Updates the breakpoint state or mutable fields.
# The entire Breakpoint message must be sent back to the controller service.
#
@@ -304,29 +320,37 @@
# A hash of the same form as `Google::Devtools::Clouddebugger::V2::Breakpoint`
# can also be provided.
# @param options [Google::Gax::CallOptions]
# Overrides the default settings for this call, e.g, timeout,
# retries, etc.
+ # @yield [result, operation] Access the result along with the RPC operation
+ # @yieldparam result [Google::Devtools::Clouddebugger::V2::UpdateActiveBreakpointResponse]
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
# @return [Google::Devtools::Clouddebugger::V2::UpdateActiveBreakpointResponse]
# @raise [Google::Gax::GaxError] if the RPC is aborted.
# @example
# require "google/cloud/debugger/v2"
#
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
+ #
+ # # TODO: Initialize +debuggee_id+:
# debuggee_id = ''
+ #
+ # # TODO: Initialize +breakpoint+:
# breakpoint = {}
# response = controller2_client.update_active_breakpoint(debuggee_id, breakpoint)
def update_active_breakpoint \
debuggee_id,
breakpoint,
- options: nil
+ options: nil,
+ &block
req = {
debuggee_id: debuggee_id,
breakpoint: breakpoint
}.delete_if { |_, v| v.nil? }
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::UpdateActiveBreakpointRequest)
- @update_active_breakpoint.call(req, options)
+ @update_active_breakpoint.call(req, options, &block)
end
end
end
end
end