google-cloud-security-public_ca-v1beta1 0.6.0 → 0.7.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: 0ff49df824d0bac03724b9b681327ef53c1a2fd2b80cb88a8e61a55255760126
4
- data.tar.gz: 3bfdc76ef88e5b7861afbc089f3ecd7579045e7956770380f5b8d6d5b7d19e7f
3
+ metadata.gz: 54a9c8d45162eda978152fad5a4c7ac5092a07564723513db0c71302adedcb19
4
+ data.tar.gz: 05a1e62362be250bd574e0117d1f48750baccea6a59217aeb2ceb1ef68a1ef2e
5
5
  SHA512:
6
- metadata.gz: 919120f7610d88943c62b44db89aa8edd52a4bad0aa996934175d3ee5427bb5250bbb0b69d9fff67fc846da69b030bcde9f8fbb61379f1a409164fe53bf72b8b
7
- data.tar.gz: 3ca167f61115e1df6b0efd394744ff88cea0e6fde37e47da89d808328c6b351bd655b0070b2497e66ca70389c0cedec209ed6adc07dfb60b38b55c31a7c5ad2b
6
+ metadata.gz: 588492a8fdc27a21e5b6150f035faf5b84c3a3a0ffb8920897b8a98b48c447e299c0e5a96ba672af79c69381f89a4d24f626b1452cc1af3b7107870b481aaaad
7
+ data.tar.gz: 324851e949a6df45880782923b6b803aae15a3f44c2966cca39566445e2a50039017fb4e397b5b0746f097b9a09093f7222bbc196029d2b4989d48234c4c67b0
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/certificate-manager/docs/public-ca/)
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/security/public_ca/v1beta1"
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::Security::PublicCA::V1beta1::PublicCertificateAuthorityService::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).
@@ -33,6 +33,9 @@ module Google
33
33
  # the public certificate authority service.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ API_VERSION = ""
38
+
36
39
  # @private
37
40
  DEFAULT_ENDPOINT_TEMPLATE = "publicca.$UNIVERSE_DOMAIN$"
38
41
 
@@ -162,8 +165,28 @@ module Google
162
165
  universe_domain: @config.universe_domain,
163
166
  channel_args: @config.channel_args,
164
167
  interceptors: @config.interceptors,
165
- channel_pool_config: @config.channel_pool
168
+ channel_pool_config: @config.channel_pool,
169
+ logger: @config.logger
166
170
  )
171
+
172
+ @public_certificate_authority_service_stub.stub_logger&.info do |entry|
173
+ entry.set_system_name
174
+ entry.set_service
175
+ entry.message = "Created client for #{entry.service}"
176
+ entry.set_credentials_fields credentials
177
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
178
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
179
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
180
+ end
181
+ end
182
+
183
+ ##
184
+ # The logger used for request/response debug logging.
185
+ #
186
+ # @return [Logger]
187
+ #
188
+ def logger
189
+ @public_certificate_authority_service_stub.logger
167
190
  end
168
191
 
169
192
  # Service calls
@@ -230,10 +253,11 @@ module Google
230
253
  # Customize the options with defaults
231
254
  metadata = @config.rpcs.create_external_account_key.metadata.to_h
232
255
 
233
- # Set x-goog-api-client and x-goog-user-project headers
256
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
234
257
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
235
258
  lib_name: @config.lib_name, lib_version: @config.lib_version,
236
259
  gapic_version: ::Google::Cloud::Security::PublicCA::V1beta1::VERSION
260
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
237
261
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
238
262
 
239
263
  header_params = {}
@@ -254,7 +278,6 @@ module Google
254
278
 
255
279
  @public_certificate_authority_service_stub.call_rpc :create_external_account_key, request, options: options do |response, operation|
256
280
  yield response, operation if block_given?
257
- return response
258
281
  end
259
282
  rescue ::GRPC::BadStatus => e
260
283
  raise ::Google::Cloud::Error.from_error(e)
@@ -343,6 +366,11 @@ module Google
343
366
  # default endpoint URL. The default value of nil uses the environment
344
367
  # universe (usually the default "googleapis.com" universe).
345
368
  # @return [::String,nil]
369
+ # @!attribute [rw] logger
370
+ # A custom logger to use for request/response debug logging, or the value
371
+ # `:default` (the default) to construct a default logger, or `nil` to
372
+ # explicitly disable logging.
373
+ # @return [::Logger,:default,nil]
346
374
  #
347
375
  class Configuration
348
376
  extend ::Gapic::Config
@@ -367,6 +395,7 @@ module Google
367
395
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
368
396
  config_attr :quota_project, nil, ::String, nil
369
397
  config_attr :universe_domain, nil, ::String, nil
