google-cloud-service_directory 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a12d34e7f86e40f24e16c588e8bc1bbe11dba6b76ccde295d450c81e1babd9cc
4
- data.tar.gz: b244a4e125c8aabce142c9b68a001b67554dfa31d2aa0b3895ae80d137cacb43
3
+ metadata.gz: 26fe1a0f71216b878e7190dfc775532a7480f13cbbf786b9307fbf658460b97f
4
+ data.tar.gz: ad49d8d007f5ea2716ee8490e966558a832e98fda8b203a1dbd9a08ad8bf5d26
5
5
  SHA512:
6
- metadata.gz: aeab7130863e84f7bd181e137fa28d6572e8e6b4c26e473e9fc14cd4b44a6ae55ef2fcf16e53de6584073b5faf8483638debe6b70f18f356eccb4b0fc9f91cfd
7
- data.tar.gz: 88cfe01c23ca09ca9598394d90f199001962c59f9eb2d5bb09f4f35adeb14ae5f12efc2f668e8506460ff17c9d4ebc293662cc8ad09fd157e5bc5fb8a971e6b2
6
+ metadata.gz: ae848e207b21e5dfaf66a5256f7838026d8f50973aeac7697155fea819a6d684cb830b8c242daf25df22ab4e22c161f14f846ce4b2ae14ffe462f1919266f04a
7
+ data.tar.gz: fbcb938cae5629265373e09893233db07fe2916509a92eee1855bc8a2bed9fcf2098081711cc0f12a2f98313408181030f42056ab0aa8c9f88072f549facbb62
data/README.md CHANGED
@@ -35,9 +35,40 @@ In order to use this library, you first need to go through the following steps:
35
35
  1. [Enable the API.](https://console.cloud.google.com/apis/library/servicedirectory.googleapis.com)
36
36
  1. {file:AUTHENTICATION.md Set up authentication.}
37
37
 
38
+ ## Debug Logging
39
+
40
+ This library comes with opt-in Debug Logging that can help you troubleshoot
41
+ your application's integration with the API. When logging is activated, key
42
+ events such as requests and responses, along with data payloads and metadata
43
+ such as headers and client configuration, are logged to the standard error
44
+ stream.
45
+
46
+ **WARNING:** Client Library Debug Logging includes your data payloads in
47
+ plaintext, which could include sensitive data such as PII for yourself or your
48
+ customers, private keys, or other security data that could be compromising if
49
+ leaked. Always practice good data hygiene with your application logs, and follow
50
+ the principle of least access. Google also recommends that Client Library Debug
51
+ Logging be enabled only temporarily during active debugging, and not used
52
+ permanently in production.
53
+
54
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
55
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
56
+ list of client library gem names. This will select the default logging behavior,
57
+ which writes logs to the standard error stream. On a local workstation, this may
58
+ result in logs appearing on the console. When running on a Google Cloud hosting
59
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
60
+ results in logs appearing alongside your application logs in the
61
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
62
+
63
+ Debug logging also requires that the versioned clients for this service be
64
+ sufficiently recent, released after about Dec 10, 2024. If logging is not
65
+ working, try updating the versioned clients in your bundle or installed gems:
66
+ [google-cloud-service_directory-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-service_directory-v1/latest),
67
+ [google-cloud-service_directory-v1beta1](https://cloud.google.com/ruby/docs/reference/google-cloud-service_directory-v1beta1/latest).
68
+
38
69
  ## Supported Ruby Versions
39
70
 
40
- This library is supported on Ruby 2.7+.
71
+ This library is supported on Ruby 3.0+.
41
72
 
42
73
  Google provides official support for Ruby versions that are actively supported
43
74
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module ServiceDirectory
19
- VERSION = "1.5.1".freeze
19
+ VERSION = "1.6.0".freeze
20
20
  end
21
21
  end
22
22
  end
@@ -58,6 +58,11 @@ module Google
58
58
  # You can also specify a different transport by passing `:rest` or `:grpc` in
59
59
  # the `transport` parameter.
60
60
  #
61
+ # Raises an exception if the currently installed versioned client gem for the
62
+ # given API version does not support the given transport of the LookupService service.
63
+ # You can determine whether the method will succeed by calling
64
+ # {Google::Cloud::ServiceDirectory.lookup_service_available?}.
65
+ #
61
66
  # ## About LookupService
62
67
  #
63
68
  # Service Directory API for looking up service data at runtime.
@@ -79,6 +84,37 @@ module Google
79
84
  service_module.const_get(:Client).new(&block)
80
85
  end
81
86
 
87
+ ##
88
+ # Determines whether the LookupService service is supported by the current client.
89
+ # If true, you can retrieve a client object by calling {Google::Cloud::ServiceDirectory.lookup_service}.
90
+ # If false, that method will raise an exception. This could happen if the given
91
+ # API version does not exist or does not support the LookupService service,
92
+ # or if the versioned client gem needs an update to support the LookupService service.
93
+ #
94
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
95
+ # Defaults to `:v1`.
96
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
97
+ # @return [boolean] Whether the service is available.
98
+ #
99
+ def self.lookup_service_available? version: :v1, transport: :grpc
100
+ require "google/cloud/service_directory/#{version.to_s.downcase}"
101
+ package_name = Google::Cloud::ServiceDirectory
102
+ .constants
103
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
104
+ .first
105
+ return false unless package_name
106
+ service_module = Google::Cloud::ServiceDirectory.const_get package_name
107
+ return false unless service_module.const_defined? :LookupService
108
+ service_module = service_module.const_get :LookupService
109
+ if transport == :rest
110
+ return false unless service_module.const_defined? :Rest
111
+ service_module = service_module.const_get :Rest
112
+ end
113
+ service_module.const_defined? :Client
114
+ rescue ::LoadError
115
+ false
116
+ end
117
+
82
118
  ##
83
119
  # Create a new client object for RegistrationService.
84
120
  #
@@ -92,6 +128,11 @@ module Google
92
128
  # You can also specify a different transport by passing `:rest` or `:grpc` in
93
129
  # the `transport` parameter.
94
130
  #
131
+ # Raises an exception if the currently installed versioned client gem for the
132
+ # given API version does not support the given transport of the RegistrationService service.
133
+ # You can determine whether the method will succeed by calling
134
+ # {Google::Cloud::ServiceDirectory.registration_service_available?}.
135
+ #
95
136
  # ## About RegistrationService
96
137
  #
97
138
  # Service Directory API for registering services. It defines the following
@@ -127,6 +168,37 @@ module Google
127
168
  service_module.const_get(:Client).new(&block)
128
169
  end
129
170
 
171
+ ##
172
+ # Determines whether the RegistrationService service is supported by the current client.
173
+ # If true, you can retrieve a client object by calling {Google::Cloud::ServiceDirectory.registration_service}.
174
+ # If false, that method will raise an exception. This could happen if the given
175
+ # API version does not exist or does not support the RegistrationService service,
176
+ # or if the versioned client gem needs an update to support the RegistrationService service.
177
+ #
178
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
179
+ # Defaults to `:v1`.
180
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
181
+ # @return [boolean] Whether the service is available.
182
+ #
183
+ def self.registration_service_available? version: :v1, transport: :grpc
184
+ require "google/cloud/service_directory/#{version.to_s.downcase}"
185
+ package_name = Google::Cloud::ServiceDirectory
186
+ .constants
187
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
188
+ .first
189
+ return false unless package_name
190
+ service_module = Google::Cloud::ServiceDirectory.const_get package_name
191
+ return false unless service_module.const_defined? :RegistrationService
192
+ service_module = service_module.const_get :RegistrationService
193
+ if transport == :rest
194
+ return false unless service_module.const_defined? :Rest
195
+ service_module = service_module.const_get :Rest
196
+ end
197
+ service_module.const_defined? :Client
198
+ rescue ::LoadError
199
+ false
200
+ end
201
+
130
202
  ##
131
203
  # Configure the google-cloud-service_directory library.
132
204
  #
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-service_directory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-08 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: google-cloud-core
@@ -82,7 +81,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
82
81
  licenses:
83
82
  - Apache-2.0
84
83
  metadata: {}
85
- post_install_message:
86
84
  rdoc_options: []
87
85
  require_paths:
88
86
  - lib
@@ -90,15 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
88
  requirements:
91
89
  - - ">="
92
90
  - !ruby/object:Gem::Version
93
- version: '2.7'
91
+ version: '3.0'
94
92
  required_rubygems_version: !ruby/object:Gem::Requirement
95
93
  requirements:
96
94
  - - ">="
97
95
  - !ruby/object:Gem::Version
98
96
  version: '0'
99
97
  requirements: []
100
- rubygems_version: 3.5.6
101
- signing_key:
98
+ rubygems_version: 3.6.2
102
99
  specification_version: 4
103
100
  summary: API Client library for the Service Directory API
104
101
  test_files: []