lib/google/cloud/compute/v1/target_instances/rest/client.rb in google-cloud-compute-v1-0.2.0 vs lib/google/cloud/compute/v1/target_instances/rest/client.rb in google-cloud-compute-v1-0.3.0
- old
+ new
@@ -16,10 +16,11 @@
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
require "google/cloud/errors"
require "google/cloud/compute/v1/compute_pb"
+require "google/cloud/compute/v1/target_instances/rest/service_stub"
module Google
module Cloud
module Compute
module V1
@@ -29,29 +30,26 @@
# REST client for the TargetInstances service.
#
# The TargetInstances API.
#
class Client
- include GrpcTranscoding
-
# @private
attr_reader :target_instances_stub
##
# Configure the TargetInstances Client class.
#
# See {::Google::Cloud::Compute::V1::TargetInstances::Rest::Client::Configuration}
# for a description of the configuration fields.
#
- # ## Example
+ # @example
#
- # To modify the configuration for all TargetInstances clients:
+ # # Modify the configuration for all TargetInstances clients
+ # ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.configure do |config|
+ # config.timeout = 10.0
+ # end
#
- # ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.configure do |config|
- # config.timeout = 10.0
- # end
- #
# @yield [config] Configure the Client client.
# @yieldparam config [Client::Configuration]
#
# @return [Client::Configuration]
#
@@ -64,10 +62,29 @@
break parent_const.configure if parent_const.respond_to? :configure
namespace.pop
end
default_config = Client::Configuration.new parent_config
+ default_config.rpcs.aggregated_list.timeout = 600.0
+ default_config.rpcs.aggregated_list.retry_policy = {
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
+ }
+
+ default_config.rpcs.delete.timeout = 600.0
+
+ default_config.rpcs.get.timeout = 600.0
+ default_config.rpcs.get.retry_policy = {
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
+ }
+
+ default_config.rpcs.insert.timeout = 600.0
+
+ default_config.rpcs.list.timeout = 600.0
+ default_config.rpcs.list.retry_policy = {
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
+ }
+
default_config
end
yield @configure if block_given?
@configure
end
@@ -93,46 +110,38 @@
end
##
# Create a new TargetInstances REST client object.
#
- # ## Examples
+ # @example
#
- # To create a new TargetInstances REST client with the default
- # configuration:
+ # # Create a client using the default configuration
+ # client = ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.new
#
- # client = ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.new
+ # # Create a client using a custom configuration
+ # client = ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.new do |config|
+ # config.timeout = 10.0
+ # end
#
- # To create a new TargetInstances REST client with a custom
- # configuration:
- #
- # client = ::Google::Cloud::Compute::V1::TargetInstances::Rest::Client.new do |config|
- # config.timeout = 10.0
- # end
- #
# @yield [config] Configure the TargetInstances client.
# @yieldparam config [Client::Configuration]
#
def initialize
- # These require statements are intentionally placed here to initialize
- # the REST modules only when it's required.
- require "gapic/rest"
-
# Create the configuration object
@config = Configuration.new Client.configure
# Yield the configuration if needed
yield @config if block_given?
# Create credentials
credentials = @config.credentials
credentials ||= Credentials.default scope: @config.scope
- if credentials.is_a?(String) || credentials.is_a?(Hash)
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
credentials = Credentials.new credentials, scope: @config.scope
end
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: @config.endpoint, credentials: credentials
+ @target_instances_stub = ::Google::Cloud::Compute::V1::TargetInstances::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
end
# Service calls
##
@@ -176,16 +185,16 @@
# @param page_token [::String]
# Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
# @param project [::String]
# Project ID for this request.
# @param return_partial_success [::Boolean]
- # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.
- # @yield [result, env] Access the result along with the Faraday environment object
- # @yieldparam result [::Google::Cloud::Compute::V1::TargetInstanceAggregatedList]
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+ # @yield [result, response] Access the result along with the Faraday response object
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::TargetInstancesScopedList>]
# @yieldparam response [::Faraday::Response]
#
- # @return [::Google::Cloud::Compute::V1::TargetInstanceAggregatedList]
+ # @return [::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::TargetInstancesScopedList>]
#
# @raise [::Google::Cloud::Error] if the REST call is aborted.
def aggregated_list request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
@@ -193,31 +202,29 @@
# Converts hash and nil to an options object
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
# Customize the options with defaults
- call_metadata = {}
+ call_metadata = @config.rpcs.aggregated_list.metadata.to_h
# Set x-goog-api-client header
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
lib_name: @config.lib_name, lib_version: @config.lib_version,
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
transports_version_send: [:rest]
- options.apply_defaults timeout: @config.timeout,
+ options.apply_defaults timeout: @config.rpcs.aggregated_list.timeout,
metadata: call_metadata
- uri, _body, query_string_params = transcode_aggregated_list request
- response = @client_stub.make_get_request(
- uri: uri,
- params: query_string_params,
- options: options
- )
- result = ::Google::Cloud::Compute::V1::TargetInstanceAggregatedList.decode_json response.body, ignore_unknown_fields: true
+ options.apply_defaults timeout: @config.timeout,
+ metadata: @config.metadata
- yield result, response if block_given?
- result
+ @target_instances_stub.aggregated_list request, options do |result, response|
+ result = ::Gapic::Rest::PagedEnumerable.new @target_instances_stub, :aggregated_list, "items", request, result, options
+ yield result, response if block_given?
+ return result
+ end
rescue ::Faraday::Error => e
gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
raise ::Google::Cloud::Error.from_error(gapic_error)
end
@@ -251,15 +258,15 @@
# The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
# @param target_instance [::String]
# Name of the TargetInstance resource to delete.
# @param zone [::String]
# Name of the zone scoping this request.
- # @yield [result, env] Access the result along with the Faraday environment object
- # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
+ # @yield [result, response] Access the result along with the Faraday response object
+ # @yieldparam result [::Gapic::Rest::BaseOperation]
# @yieldparam response [::Faraday::Response]
#
- # @return [::Google::Cloud::Compute::V1::Operation]
+ # @return [::Gapic::Rest::BaseOperation]
#
# @raise [::Google::Cloud::Error] if the REST call is aborted.
def delete request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
@@ -267,31 +274,29 @@
# Converts hash and nil to an options object
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
# Customize the options with defaults
- call_metadata = {}
+ call_metadata = @config.rpcs.delete.metadata.to_h
# Set x-goog-api-client header
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
lib_name: @config.lib_name, lib_version: @config.lib_version,
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
transports_version_send: [:rest]
- options.apply_defaults timeout: @config.timeout,
+ options.apply_defaults timeout: @config.rpcs.delete.timeout,
metadata: call_metadata
- uri, _body, query_string_params = transcode_delete request
- response = @client_stub.make_delete_request(
- uri: uri,
- params: query_string_params,
- options: options
- )
- result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
+ options.apply_defaults timeout: @config.timeout,
+ metadata: @config.metadata
- yield result, response if block_given?
- result
+ @target_instances_stub.delete request, options do |result, response|
+ result = ::Gapic::Rest::BaseOperation.new result
+ yield result, response if block_given?
+ return result
+ end
rescue ::Faraday::Error => e
gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
raise ::Google::Cloud::Error.from_error(gapic_error)
end
@@ -319,11 +324,11 @@
# Project ID for this request.
# @param target_instance [::String]
# Name of the TargetInstance resource to return.
# @param zone [::String]
# Name of the zone scoping this request.
- # @yield [result, env] Access the result along with the Faraday environment object
+ # @yield [result, response] Access the result along with the Faraday response object
# @yieldparam result [::Google::Cloud::Compute::V1::TargetInstance]
# @yieldparam response [::Faraday::Response]
#
# @return [::Google::Cloud::Compute::V1::TargetInstance]
#
@@ -335,30 +340,28 @@
# Converts hash and nil to an options object
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
# Customize the options with defaults
- call_metadata = {}
+ call_metadata = @config.rpcs.get.metadata.to_h
# Set x-goog-api-client header
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
lib_name: @config.lib_name, lib_version: @config.lib_version,
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
transports_version_send: [:rest]
- options.apply_defaults timeout: @config.timeout,
+ options.apply_defaults timeout: @config.rpcs.get.timeout,
metadata: call_metadata
- uri, _body, _query_string_params = transcode_get request
- response = @client_stub.make_get_request(
- uri: uri,
- options: options
- )
- result = ::Google::Cloud::Compute::V1::TargetInstance.decode_json response.body, ignore_unknown_fields: true
+ options.apply_defaults timeout: @config.timeout,
+ metadata: @config.metadata
- yield result, response if block_given?
- result
+ @target_instances_stub.get request, options do |result, response|
+ yield result, response if block_given?
+ return result
+ end
rescue ::Faraday::Error => e
gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
raise ::Google::Cloud::Error.from_error(gapic_error)
end
@@ -392,15 +395,15 @@
# The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
# @param target_instance_resource [::Google::Cloud::Compute::V1::TargetInstance, ::Hash]
# The body resource for this request
# @param zone [::String]
# Name of the zone scoping this request.
- # @yield [result, env] Access the result along with the Faraday environment object
- # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
+ # @yield [result, response] Access the result along with the Faraday response object
+ # @yieldparam result [::Gapic::Rest::BaseOperation]
# @yieldparam response [::Faraday::Response]
#
- # @return [::Google::Cloud::Compute::V1::Operation]
+ # @return [::Gapic::Rest::BaseOperation]
#
# @raise [::Google::Cloud::Error] if the REST call is aborted.
def insert request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
@@ -408,32 +411,29 @@
# Converts hash and nil to an options object
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
# Customize the options with defaults
- call_metadata = {}
+ call_metadata = @config.rpcs.insert.metadata.to_h
# Set x-goog-api-client header
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
lib_name: @config.lib_name, lib_version: @config.lib_version,
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
transports_version_send: [:rest]
- options.apply_defaults timeout: @config.timeout,
+ options.apply_defaults timeout: @config.rpcs.insert.timeout,
metadata: call_metadata
- uri, body, query_string_params = transcode_insert request
- response = @client_stub.make_post_request(
- uri: uri,
- body: body,
- params: query_string_params,
- options: options
- )
- result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
+ options.apply_defaults timeout: @config.timeout,
+ metadata: @config.metadata
- yield result, response if block_given?
- result
+ @target_instances_stub.insert request, options do |result, response|
+ result = ::Gapic::Rest::BaseOperation.new result
+ yield result, response if block_given?
+ return result
+ end
rescue ::Faraday::Error => e
gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
raise ::Google::Cloud::Error.from_error(gapic_error)
end
@@ -476,18 +476,18 @@
# @param page_token [::String]
# Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
# @param project [::String]
# Project ID for this request.
# @param return_partial_success [::Boolean]
- # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
# @param zone [::String]
# Name of the zone scoping this request.
- # @yield [result, env] Access the result along with the Faraday environment object
- # @yieldparam result [::Google::Cloud::Compute::V1::TargetInstanceList]
+ # @yield [result, response] Access the result along with the Faraday response object
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::TargetInstance>]
# @yieldparam response [::Faraday::Response]
#
- # @return [::Google::Cloud::Compute::V1::TargetInstanceList]
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::TargetInstance>]
#
# @raise [::Google::Cloud::Error] if the REST call is aborted.
def list request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
@@ -495,31 +495,29 @@
# Converts hash and nil to an options object
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
# Customize the options with defaults
- call_metadata = {}
+ call_metadata = @config.rpcs.list.metadata.to_h
# Set x-goog-api-client header
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
lib_name: @config.lib_name, lib_version: @config.lib_version,
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
transports_version_send: [:rest]
- options.apply_defaults timeout: @config.timeout,
+ options.apply_defaults timeout: @config.rpcs.list.timeout,
metadata: call_metadata
- uri, _body, query_string_params = transcode_list request
- response = @client_stub.make_get_request(
- uri: uri,
- params: query_string_params,
- options: options
- )
- result = ::Google::Cloud::Compute::V1::TargetInstanceList.decode_json response.body, ignore_unknown_fields: true
+ options.apply_defaults timeout: @config.timeout,
+ metadata: @config.metadata
- yield result, response if block_given?
- result
+ @target_instances_stub.list request, options do |result, response|
+ result = ::Gapic::Rest::PagedEnumerable.new @target_instances_stub, :list, "items", request, result, options
+ yield result, response if block_given?
+ return result
+ end
rescue ::Faraday::Error => e
gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
raise ::Google::Cloud::Error.from_error(gapic_error)
end
@@ -570,10 +568,13 @@
# The library version as recorded in instrumentation and logging
# @return [::String]
# @!attribute [rw] timeout
# The call timeout in seconds.
# @return [::Numeric]
+ # @!attribute [rw] metadata
+ # Additional REST headers to be sent with the call.
+ # @return [::Hash{::Symbol=>::String}]
#
class Configuration
extend ::Gapic::Config
config_attr :endpoint, "compute.googleapis.com", ::String
@@ -583,15 +584,84 @@
end
config_attr :scope, nil, ::String, ::Array, nil
config_attr :lib_name, nil, ::String, nil
config_attr :lib_version, nil, ::String, nil
config_attr :timeout, nil, ::Numeric, nil
+ config_attr :metadata, nil, ::Hash, nil
# @private
def initialize parent_config = nil
@parent_config = parent_config unless parent_config.nil?
yield self if block_given?
+ end
+
+ ##
+ # Configurations for individual RPCs
+ # @return [Rpcs]
+ #
+ def rpcs
+ @rpcs ||= begin
+ parent_rpcs = nil
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
+ Rpcs.new parent_rpcs
+ end
+ end
+
+ ##
+ # Configuration RPC class for the TargetInstances API.
+ #
+ # Includes fields providing the configuration for each RPC in this service.
+ # Each configuration object is of type `Gapic::Config::Method` and includes
+ # the following configuration fields:
+ #
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
+ #
+ # there is one other field (`retry_policy`) that can be set
+ # but is currently not supported for REST Gapic libraries.
+ #
+ class Rpcs
+ ##
+ # RPC-specific configuration for `aggregated_list`
+ # @return [::Gapic::Config::Method]
+ #
+ attr_reader :aggregated_list
+ ##
+ # RPC-specific configuration for `delete`
+ # @return [::Gapic::Config::Method]
+ #
+ attr_reader :delete
+ ##
+ # RPC-specific configuration for `get`
+ # @return [::Gapic::Config::Method]
+ #
+ attr_reader :get
+ ##
+ # RPC-specific configuration for `insert`
+ # @return [::Gapic::Config::Method]
+ #
+ attr_reader :insert
+ ##
+ # RPC-specific configuration for `list`
+ # @return [::Gapic::Config::Method]
+ #
+ attr_reader :list
+
+ # @private
+ def initialize parent_rpcs = nil
+ aggregated_list_config = parent_rpcs.aggregated_list if parent_rpcs.respond_to? :aggregated_list
+ @aggregated_list = ::Gapic::Config::Method.new aggregated_list_config
+ delete_config = parent_rpcs.delete if parent_rpcs.respond_to? :delete
+ @delete = ::Gapic::Config::Method.new delete_config
+ get_config = parent_rpcs.get if parent_rpcs.respond_to? :get
+ @get = ::Gapic::Config::Method.new get_config
+ insert_config = parent_rpcs.insert if parent_rpcs.respond_to? :insert
+ @insert = ::Gapic::Config::Method.new insert_config
+ list_config = parent_rpcs.list if parent_rpcs.respond_to? :list
+ @list = ::Gapic::Config::Method.new list_config
+
+ yield self if block_given?
+ end
end
end
end
end
end