google-cloud-kms-inventory 1.2.1 → 1.3.1

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: f1001fc7d1d52a362c29e27ce7ca9b7745664358247643dfe78c9825e87aa33d
4
- data.tar.gz: b291471791f709a3d832893252b44d656707d02707e0e9064afdb6b5d3f0ded2
3
+ metadata.gz: a7b0a9d34e56ccf6b6c293e61d03e17b9875cda27bf37910c5477648b6ee653a
4
+ data.tar.gz: 221acfbe7d023bc10ffef8847a2596becf6b4c70a60f6cfeeba708ea39620cf7
5
5
  SHA512:
6
- metadata.gz: 2c0b37662edfeb922afed54dd79100807bf5deba78c956eed8f7300e61567fca88fc490cb2d4aa67ba277425eaad4ab0a29f4ffdfb57d90d92edee8a167bb018
7
- data.tar.gz: b3dc876bbb73ba83eaeec2e130206f28cd8911e9d8daf9f8f097dc9ee49454faf8210094f4086c20d9f9cd077260f8f52db50d407c4d02a28249044b73b3161a
6
+ metadata.gz: 458a787868848eefb7dcbe89a132af129f82e5b94b98f047e8287926a781db311bb2a524ad96a3e9246f86ad206a2a3b2693c5884b4d8ab9de00f272d55f0a5f
7
+ data.tar.gz: f0b416ed8b1e430bd53628caf1df9998cbf5a091bac84cd38475cbd775049752e488ef4f76e5c192c55bab04813441a7093f819842564c279f25792401b727f9
data/README.md CHANGED
@@ -7,7 +7,7 @@ google-cloud-kms-inventory is the official client library for the KMS Inventory
7
7
  Actual client classes for the various versions of this API are defined in
8
8
  _versioned_ client gems, with names of the form `google-cloud-kms-inventory-v*`.
9
9
  The gem `google-cloud-kms-inventory` is the main client library that brings the
10
- verisoned gems in as dependencies, and provides high-level methods for
10
+ versioned gems in as dependencies, and provides high-level methods for
11
11
  constructing clients. More information on versioned clients can be found below
12
12
  in the section titled *Which client should I use?*.
13
13
 
@@ -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.1"
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.1
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: 1980-01-02 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.8
82
79
  specification_version: 4
83
80
  summary: API Client library for the KMS Inventory API
84
81
  test_files: []