lib/google/cloud/redis/v1beta1/cloud_redis/client.rb in google-cloud-redis-v1beta1-0.11.0 vs lib/google/cloud/redis/v1beta1/cloud_redis/client.rb in google-cloud-redis-v1beta1-0.12.0

- old
+ new

@@ -42,10 +42,13 @@ # # Note that location_id must be referring to a GCP `region`; for example: # * `projects/redpepper-1290/locations/us-central1/instances/my-redis` # class Client + # @private + DEFAULT_ENDPOINT_TEMPLATE = "redis.$UNIVERSE_DOMAIN$" + include Paths # @private attr_reader :cloud_redis_stub @@ -123,10 +126,19 @@ yield @config if block_given? @config end ## + # The effective universe domain + # + # @return [String] + # + def universe_domain + @cloud_redis_stub.universe_domain + end + + ## # Create a new CloudRedis client object. # # @example # # # Create a client using the default configuration @@ -155,12 +167,13 @@ # Create credentials credentials = @config.credentials # Use self-signed JWT if the endpoint is unchanged from default, # but only if the default endpoint does not have a region prefix. - enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT && - !@config.endpoint.split(".").first.include?("-") + enable_self_signed_jwt = @config.endpoint.nil? || + (@config.endpoint == Configuration::DEFAULT_ENDPOINT && + !@config.endpoint.split(".").first.include?("-")) credentials ||= Credentials.default scope: @config.scope, enable_self_signed_jwt: enable_self_signed_jwt if credentials.is_a?(::String) || credentials.is_a?(::Hash) credentials = Credentials.new credentials, scope: @config.scope end @@ -169,16 +182,19 @@ @operations_client = Operations.new do |config| config.credentials = credentials config.quota_project = @quota_project_id config.endpoint = @config.endpoint + config.universe_domain = @config.universe_domain end @cloud_redis_stub = ::Gapic::ServiceStub.new( ::Google::Cloud::Redis::V1beta1::CloudRedis::Stub, - credentials: credentials, - endpoint: @config.endpoint, + credentials: credentials, + endpoint: @config.endpoint, + endpoint_template: DEFAULT_ENDPOINT_TEMPLATE, + universe_domain: @config.universe_domain, channel_args: @config.channel_args, interceptors: @config.interceptors, channel_pool_config: @config.channel_pool ) end @@ -1333,13 +1349,13 @@ # config.timeout = 10.0 # config.rpcs.list_instances.timeout = 20.0 # end # # @!attribute [rw] endpoint - # The hostname or hostname:port of the service endpoint. - # Defaults to `"redis.googleapis.com"`. - # @return [::String] + # A custom service endpoint, as a hostname or hostname:port. The default is + # nil, indicating to use the default endpoint in the current universe domain. + # @return [::String,nil] # @!attribute [rw] credentials # Credentials to send with calls. You may provide any of the following types: # * (`String`) The path to a service account key file in JSON format # * (`Hash`) A service account key as a Hash # * (`Google::Auth::Credentials`) A googleauth credentials object @@ -1381,17 +1397,24 @@ # trigger a retry. # @return [::Hash] # @!attribute [rw] quota_project # A separate project against which to charge quota. # @return [::String] + # @!attribute [rw] universe_domain + # The universe domain within which to make requests. This determines the + # default endpoint URL. The default value of nil uses the environment + # universe (usually the default "googleapis.com" universe). + # @return [::String,nil] # class Configuration extend ::Gapic::Config + # @private + # The endpoint specific to the default "googleapis.com" universe. Deprecated. DEFAULT_ENDPOINT = "redis.googleapis.com" - config_attr :endpoint, DEFAULT_ENDPOINT, ::String + config_attr :endpoint, nil, ::String, nil config_attr :credentials, nil do |value| allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil] allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC allowed.any? { |klass| klass === value } end @@ -1402,9 +1425,10 @@ config_attr :interceptors, nil, ::Array, nil config_attr :timeout, nil, ::Numeric, nil config_attr :metadata, nil, ::Hash, nil config_attr :retry_policy, nil, ::Hash, ::Proc, nil config_attr :quota_project, nil, ::String, nil + config_attr :universe_domain, nil, ::String, nil # @private def initialize parent_config = nil @parent_config = parent_config unless parent_config.nil?