google-cloud-apigee_connect-v1 1.0.1 → 1.2.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: 69355f46ef6206c21c877368cf53273cb7acda1cfa94192c8c806d653a084063
4
- data.tar.gz: 4f34cd74885b0183739144d6620eab80c319abcf48ee8d946a453270891fd890
3
+ metadata.gz: f5a9fbc2b2228e1cf7b3889a96f207a1a2217c032dcd617d01cedb7249a83e0d
4
+ data.tar.gz: 005a99e9108fcfd4f5bd724cf9dad846e97bec164c5617f747a53be281e8e85b
5
5
  SHA512:
6
- metadata.gz: a579073c54d8d85c99a5117f655caf5e73d61ad09c5f8dc835d180837b7615b1414b32961ede798681f0f1a1295e0bf00af3963eeb68f31248e3f4b98320c2ae
7
- data.tar.gz: c43dd3cb9fe4b3c94d416c8835dd5c02b2ba58aff52f483940a0baef22308c6a72ff5edc98d040260b3e2174e0c960c7988487024772e90c5cd001be1b329278
6
+ metadata.gz: 5b6cd337d426a7b4319c9008aec0b9bb37bdc633c7f185ff6e58fb437c05396faaf360e0dd98b55dd6626dab6c1a5c2f9118df5c2cf77b74fc024a3496369f4d
7
+ data.tar.gz: f217da215d0a709995f30184239883df551daab2b17eca628f5f2e96aeebbd591c47c3bf33b1bc1624ed4195461d50efb8b79cbac3e2ee863fddff9947c9de27
data/README.md CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/apigee/docs/hybrid/v1.4/apigee-connect)
44
44
  for general usage information.
45
45
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/apigee_connect/v1"
57
76
  require "logger"
58
77
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
78
+ client = ::Google::Cloud::ApigeeConnect::V1::ConnectionService::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
86
 
77
87
  ## Supported Ruby Versions
78
88
 
79
- This library is supported on Ruby 2.7+.
89
+ This library is supported on Ruby 3.0+.
80
90
 
81
91
  Google provides official support for Ruby versions that are actively supported
82
92
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -162,8 +162,28 @@ module Google
162
162
  universe_domain: @config.universe_domain,
163
163
  channel_args: @config.channel_args,
164
164
  interceptors: @config.interceptors,
165
- channel_pool_config: @config.channel_pool
165
+ channel_pool_config: @config.channel_pool,
166
+ logger: @config.logger
166
167
  )
168
+
169
+ @connection_service_stub.stub_logger&.info do |entry|
170
+ entry.set_system_name
171
+ entry.set_service
172
+ entry.message = "Created client for #{entry.service}"
173
+ entry.set_credentials_fields credentials
174
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
175
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
176
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
177
+ end
178
+ end
179
+
180
+ ##
181
+ # The logger used for request/response debug logging.
182
+ #
183
+ # @return [Logger]
184
+ #
185
+ def logger
186
+ @connection_service_stub.logger
167
187
  end
168
188
 
169
189
  # Service calls
@@ -265,7 +285,7 @@ module Google
265
285
  @connection_service_stub.call_rpc :list_connections, request, options: options do |response, operation|
266
286
  response = ::Gapic::PagedEnumerable.new @connection_service_stub, :list_connections, request, response, operation, options
267
287
  yield response, operation if block_given?
268
- return response
288
+ throw :response, response
269
289
  end
270
290
  rescue ::GRPC::BadStatus => e
271
291
  raise ::Google::Cloud::Error.from_error(e)
@@ -315,6 +335,13 @@ module Google
315
335
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
316
336
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
317
337
  # * (`nil`) indicating no credentials
338
+ #
339
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
340
+ # external source for authentication to Google Cloud, you must validate it before
341
+ # providing it to a Google API client library. Providing an unvalidated credential
342
+ # configuration to Google APIs can compromise the security of your systems and data.
343
+ # For more information, refer to [Validate credential configurations from external
344
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
318
345
  # @return [::Object]
319
346
  # @!attribute [rw] scope
320
347
  # The OAuth scopes
@@ -354,6 +381,11 @@ module Google
354
381
  # default endpoint URL. The default value of nil uses the environment
355
382
  # universe (usually the default "googleapis.com" universe).
