google-cloud-apigee_connect-v1 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []