google-cloud-kms-inventory 1.2.1 → 1.3.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: f1001fc7d1d52a362c29e27ce7ca9b7745664358247643dfe78c9825e87aa33d
4
- data.tar.gz: b291471791f709a3d832893252b44d656707d02707e0e9064afdb6b5d3f0ded2
3
+ metadata.gz: c903bc481e4a218e63b55d2e9b85d0936633b48c9a3ca996c411961371b689e9
4
+ data.tar.gz: 92b0e7dccc89379d837d77d730acf16ac2b7cd4af15a4668f1b64ea2751b9f7f
5
5
  SHA512:
6
- metadata.gz: 2c0b37662edfeb922afed54dd79100807bf5deba78c956eed8f7300e61567fca88fc490cb2d4aa67ba277425eaad4ab0a29f4ffdfb57d90d92edee8a167bb018
7
- data.tar.gz: b3dc876bbb73ba83eaeec2e130206f28cd8911e9d8daf9f8f097dc9ee49454faf8210094f4086c20d9f9cd077260f8f52db50d407c4d02a28249044b73b3161a
6
+ metadata.gz: be7907e17aaa4e780cb20e4af5b2454c75bb5a9f7325e49ee013824569e8cc9496552a39a6c76514979deabfbf5a16a8263948dd784bcc70dc26cd782bc6a0e4
7
+ data.tar.gz: b49d9d695c2e724217f8969134570fbe406f1a77c12b94946c1f041308cee0e4db2b72b417ce6bded2802ba2506657bd5a5e6409d1fd4fd607aff2f37535013b
data/README.md CHANGED
@@ -34,9 +34,39 @@ In order to use this library, you first need to go through the following steps:
34
34
  1. [Enable the API.](https://console.cloud.google.com/apis/library/kmsinventory.googleapis.com)
35
35
  1. {file:AUTHENTICATION.md Set up authentication.}
36
36
 
37
+ ## Debug Logging
38
+
39
+ This library comes with opt-in Debug Logging that can help you troubleshoot
40
+ your application's integration with the API. When logging is activated, key
41
+ events such as requests and responses, along with data payloads and metadata
42
+ such as headers and client configuration, are logged to the standard error
43
+ stream.
44
+
45
+ **WARNING:** Client Library Debug Logging includes your data payloads in
46
+ plaintext, which could include sensitive data such as PII for yourself or your
47
+ customers, private keys, or other security data that could be compromising if
48
+ leaked. Always practice good data hygiene with your application logs, and follow
49
+ the principle of least access. Google also recommends that Client Library Debug
50
+ Logging be enabled only temporarily during active debugging, and not used
51
+ permanently in production.
52
+
53
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
54
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
55
+ list of client library gem names. This will select the default logging behavior,
56
+ which writes logs to the standard error stream. On a local workstation, this may
57
+ result in logs appearing on the console. When running on a Google Cloud hosting
58
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
59
+ results in logs appearing alongside your application logs in the
60
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
61
+
62
+ Debug logging also requires that the versioned clients for this service be
63
+ sufficiently recent, released after about Dec 10, 2024. If logging is not
64
+ working, try updating the versioned clients in your bundle or installed gems:
65
+ [google-cloud-kms-inventory-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-kms-inventory-v1/latest).
66
+
37
67
  ## Supported Ruby Versions
38
68
 
39
- This library is supported on Ruby 2.7+.
69
+ This library is supported on Ruby 3.0+.
40
70
 
41
71
  Google provides official support for Ruby versions that are actively supported
42
72
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module Inventory
24
- VERSION = "1.2.1"
24
+ VERSION = "1.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -59,6 +59,11 @@ module Google
59
59
  # You can also specify a different transport by passing `:rest` or `:grpc` in
60
60
  # the `transport` parameter.
61
61
  #
62
+ # Raises an exception if the currently installed versioned client gem for the
63
+ # given API version does not support the given transport of the KeyDashboardService service.
64
+ # You can determine whether the method will succeed by calling
65
+ # {Google::Cloud::Kms::Inventory.key_dashboard_service_available?}.
66
+ #
62
67
  # ## About KeyDashboardService
63
68
  #
64
69
  # Provides a cross-region view of all Cloud KMS keys in a given Cloud project.
@@ -80,6 +85,37 @@ module Google
80
85
  service_module.const_get(:Client).new(&block)
81
86
  end
82
87
 
88
+ ##
89
+ # Determines whether the KeyDashboardService service is supported by the current client.
90
+ # If true, you can retrieve a client object by calling {Google::Cloud::Kms::Inventory.key_dashboard_service}.
91
+ # If false, that method will raise an exception. This could happen if the given
92
+ # API version does not exist or does not support the KeyDashboardService service,
93
+ # or if the versioned client gem needs an update to support the KeyDashboardService service.
94
+ #
95
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
96
+ # Defaults to `:v1`.
97
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
98
+ # @return [boolean] Whether the service is available.
99
+ #
100
+ def self.key_dashboard_service_available? version: :v1, transport: :grpc
101
+ require "google/cloud/kms/inventory/#{version.to_s.downcase}"
102
+ package_name = Google::Cloud::Kms::Inventory
103
+ .constants
104
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
105
+ .first
106
+ return false unless package_name
107
+ service_module = Google::Cloud::Kms::Inventory.const_get package_name
108
+ return false unless service_module.const_defined? :KeyDashboardService
109
+ service_module = service_module.const_get :KeyDashboardService
110
+ if transport == :rest
111
+ return false unless service_module.const_defined? :Rest
112
+ service_module = service_module.const_get :Rest
113
+ end
114
+ service_module.const_defined? :Client
115
+ rescue ::LoadError
116
+ false
117
+ end
118
+
83
119
  ##
84
120
  # Create a new client object for KeyTrackingService.
85
121
  #
@@ -93,6 +129,11 @@ module Google
93
129
  # You can also specify a different transport by passing `:rest` or `:grpc` in
94
130
  # the `transport` parameter.
95
131
  #
132
+ # Raises an exception if the currently installed versioned client gem for the
133
+ # given API version does not support the given transport of the KeyTrackingService service.
134
+ # You can determine whether the method will succeed by calling
135
+ # {Google::Cloud::Kms::Inventory.key_tracking_service_available?}.
136
+ #
96
137
  # ## About KeyTrackingService
97
138
  #
98
139
  # Returns information about the resources in an org that are protected by a
@@ -115,6 +156,37 @@ module Google
115
156
  service_module.const_get(:Client).new(&block)
116
157
  end
117
158
 
159
+ ##
160
+ # Determines whether the KeyTrackingService service is supported by the current client.
161
+ # If true, you can retrieve a client object by calling {Google::Cloud::Kms::Inventory.key_tracking_service}.
162
+ # If false, that method will raise an exception. This could happen if the given
163
+ # API version does not exist or does not support the KeyTrackingService service,
164
+ # or if the versioned client gem needs an update to support the KeyTrackingService service.
165
+ #
166
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
167
+ # Defaults to `:v1`.
168
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
169
+ # @return [boolean] Whether the service is available.
170
+ #
171
+ def self.key_tracking_service_available? version: :v1, transport: :grpc
172
+ require "google/cloud/kms/inventory/#{version.to_s.downcase}"
173
+ package_name = Google::Cloud::Kms::Inventory
174
+ .constants
175
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
176
+ .first
177
+ return false unless package_name
178
+ service_module = Google::Cloud::Kms::Inventory.const_get package_name
179
+ return false unless service_module.const_defined? :KeyTrackingService
180
+ service_module = service_module.const_get :KeyTrackingService
181
+ if transport == :rest
182
+ return false unless service_module.const_defined? :Rest
183
+ service_module = service_module.const_get :Rest
184
+ end
185
+ service_module.const_defined? :Client
186
+ rescue ::LoadError
187
+ false
188
+ end
189
+
118
190
  ##
119
191
  # Configure the google-cloud-kms-inventory library.
120
192
  #
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms-inventory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.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-09 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
@@ -62,7 +61,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
62
61
  licenses:
63
62
  - Apache-2.0
64
63
  metadata: {}
65
- post_install_message:
66
64
  rdoc_options: []
67
65
  require_paths:
68
66
  - lib
@@ -70,15 +68,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
70
68
  requirements:
71
69
  - - ">="
72
70
  - !ruby/object:Gem::Version
73
- version: '2.7'
71
+ version: '3.0'
74
72
  required_rubygems_version: !ruby/object:Gem::Requirement
75
73
  requirements:
76
74
  - - ">="
77
75
  - !ruby/object:Gem::Version
78
76
  version: '0'
79
77
  requirements: []
80
- rubygems_version: 3.5.6
81
- signing_key:
78
+ rubygems_version: 3.6.2
82
79
  specification_version: 4
83
80
  summary: API Client library for the KMS Inventory API
84
81
  test_files: []