398
+ config_attr :logger, :default, ::Logger, nil, :default
370
399
 
371
400
  # @private
372
401
  def initialize parent_config = nil
@@ -35,6 +35,9 @@ module Google
35
35
  # the public certificate authority service.
36
36
  #
37
37
  class Client
38
+ # @private
39
+ API_VERSION = ""
40
+
38
41
  # @private
39
42
  DEFAULT_ENDPOINT_TEMPLATE = "publicca.$UNIVERSE_DOMAIN$"
40
43
 
@@ -155,8 +158,28 @@ module Google
155
158
  endpoint: @config.endpoint,
156
159
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
157
160
  universe_domain: @config.universe_domain,
158
- credentials: credentials
161
+ credentials: credentials,
162
+ logger: @config.logger
159
163
  )
164
+
165
+ @public_certificate_authority_service_stub.logger(stub: true)&.info do |entry|
166
+ entry.set_system_name
167
+ entry.set_service
168
+ entry.message = "Created client for #{entry.service}"
169
+ entry.set_credentials_fields credentials
170
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
171
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
172
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
173
+ end
174
+ end
175
+
176
+ ##
177
+ # The logger used for request/response debug logging.
178
+ #
179
+ # @return [Logger]
180
+ #
181
+ def logger
182
+ @public_certificate_authority_service_stub.logger
160
183
  end
161
184
 
162
185
  # Service calls
@@ -222,12 +245,13 @@ module Google
222
245
  # Customize the options with defaults
223
246
  call_metadata = @config.rpcs.create_external_account_key.metadata.to_h
224
247
 
225
- # Set x-goog-api-client and x-goog-user-project headers
248
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
226
249
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
227
250
  lib_name: @config.lib_name, lib_version: @config.lib_version,
228
251
  gapic_version: ::Google::Cloud::Security::PublicCA::V1beta1::VERSION,
229
252
  transports_version_send: [:rest]
230
253
 
254
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
231
255
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
232
256
 
233
257
  options.apply_defaults timeout: @config.rpcs.create_external_account_key.timeout,
@@ -240,7 +264,6 @@ module Google
240
264
 
241
265
  @public_certificate_authority_service_stub.create_external_account_key request, options do |result, operation|
242
266
  yield result, operation if block_given?
243
- return result
244
267
  end
245
268
  rescue ::Gapic::Rest::Error => e
246
269
  raise ::Google::Cloud::Error.from_error(e)
@@ -320,6 +343,11 @@ module Google
320
343
  # default endpoint URL. The default value of nil uses the environment
321
344
  # universe (usually the default "googleapis.com" universe).
322
345
  # @return [::String,nil]
346
+ # @!attribute [rw] logger
347
+ # A custom logger to use for request/response debug logging, or the value
348
+ # `:default` (the default) to construct a default logger, or `nil` to
349
+ # explicitly disable logging.
350
+ # @return [::Logger,:default,nil]
323
351
  #
324
352
  class Configuration
325
353
  extend ::Gapic::Config
@@ -341,6 +369,7 @@ module Google
341
369
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
342
370
  config_attr :quota_project, nil, ::String, nil
343
371
  config_attr :universe_domain, nil, ::String, nil
372
+ config_attr :logger, :default, ::Logger, nil, :default
344
373
 
345
374
  # @private
346
375
  def initialize parent_config = nil
@@ -31,7 +31,8 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # @private
35
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
36
  # These require statements are intentionally placed here to initialize
36
37
  # the REST modules only when it's required.
37
38
  require "gapic/rest"
@@ -41,7 +42,9 @@ module Google
41
42
  universe_domain: universe_domain,
42
43
  credentials: credentials,
43
44
  numeric_enums: true,
44
- raise_faraday_errors: false
45
+ service_name: self.class,
46
+ raise_faraday_errors: false,
47
+ logger: logger
45
48
  end
46
49
 
47
50
  ##
@@ -62,6 +65,15 @@ module Google
62
65
  @client_stub.endpoint
63
66
  end
64
67
 
68
+ ##
69
+ # The logger used for request/response debug logging.
70
+ #
71
+ # @return [Logger]
72
+ #
73
+ def logger stub: false
74
+ stub ? @client_stub.stub_logger : @client_stub.logger
75
+ end
76
+
65
77
  ##
66
78
  # Baseline implementation for the create_external_account_key REST call
67
79
  #
@@ -88,16 +100,18 @@ module Google
88
100
 
89
101
  response = @client_stub.make_http_request(
90
102
  verb,
91
- uri: uri,
92
- body: body || "",
93
- params: query_string_params,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ method_name: "create_external_account_key",
94
107
  options: options
95
108
  )
