google-cloud-kms-v1 0.25.0 → 0.26.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +3 -3
  4. data/lib/google/cloud/kms/v1/autokey/client.rb +713 -0
  5. data/lib/google/cloud/kms/v1/autokey/credentials.rb +52 -0
  6. data/lib/google/cloud/kms/v1/autokey/operations.rb +809 -0
  7. data/lib/google/cloud/kms/v1/autokey/paths.rb +90 -0
  8. data/lib/google/cloud/kms/v1/autokey/rest/client.rb +675 -0
  9. data/lib/google/cloud/kms/v1/autokey/rest/operations.rb +902 -0
  10. data/lib/google/cloud/kms/v1/autokey/rest/service_stub.rb +247 -0
  11. data/lib/google/cloud/kms/v1/autokey/rest.rb +70 -0
  12. data/lib/google/cloud/kms/v1/autokey.rb +72 -0
  13. data/lib/google/cloud/kms/v1/autokey_admin/client.rb +677 -0
  14. data/lib/google/cloud/kms/v1/autokey_admin/credentials.rb +52 -0
  15. data/lib/google/cloud/kms/v1/autokey_admin/paths.rb +61 -0
  16. data/lib/google/cloud/kms/v1/autokey_admin/rest/client.rb +639 -0
  17. data/lib/google/cloud/kms/v1/autokey_admin/rest/service_stub.rb +247 -0
  18. data/lib/google/cloud/kms/v1/autokey_admin/rest.rb +59 -0
  19. data/lib/google/cloud/kms/v1/autokey_admin.rb +61 -0
  20. data/lib/google/cloud/kms/v1/autokey_admin_pb.rb +53 -0
  21. data/lib/google/cloud/kms/v1/autokey_admin_services_pb.rb +62 -0
  22. data/lib/google/cloud/kms/v1/autokey_pb.rb +53 -0
  23. data/lib/google/cloud/kms/v1/autokey_services_pb.rb +71 -0
  24. data/lib/google/cloud/kms/v1/bindings_override.rb +1 -1
  25. data/lib/google/cloud/kms/v1/ekm_service/client.rb +17 -7
  26. data/lib/google/cloud/kms/v1/ekm_service/rest/client.rb +17 -7
  27. data/lib/google/cloud/kms/v1/key_management_service/client.rb +59 -28
  28. data/lib/google/cloud/kms/v1/key_management_service/rest/client.rb +59 -28
  29. data/lib/google/cloud/kms/v1/resources_pb.rb +1 -1
  30. data/lib/google/cloud/kms/v1/rest.rb +3 -1
  31. data/lib/google/cloud/kms/v1/version.rb +1 -1
  32. data/lib/google/cloud/kms/v1.rb +4 -2
  33. data/proto_docs/google/api/client.rb +4 -0
  34. data/proto_docs/google/cloud/kms/v1/autokey.rb +123 -0
  35. data/proto_docs/google/cloud/kms/v1/autokey_admin.rb +99 -0
  36. data/proto_docs/google/cloud/kms/v1/resources.rb +9 -10
  37. data/proto_docs/google/longrunning/operations.rb +164 -0
  38. data/proto_docs/google/protobuf/empty.rb +34 -0
  39. data/proto_docs/google/rpc/status.rb +48 -0
  40. metadata +27 -2
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/kms/v1/autokey_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Kms
24
+ module V1
25
+ module Autokey
26
+ module Rest
27
+ ##
28
+ # REST service stub for the Autokey service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
42
+ numeric_enums: true,
43
+ raise_faraday_errors: false
44
+ end
45
+
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
55
+ ##
56
+ # The effective endpoint
57
+ #
58
+ # @return [String]
59
+ #
60
+ def endpoint
61
+ @client_stub.endpoint
62
+ end
63
+
64
+ ##
65
+ # Baseline implementation for the create_key_handle REST call
66
+ #
67
+ # @param request_pb [::Google::Cloud::Kms::V1::CreateKeyHandleRequest]
68
+ # A request object representing the call parameters. Required.
69
+ # @param options [::Gapic::CallOptions]
70
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
71
+ #
72
+ # @yield [result, operation] Access the result along with the TransportOperation object
73
+ # @yieldparam result [::Google::Longrunning::Operation]
74
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
75
+ #
76
+ # @return [::Google::Longrunning::Operation]
77
+ # A result object deserialized from the server's reply
78
+ def create_key_handle request_pb, options = nil
79
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
80
+
81
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_key_handle_request request_pb
82
+ query_string_params = if query_string_params.any?
83
+ query_string_params.to_h { |p| p.split "=", 2 }
84
+ else
85
+ {}
86
+ end
87
+
88
+ response = @client_stub.make_http_request(
89
+ verb,
90
+ uri: uri,
91
+ body: body || "",
92
+ params: query_string_params,
93
+ options: options
94
+ )
95
+ operation = ::Gapic::Rest::TransportOperation.new response
96
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
97
+
98
+ yield result, operation if block_given?
99
+ result
100
+ end
101
+
102
+ ##
103
+ # Baseline implementation for the get_key_handle REST call
104
+ #
105
+ # @param request_pb [::Google::Cloud::Kms::V1::GetKeyHandleRequest]
106
+ # A request object representing the call parameters. Required.
107
+ # @param options [::Gapic::CallOptions]
108
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
109
+ #
110
+ # @yield [result, operation] Access the result along with the TransportOperation object
111
+ # @yieldparam result [::Google::Cloud::Kms::V1::KeyHandle]
112
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
113
+ #
114
+ # @return [::Google::Cloud::Kms::V1::KeyHandle]
115
+ # A result object deserialized from the server's reply
116
+ def get_key_handle request_pb, options = nil
117
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
118
+
119
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_key_handle_request request_pb
120
+ query_string_params = if query_string_params.any?
121
+ query_string_params.to_h { |p| p.split "=", 2 }
122
+ else
123
+ {}
124
+ end
125
+
126
+ response = @client_stub.make_http_request(
127
+ verb,
128
+ uri: uri,
129
+ body: body || "",
130
+ params: query_string_params,
131
+ options: options
132
+ )
133
+ operation = ::Gapic::Rest::TransportOperation.new response
134
+ result = ::Google::Cloud::Kms::V1::KeyHandle.decode_json response.body, ignore_unknown_fields: true
135
+
136
+ yield result, operation if block_given?
137
+ result
138
+ end
139
+
140
+ ##
141
+ # Baseline implementation for the list_key_handles REST call
142
+ #
143
+ # @param request_pb [::Google::Cloud::Kms::V1::ListKeyHandlesRequest]
144
+ # A request object representing the call parameters. Required.
145
+ # @param options [::Gapic::CallOptions]
146
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
147
+ #
148
+ # @yield [result, operation] Access the result along with the TransportOperation object
149
+ # @yieldparam result [::Google::Cloud::Kms::V1::ListKeyHandlesResponse]
150
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
151
+ #
152
+ # @return [::Google::Cloud::Kms::V1::ListKeyHandlesResponse]
153
+ # A result object deserialized from the server's reply
154
+ def list_key_handles request_pb, options = nil
155
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
156
+
157
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_key_handles_request request_pb
158
+ query_string_params = if query_string_params.any?
159
+ query_string_params.to_h { |p| p.split "=", 2 }
160
+ else
161
+ {}
162
+ end
163
+
164
+ response = @client_stub.make_http_request(
165
+ verb,
166
+ uri: uri,
167
+ body: body || "",
168
+ params: query_string_params,
169
+ options: options
170
+ )
171
+ operation = ::Gapic::Rest::TransportOperation.new response
172
+ result = ::Google::Cloud::Kms::V1::ListKeyHandlesResponse.decode_json response.body, ignore_unknown_fields: true
173
+
174
+ yield result, operation if block_given?
175
+ result
176
+ end
177
+
178
+ ##
179
+ # @private
180
+ #
181
+ # GRPC transcoding helper method for the create_key_handle REST call
182
+ #
183
+ # @param request_pb [::Google::Cloud::Kms::V1::CreateKeyHandleRequest]
184
+ # A request object representing the call parameters. Required.
185
+ # @return [Array(String, [String, nil], Hash{String => String})]
186
+ # Uri, Body, Query string parameters
187
+ def self.transcode_create_key_handle_request request_pb
188
+ transcoder = Gapic::Rest::GrpcTranscoder.new
189
+ .with_bindings(
190
+ uri_method: :post,
191
+ uri_template: "/v1/{parent}/keyHandles",
192
+ body: "key_handle",
193
+ matches: [
194
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
195
+ ]
196
+ )
197
+ transcoder.transcode request_pb
198
+ end
199
+
200
+ ##
201
+ # @private
202
+ #
203
+ # GRPC transcoding helper method for the get_key_handle REST call
204
+ #
205
+ # @param request_pb [::Google::Cloud::Kms::V1::GetKeyHandleRequest]
206
+ # A request object representing the call parameters. Required.
207
+ # @return [Array(String, [String, nil], Hash{String => String})]
208
+ # Uri, Body, Query string parameters
209
+ def self.transcode_get_key_handle_request request_pb
210
+ transcoder = Gapic::Rest::GrpcTranscoder.new
211
+ .with_bindings(
212
+ uri_method: :get,
213
+ uri_template: "/v1/{name}",
214
+ matches: [
215
+ ["name", %r{^projects/[^/]+/locations/[^/]+/keyHandles/[^/]+/?$}, false]
216
+ ]
217
+ )
218
+ transcoder.transcode request_pb
219
+ end
220
+
221
+ ##
222
+ # @private
223
+ #
224
+ # GRPC transcoding helper method for the list_key_handles REST call
225
+ #
226
+ # @param request_pb [::Google::Cloud::Kms::V1::ListKeyHandlesRequest]
227
+ # A request object representing the call parameters. Required.
228
+ # @return [Array(String, [String, nil], Hash{String => String})]
229
+ # Uri, Body, Query string parameters
230
+ def self.transcode_list_key_handles_request request_pb
231
+ transcoder = Gapic::Rest::GrpcTranscoder.new
232
+ .with_bindings(
233
+ uri_method: :get,
234
+ uri_template: "/v1/{parent}/keyHandles",
235
+ matches: [
236
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
237
+ ]
238
+ )
239
+ transcoder.transcode request_pb
240
+ end
241
+ end
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/kms/v1/version"
24
+ require "google/cloud/kms/v1/bindings_override"
25
+
26
+ require "google/cloud/kms/v1/autokey/credentials"
27
+ require "google/cloud/kms/v1/autokey/paths"
28
+ require "google/cloud/kms/v1/autokey/rest/operations"
29
+ require "google/cloud/kms/v1/autokey/rest/client"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Kms
34
+ module V1
35
+ ##
36
+ # Provides interfaces for using Cloud KMS Autokey to provision new
37
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys}, ready for Customer Managed
38
+ # Encryption Key (CMEK) use, on-demand. To support certain client tooling, this
39
+ # feature is modeled around a {::Google::Cloud::Kms::V1::KeyHandle KeyHandle}
40
+ # resource: creating a {::Google::Cloud::Kms::V1::KeyHandle KeyHandle} in a resource
41
+ # project and given location triggers Cloud KMS Autokey to provision a
42
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the configured key project and
43
+ # the same location.
44
+ #
45
+ # Prior to use in a given resource project,
46
+ # {::Google::Cloud::Kms::V1::AutokeyAdmin::Client#update_autokey_config UpdateAutokeyConfig}
47
+ # should have been called on an ancestor folder, setting the key project where
48
+ # Cloud KMS Autokey should create new
49
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys}. See documentation for additional
50
+ # prerequisites. To check what key project, if any, is currently configured on
51
+ # a resource project's ancestor folder, see
52
+ # {::Google::Cloud::Kms::V1::AutokeyAdmin::Client#show_effective_autokey_config ShowEffectiveAutokeyConfig}.
53
+ #
54
+ # To load this service and instantiate a REST client:
55
+ #
56
+ # require "google/cloud/kms/v1/autokey/rest"
57
+ # client = ::Google::Cloud::Kms::V1::Autokey::Rest::Client.new
58
+ #
59
+ module Autokey
60
+ # Client for the REST transport
61
+ module Rest
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
70
+ require "google/cloud/kms/v1/autokey/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/kms/v1/version"
24
+
25
+ require "google/cloud/kms/v1/autokey/credentials"
26
+ require "google/cloud/kms/v1/autokey/paths"
27
+ require "google/cloud/kms/v1/autokey/operations"
28
+ require "google/cloud/kms/v1/autokey/client"
29
+ require "google/cloud/kms/v1/autokey/rest"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Kms
34
+ module V1
35
+ ##
36
+ # Provides interfaces for using Cloud KMS Autokey to provision new
37
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys}, ready for Customer Managed
38
+ # Encryption Key (CMEK) use, on-demand. To support certain client tooling, this
39
+ # feature is modeled around a {::Google::Cloud::Kms::V1::KeyHandle KeyHandle}
40
+ # resource: creating a {::Google::Cloud::Kms::V1::KeyHandle KeyHandle} in a resource
41
+ # project and given location triggers Cloud KMS Autokey to provision a
42
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the configured key project and
43
+ # the same location.
44
+ #
45
+ # Prior to use in a given resource project,
46
+ # {::Google::Cloud::Kms::V1::AutokeyAdmin::Client#update_autokey_config UpdateAutokeyConfig}
47
+ # should have been called on an ancestor folder, setting the key project where
48
+ # Cloud KMS Autokey should create new
49
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys}. See documentation for additional
50
+ # prerequisites. To check what key project, if any, is currently configured on
51
+ # a resource project's ancestor folder, see
52
+ # {::Google::Cloud::Kms::V1::AutokeyAdmin::Client#show_effective_autokey_config ShowEffectiveAutokeyConfig}.
53
+ #
54
+ # @example Load this service and instantiate a gRPC client
55
+ #
56
+ # require "google/cloud/kms/v1/autokey"
57
+ # client = ::Google::Cloud::Kms::V1::Autokey::Client.new
58
+ #
59
+ # @example Load this service and instantiate a REST client
60
+ #
61
+ # require "google/cloud/kms/v1/autokey/rest"
62
+ # client = ::Google::Cloud::Kms::V1::Autokey::Rest::Client.new
63
+ #
64
+ module Autokey
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+
71
+ helper_path = ::File.join __dir__, "autokey", "helpers.rb"
72
+ require "google/cloud/kms/v1/autokey/helpers" if ::File.file? helper_path