356
383
  # @return [::String,nil]
384
+ # @!attribute [rw] logger
385
+ # A custom logger to use for request/response debug logging, or the value
386
+ # `:default` (the default) to construct a default logger, or `nil` to
387
+ # explicitly disable logging.
388
+ # @return [::Logger,:default,nil]
357
389
  #
358
390
  class Configuration
359
391
  extend ::Gapic::Config
@@ -378,6 +410,7 @@ module Google
378
410
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
379
411
  config_attr :quota_project, nil, ::String, nil
380
412
  config_attr :universe_domain, nil, ::String, nil
413
+ config_attr :logger, :default, ::Logger, nil, :default
381
414
 
382
415
  # @private
383
416
  def initialize parent_config = nil
@@ -155,8 +155,28 @@ module Google
155
155
  endpoint: @config.endpoint,
156
156
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
157
157
  universe_domain: @config.universe_domain,
158
- credentials: credentials
158
+ credentials: credentials,
159
+ logger: @config.logger
159
160
  )
161
+
162
+ @connection_service_stub.logger(stub: true)&.info do |entry|
163
+ entry.set_system_name
164
+ entry.set_service
165
+ entry.message = "Created client for #{entry.service}"
166
+ entry.set_credentials_fields credentials
167
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
168
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
169
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
170
+ end
171
+ end
172
+
173
+ ##
174
+ # The logger used for request/response debug logging.
175
+ #
176
+ # @return [Logger]
177
+ #
178
+ def logger
179
+ @connection_service_stub.logger
160
180
  end
161
181
 
162
182
  # Service calls
@@ -251,7 +271,7 @@ module Google
251
271
  @connection_service_stub.list_connections request, options do |result, operation|
252
272
  result = ::Gapic::Rest::PagedEnumerable.new @connection_service_stub, :list_connections, "connections", request, result, options
253
273
  yield result, operation if block_given?
254
- return result
274
+ throw :response, result
255
275
  end
256
276
  rescue ::Gapic::Rest::Error => e
257
277
  raise ::Google::Cloud::Error.from_error(e)
@@ -299,6 +319,13 @@ module Google
299
319
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
300
320
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
301
321
  # * (`nil`) indicating no credentials
322
+ #
323
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
324
+ # external source for authentication to Google Cloud, you must validate it before
325
+ # providing it to a Google API client library. Providing an unvalidated credential
326
+ # configuration to Google APIs can compromise the security of your systems and data.
327
+ # For more information, refer to [Validate credential configurations from external
328
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
302
329
  # @return [::Object]
303
330
  # @!attribute [rw] scope
304
331
  # The OAuth scopes
@@ -331,6 +358,11 @@ module Google
331
358
  # default endpoint URL. The default value of nil uses the environment
332
359
  # universe (usually the default "googleapis.com" universe).
333
360
  # @return [::String,nil]
361
+ # @!attribute [rw] logger
362
+ # A custom logger to use for request/response debug logging, or the value
363
+ # `:default` (the default) to construct a default logger, or `nil` to
364
+ # explicitly disable logging.
365
+ # @return [::Logger,:default,nil]
334
366
  #
335
367
  class Configuration
336
368
  extend ::Gapic::Config
@@ -352,6 +384,7 @@ module Google
352
384
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
353
385
  config_attr :quota_project, nil, ::String, nil
354
386
  config_attr :universe_domain, nil, ::String, nil
387
+ config_attr :logger, :default, ::Logger, nil, :default
355
388
 
356
389
  # @private
357
390
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the list_connections REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "list_connections",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::ApigeeConnect::V1::ListConnectionsResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -157,8 +157,28 @@ module Google
157
157
  universe_domain: @config.universe_domain,
158
158
  channel_args: @config.channel_args,
159
159
  interceptors: @config.interceptors,
160
- channel_pool_config: @config.channel_pool
160
+ channel_pool_config: @config.channel_pool,
161
+ logger: @config.logger
161
162
  )
163
+
164
+ @tether_stub.stub_logger&.info do |entry|
165
+ entry.set_system_name
166
+ entry.set_service
167
+ entry.message = "Created client for #{entry.service}"
168
+ entry.set_credentials_fields credentials
169
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
170
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
171
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
172
+ end
173
+ end
174
+
175
+ ##
176
+ # The logger used for request/response debug logging.
177
+ #
178
+ # @return [Logger]
179
+ #
180
+ def logger
181
+ @tether_stub.logger
162
182
  end