96
109
  operation = ::Gapic::Rest::TransportOperation.new response
97
110
  result = ::Google::Cloud::Security::PublicCA::V1beta1::ExternalAccountKey.decode_json response.body, ignore_unknown_fields: true
98
-
99
- yield result, operation if block_given?
100
- result
111
+ catch :response do
112
+ yield result, operation if block_given?
113
+ result
114
+ end
101
115
  end
102
116
 
103
117
  ##
@@ -22,7 +22,7 @@ module Google
22
22
  module Security
23
23
  module PublicCA
24
24
  module V1beta1
25
- VERSION = "0.6.0"
25
+ VERSION = "0.7.0"
26
26
  end
27
27
  end
28
28
  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
@@ -118,6 +121,10 @@ module Google
118
121
  # @return [::String]
119
122
  # Optional link to proto reference documentation. Example:
120
123
  # https://cloud.google.com/pubsub/lite/docs/reference/rpc
124
+ # @!attribute [rw] rest_reference_documentation_uri
125
+ # @return [::String]
126
+ # Optional link to REST reference documentation. Example:
127
+ # https://cloud.google.com/pubsub/lite/docs/reference/rest
121
128
  class Publishing
122
129
  include ::Google::Protobuf::MessageExts
123
130
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -192,9 +199,32 @@ module Google
192
199
  # @!attribute [rw] common
193
200
  # @return [::Google::Api::CommonLanguageSettings]
194
201
  # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
195
205
  class PythonSettings
196
206
  include ::Google::Protobuf::MessageExts
197
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
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.
224
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
198
228
  end
199
229
 
200
230
  # Settings for Node client libraries.
@@ -276,9 +306,28 @@ module Google
276
306
  # @!attribute [rw] common
277
307
  # @return [::Google::Api::CommonLanguageSettings]
278
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
279
319
  class GoSettings
280
320
  include ::Google::Protobuf::MessageExts
281
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
282
331
  end
283
332
 
284
333
  # Describes the generator configuration for a method.
@@ -286,6 +335,13 @@ module Google
286
335
  # @return [::String]
287
336
  # The fully qualified name of the method, for which the options below apply.
288
337
  # This is used to find the method to apply the options.
338
+ #
339
+ # Example:
340
+ #
341
+ # publishing:
342
+ # method_settings:
343
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
344
+ # # method settings for CreateFolder...
289
345
  # @!attribute [rw] long_running
290
346
  # @return [::Google::Api::MethodSettings::LongRunning]
291
347
  # Describes settings to use for long-running operations when generating
@@ -294,17 +350,14 @@ module Google
294
350
  #
295
351
  # Example of a YAML configuration::
296
352
  #
297
- # publishing:
298
- # method_settings:
353
+ # publishing:
354
+ # method_settings:
299
355
  # - selector: google.cloud.speech.v2.Speech.BatchRecognize
300
356
  # long_running:
301
- # initial_poll_delay:
302
- # seconds: 60 # 1 minute
357
+ # initial_poll_delay: 60s # 1 minute
303
358
  # poll_delay_multiplier: 1.5
304
- # max_poll_delay:
305
- # seconds: 360 # 6 minutes
306
- # total_poll_timeout:
307
- # seconds: 54000 # 90 minutes
359
+ # max_poll_delay: 360s # 6 minutes
360
+ # total_poll_timeout: 54000s # 90 minutes
308
361
  # @!attribute [rw] auto_populated_fields
309
362
  # @return [::Array<::String>]
310
363
  # List of top-level fields of the request message, that should be
@@ -313,8 +366,8 @@ module Google
313
366
  #
314
367
  # Example of a YAML configuration:
315
368
  #
316
- # publishing:
317
- # method_settings:
369
+ # publishing:
370
+ # method_settings:
318
371
  # - selector: google.example.v1.ExampleService.CreateExample
319
372
  # auto_populated_fields:
320
373
  # - request_id
@@ -350,6 +403,17 @@ module Google
350
403
  end
351
404
  end
352
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
+
353
417
  # The organization for which the client libraries are being published.
354
418
  # Affects the url where generated docs are published, etc.
355
419
  module ClientLibraryOrganization
@@ -124,8 +124,13 @@ module Google
124
124
  # @return [::String]
125
125
  # The plural name used in the resource name and permission names, such as
126
126
  # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
- # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
128
- # concept of the `plural` field in k8s CRD spec
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
129
134
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
130
135
  #
131
136
  # Note: The plural form is required even for singleton resources. See
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security-public_ca-v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-26 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.1
19
+ version: 0.24.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubygems_version: 3.5.6
106
+ rubygems_version: 3.5.23
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: The Public Certificate Authority API may be used to create and manage ACME