lib/google/cloud/redis/v1/cloud_redis/client.rb in google-cloud-redis-v1-0.12.0 vs lib/google/cloud/redis/v1/cloud_redis/client.rb in google-cloud-redis-v1-0.13.0
- old
+ new
@@ -43,10 +43,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
@@ -126,10 +129,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
@@ -158,12 +170,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
@@ -172,22 +185,26 @@
@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
@location_client = Google::Cloud::Location::Locations::Client.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::V1::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
@@ -1351,13 +1368,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
@@ -1399,17 +1416,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
@@ -1420,9 +1444,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?