163
183
 
164
184
  # Service calls
@@ -242,7 +262,6 @@ module Google
242
262
 
243
263
  @tether_stub.call_rpc :egress, request, options: options do |response, operation|
244
264
  yield response, operation if block_given?
245
- return response
246
265
  end
247
266
  rescue ::GRPC::BadStatus => e
248
267
  raise ::Google::Cloud::Error.from_error(e)
@@ -292,6 +311,13 @@ module Google
292
311
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
293
312
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
294
313
  # * (`nil`) indicating no credentials
314
+ #
315
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
316
+ # external source for authentication to Google Cloud, you must validate it before
317
+ # providing it to a Google API client library. Providing an unvalidated credential
318
+ # configuration to Google APIs can compromise the security of your systems and data.
319
+ # For more information, refer to [Validate credential configurations from external
320
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
295
321
  # @return [::Object]
296
322
  # @!attribute [rw] scope
297
323
  # The OAuth scopes
@@ -331,6 +357,11 @@ module Google
331
357
  # default endpoint URL. The default value of nil uses the environment
332
358
  # universe (usually the default "googleapis.com" universe).
333
359
  # @return [::String,nil]
360
+ # @!attribute [rw] logger
361
+ # A custom logger to use for request/response debug logging, or the value
362
+ # `:default` (the default) to construct a default logger, or `nil` to
363
+ # explicitly disable logging.
364
+ # @return [::Logger,:default,nil]
334
365
  #
335
366
  class Configuration
336
367
  extend ::Gapic::Config
@@ -355,6 +386,7 @@ module Google
355
386
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
356
387
  config_attr :quota_project, nil, ::String, nil
357
388
  config_attr :universe_domain, nil, ::String, nil
389
+ config_attr :logger, :default, ::Logger, nil, :default
358
390
 
359
391
  # @private
360
392
  def initialize parent_config = nil
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ApigeeConnect
23
23
  module V1
24
- VERSION = "1.0.1"
24
+ VERSION = "1.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
@@ -50,12 +50,18 @@ module Google
50
50
  # @!attribute [rw] http_request
51
51
  # @return [::Google::Cloud::ApigeeConnect::V1::HttpRequest]
52
52
  # The HttpRequest proto.
53
+ #
54
+ # Note: The following fields are mutually exclusive: `http_request`, `stream_info`, `action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
53
55
  # @!attribute [rw] stream_info
54
56
  # @return [::Google::Cloud::ApigeeConnect::V1::StreamInfo]
55
57
  # The information of stream.
58
+ #
59
+ # Note: The following fields are mutually exclusive: `stream_info`, `http_request`, `action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
60
  # @!attribute [rw] action
57
61
  # @return [::Google::Cloud::ApigeeConnect::V1::Action]
58
62
  # The action taken by agent.
63
+ #
64
+ # Note: The following fields are mutually exclusive: `action`, `http_request`, `stream_info`. If a field in that set is populated, all other fields in the set will automatically be cleared.
59
65
  class Payload
60
66
  include ::Google::Protobuf::MessageExts
61
67
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-apigee_connect-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.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-30 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: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.21.1
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.21.1
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -92,7 +91,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
92
91
  licenses:
93
92
  - Apache-2.0
94
93
  metadata: {}
95
- post_install_message:
96
94
  rdoc_options: []
97
95
  require_paths:
98
96
  - lib
@@ -100,15 +98,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
98
  requirements:
101
99
  - - ">="
102
100
  - !ruby/object:Gem::Version
103
- version: '2.7'
101
+ version: '3.0'
104
102
  required_rubygems_version: !ruby/object:Gem::Requirement
105
103
  requirements:
106
104
  - - ">="
107
105
  - !ruby/object:Gem::Version
108
106
  version: '0'
109
107
  requirements: []
110
- rubygems_version: 3.5.6
111
- signing_key:
108
+ rubygems_version: 3.6.2
112
109
  specification_version: 4
113
110
  summary: API Client library for the Apigee Connect V1 API
114
111
  test_files: []