google-cloud-kms-v1 0.25.1 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) 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/cloud/kms/v1/autokey.rb +123 -0
  34. data/proto_docs/google/cloud/kms/v1/autokey_admin.rb +99 -0
  35. data/proto_docs/google/cloud/kms/v1/resources.rb +3 -0
  36. data/proto_docs/google/longrunning/operations.rb +164 -0
  37. data/proto_docs/google/protobuf/empty.rb +34 -0
  38. data/proto_docs/google/rpc/status.rb +48 -0
  39. 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