google-cloud-kms-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-kms-v1.rb +21 -0
  7. data/lib/google/cloud/kms/v1.rb +36 -0
  8. data/lib/google/cloud/kms/v1/iam_policy.rb +72 -0
  9. data/lib/google/cloud/kms/v1/iam_policy/client.rb +557 -0
  10. data/lib/google/cloud/kms/v1/iam_policy/credentials.rb +52 -0
  11. data/lib/google/cloud/kms/v1/key_management_service.rb +60 -0
  12. data/lib/google/cloud/kms/v1/key_management_service/client.rb +2393 -0
  13. data/lib/google/cloud/kms/v1/key_management_service/credentials.rb +52 -0
  14. data/lib/google/cloud/kms/v1/key_management_service/paths.rb +134 -0
  15. data/lib/google/cloud/kms/v1/resources_pb.rb +162 -0
  16. data/lib/google/cloud/kms/v1/service_pb.rb +210 -0
  17. data/lib/google/cloud/kms/v1/service_services_pb.rb +150 -0
  18. data/lib/google/cloud/kms/v1/version.rb +28 -0
  19. data/lib/google/iam/v1/iam_policy_services_pb.rb +81 -0
  20. data/proto_docs/README.md +4 -0
  21. data/proto_docs/google/api/field_behavior.rb +59 -0
  22. data/proto_docs/google/api/resource.rb +247 -0
  23. data/proto_docs/google/cloud/kms/v1/resources.rb +580 -0
  24. data/proto_docs/google/cloud/kms/v1/service.rb +594 -0
  25. data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
  26. data/proto_docs/google/iam/v1/options.rb +40 -0
  27. data/proto_docs/google/iam/v1/policy.rb +248 -0
  28. data/proto_docs/google/protobuf/duration.rb +98 -0
  29. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  30. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  31. data/proto_docs/google/type/expr.rb +52 -0
  32. metadata +205 -0
@@ -0,0 +1,594 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+
20
+ module Google
21
+ module Cloud
22
+ module Kms
23
+ module V1
24
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_key_rings KeyManagementService.ListKeyRings}.
25
+ # @!attribute [rw] parent
26
+ # @return [String]
27
+ # Required. The resource name of the location associated with the
28
+ # {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
29
+ # @!attribute [rw] page_size
30
+ # @return [Integer]
31
+ # Optional. Optional limit on the number of {Google::Cloud::Kms::V1::KeyRing KeyRings} to include in the
32
+ # response. Further {Google::Cloud::Kms::V1::KeyRing KeyRings} can subsequently be obtained by
33
+ # including the {Google::Cloud::Kms::V1::ListKeyRingsResponse#next_page_token ListKeyRingsResponse.next_page_token} in a subsequent
34
+ # request. If unspecified, the server will pick an appropriate default.
35
+ # @!attribute [rw] page_token
36
+ # @return [String]
37
+ # Optional. Optional pagination token, returned earlier via
38
+ # {Google::Cloud::Kms::V1::ListKeyRingsResponse#next_page_token ListKeyRingsResponse.next_page_token}.
39
+ # @!attribute [rw] filter
40
+ # @return [String]
41
+ # Optional. Only include resources that match the filter in the response. For
42
+ # more information, see
43
+ # [Sorting and filtering list
44
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
45
+ # @!attribute [rw] order_by
46
+ # @return [String]
47
+ # Optional. Specify how the results should be sorted. If not specified, the
48
+ # results will be sorted in the default order. For more information, see
49
+ # [Sorting and filtering list
50
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
51
+ class ListKeyRingsRequest
52
+ include Google::Protobuf::MessageExts
53
+ extend Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+
56
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_crypto_keys KeyManagementService.ListCryptoKeys}.
57
+ # @!attribute [rw] parent
58
+ # @return [String]
59
+ # Required. The resource name of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to list, in the format
60
+ # `projects/*/locations/*/keyRings/*`.
61
+ # @!attribute [rw] page_size
62
+ # @return [Integer]
63
+ # Optional. Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} to include in the
64
+ # response. Further {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} can subsequently be obtained by
65
+ # including the {Google::Cloud::Kms::V1::ListCryptoKeysResponse#next_page_token ListCryptoKeysResponse.next_page_token} in a subsequent
66
+ # request. If unspecified, the server will pick an appropriate default.
67
+ # @!attribute [rw] page_token
68
+ # @return [String]
69
+ # Optional. Optional pagination token, returned earlier via
70
+ # {Google::Cloud::Kms::V1::ListCryptoKeysResponse#next_page_token ListCryptoKeysResponse.next_page_token}.
71
+ # @!attribute [rw] version_view
72
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
73
+ # The fields of the primary version to include in the response.
74
+ # @!attribute [rw] filter
75
+ # @return [String]
76
+ # Optional. Only include resources that match the filter in the response. For
77
+ # more information, see
78
+ # [Sorting and filtering list
79
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
80
+ # @!attribute [rw] order_by
81
+ # @return [String]
82
+ # Optional. Specify how the results should be sorted. If not specified, the
83
+ # results will be sorted in the default order. For more information, see
84
+ # [Sorting and filtering list
85
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
86
+ class ListCryptoKeysRequest
87
+ include Google::Protobuf::MessageExts
88
+ extend Google::Protobuf::MessageExts::ClassMethods
89
+ end
90
+
91
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_crypto_key_versions KeyManagementService.ListCryptoKeyVersions}.
92
+ # @!attribute [rw] parent
93
+ # @return [String]
94
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to list, in the format
95
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
96
+ # @!attribute [rw] page_size
97
+ # @return [Integer]
98
+ # Optional. Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} to
99
+ # include in the response. Further {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} can
100
+ # subsequently be obtained by including the
101
+ # {Google::Cloud::Kms::V1::ListCryptoKeyVersionsResponse#next_page_token ListCryptoKeyVersionsResponse.next_page_token} in a subsequent request.
102
+ # If unspecified, the server will pick an appropriate default.
103
+ # @!attribute [rw] page_token
104
+ # @return [String]
105
+ # Optional. Optional pagination token, returned earlier via
106
+ # {Google::Cloud::Kms::V1::ListCryptoKeyVersionsResponse#next_page_token ListCryptoKeyVersionsResponse.next_page_token}.
107
+ # @!attribute [rw] view
108
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
109
+ # The fields to include in the response.
110
+ # @!attribute [rw] filter
111
+ # @return [String]
112
+ # Optional. Only include resources that match the filter in the response. For
113
+ # more information, see
114
+ # [Sorting and filtering list
115
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
116
+ # @!attribute [rw] order_by
117
+ # @return [String]
118
+ # Optional. Specify how the results should be sorted. If not specified, the
119
+ # results will be sorted in the default order. For more information, see
120
+ # [Sorting and filtering list
121
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
122
+ class ListCryptoKeyVersionsRequest
123
+ include Google::Protobuf::MessageExts
124
+ extend Google::Protobuf::MessageExts::ClassMethods
125
+ end
126
+
127
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_import_jobs KeyManagementService.ListImportJobs}.
128
+ # @!attribute [rw] parent
129
+ # @return [String]
130
+ # Required. The resource name of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to list, in the format
131
+ # `projects/*/locations/*/keyRings/*`.
132
+ # @!attribute [rw] page_size
133
+ # @return [Integer]
134
+ # Optional. Optional limit on the number of {Google::Cloud::Kms::V1::ImportJob ImportJobs} to include in the
135
+ # response. Further {Google::Cloud::Kms::V1::ImportJob ImportJobs} can subsequently be obtained by
136
+ # including the {Google::Cloud::Kms::V1::ListImportJobsResponse#next_page_token ListImportJobsResponse.next_page_token} in a subsequent
137
+ # request. If unspecified, the server will pick an appropriate default.
138
+ # @!attribute [rw] page_token
139
+ # @return [String]
140
+ # Optional. Optional pagination token, returned earlier via
141
+ # {Google::Cloud::Kms::V1::ListImportJobsResponse#next_page_token ListImportJobsResponse.next_page_token}.
142
+ # @!attribute [rw] filter
143
+ # @return [String]
144
+ # Optional. Only include resources that match the filter in the response. For
145
+ # more information, see
146
+ # [Sorting and filtering list
147
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
148
+ # @!attribute [rw] order_by
149
+ # @return [String]
150
+ # Optional. Specify how the results should be sorted. If not specified, the
151
+ # results will be sorted in the default order. For more information, see
152
+ # [Sorting and filtering list
153
+ # results](https://cloud.google.com/kms/docs/sorting-and-filtering).
154
+ class ListImportJobsRequest
155
+ include Google::Protobuf::MessageExts
156
+ extend Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_key_rings KeyManagementService.ListKeyRings}.
160
+ # @!attribute [rw] key_rings
161
+ # @return [Array<Google::Cloud::Kms::V1::KeyRing>]
162
+ # The list of {Google::Cloud::Kms::V1::KeyRing KeyRings}.
163
+ # @!attribute [rw] next_page_token
164
+ # @return [String]
165
+ # A token to retrieve next page of results. Pass this value in
166
+ # {Google::Cloud::Kms::V1::ListKeyRingsRequest#page_token ListKeyRingsRequest.page_token} to retrieve the next page of results.
167
+ # @!attribute [rw] total_size
168
+ # @return [Integer]
169
+ # The total number of {Google::Cloud::Kms::V1::KeyRing KeyRings} that matched the query.
170
+ class ListKeyRingsResponse
171
+ include Google::Protobuf::MessageExts
172
+ extend Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_crypto_keys KeyManagementService.ListCryptoKeys}.
176
+ # @!attribute [rw] crypto_keys
177
+ # @return [Array<Google::Cloud::Kms::V1::CryptoKey>]
178
+ # The list of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
179
+ # @!attribute [rw] next_page_token
180
+ # @return [String]
181
+ # A token to retrieve next page of results. Pass this value in
182
+ # {Google::Cloud::Kms::V1::ListCryptoKeysRequest#page_token ListCryptoKeysRequest.page_token} to retrieve the next page of results.
183
+ # @!attribute [rw] total_size
184
+ # @return [Integer]
185
+ # The total number of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} that matched the query.
186
+ class ListCryptoKeysResponse
187
+ include Google::Protobuf::MessageExts
188
+ extend Google::Protobuf::MessageExts::ClassMethods
189
+ end
190
+
191
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_crypto_key_versions KeyManagementService.ListCryptoKeyVersions}.
192
+ # @!attribute [rw] crypto_key_versions
193
+ # @return [Array<Google::Cloud::Kms::V1::CryptoKeyVersion>]
194
+ # The list of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions}.
195
+ # @!attribute [rw] next_page_token
196
+ # @return [String]
197
+ # A token to retrieve next page of results. Pass this value in
198
+ # {Google::Cloud::Kms::V1::ListCryptoKeyVersionsRequest#page_token ListCryptoKeyVersionsRequest.page_token} to retrieve the next page of
199
+ # results.
200
+ # @!attribute [rw] total_size
201
+ # @return [Integer]
202
+ # The total number of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} that matched the
203
+ # query.
204
+ class ListCryptoKeyVersionsResponse
205
+ include Google::Protobuf::MessageExts
206
+ extend Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+
209
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#list_import_jobs KeyManagementService.ListImportJobs}.
210
+ # @!attribute [rw] import_jobs
211
+ # @return [Array<Google::Cloud::Kms::V1::ImportJob>]
212
+ # The list of {Google::Cloud::Kms::V1::ImportJob ImportJobs}.
213
+ # @!attribute [rw] next_page_token
214
+ # @return [String]
215
+ # A token to retrieve next page of results. Pass this value in
216
+ # {Google::Cloud::Kms::V1::ListImportJobsRequest#page_token ListImportJobsRequest.page_token} to retrieve the next page of results.
217
+ # @!attribute [rw] total_size
218
+ # @return [Integer]
219
+ # The total number of {Google::Cloud::Kms::V1::ImportJob ImportJobs} that matched the query.
220
+ class ListImportJobsResponse
221
+ include Google::Protobuf::MessageExts
222
+ extend Google::Protobuf::MessageExts::ClassMethods
223
+ end
224
+
225
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#get_key_ring KeyManagementService.GetKeyRing}.
226
+ # @!attribute [rw] name
227
+ # @return [String]
228
+ # Required. The {Google::Cloud::Kms::V1::KeyRing#name name} of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to get.
229
+ class GetKeyRingRequest
230
+ include Google::Protobuf::MessageExts
231
+ extend Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#get_crypto_key KeyManagementService.GetCryptoKey}.
235
+ # @!attribute [rw] name
236
+ # @return [String]
237
+ # Required. The {Google::Cloud::Kms::V1::CryptoKey#name name} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to get.
238
+ class GetCryptoKeyRequest
239
+ include Google::Protobuf::MessageExts
240
+ extend Google::Protobuf::MessageExts::ClassMethods
241
+ end
242
+
243
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#get_crypto_key_version KeyManagementService.GetCryptoKeyVersion}.
244
+ # @!attribute [rw] name
245
+ # @return [String]
246
+ # Required. The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to get.
247
+ class GetCryptoKeyVersionRequest
248
+ include Google::Protobuf::MessageExts
249
+ extend Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+
252
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#get_public_key KeyManagementService.GetPublicKey}.
253
+ # @!attribute [rw] name
254
+ # @return [String]
255
+ # Required. The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public key to
256
+ # get.
257
+ class GetPublicKeyRequest
258
+ include Google::Protobuf::MessageExts
259
+ extend Google::Protobuf::MessageExts::ClassMethods
260
+ end
261
+
262
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#get_import_job KeyManagementService.GetImportJob}.
263
+ # @!attribute [rw] name
264
+ # @return [String]
265
+ # Required. The {Google::Cloud::Kms::V1::ImportJob#name name} of the {Google::Cloud::Kms::V1::ImportJob ImportJob} to get.
266
+ class GetImportJobRequest
267
+ include Google::Protobuf::MessageExts
268
+ extend Google::Protobuf::MessageExts::ClassMethods
269
+ end
270
+
271
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#create_key_ring KeyManagementService.CreateKeyRing}.
272
+ # @!attribute [rw] parent
273
+ # @return [String]
274
+ # Required. The resource name of the location associated with the
275
+ # {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
276
+ # @!attribute [rw] key_ring_id
277
+ # @return [String]
278
+ # Required. It must be unique within a location and match the regular
279
+ # expression `[a-zA-Z0-9_-]{1,63}`
280
+ # @!attribute [rw] key_ring
281
+ # @return [Google::Cloud::Kms::V1::KeyRing]
282
+ # Required. A {Google::Cloud::Kms::V1::KeyRing KeyRing} with initial field values.
283
+ class CreateKeyRingRequest
284
+ include Google::Protobuf::MessageExts
285
+ extend Google::Protobuf::MessageExts::ClassMethods
286
+ end
287
+
288
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key KeyManagementService.CreateCryptoKey}.
289
+ # @!attribute [rw] parent
290
+ # @return [String]
291
+ # Required. The {Google::Cloud::Kms::V1::KeyRing#name name} of the KeyRing associated with the
292
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
293
+ # @!attribute [rw] crypto_key_id
294
+ # @return [String]
295
+ # Required. It must be unique within a KeyRing and match the regular
296
+ # expression `[a-zA-Z0-9_-]{1,63}`
297
+ # @!attribute [rw] crypto_key
298
+ # @return [Google::Cloud::Kms::V1::CryptoKey]
299
+ # Required. A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with initial field values.
300
+ # @!attribute [rw] skip_initial_version_creation
301
+ # @return [Boolean]
302
+ # If set to true, the request will create a {Google::Cloud::Kms::V1::CryptoKey CryptoKey} without any
303
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions}. You must manually call
304
+ # {Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion} or
305
+ # {Google::Cloud::Kms::V1::KeyManagementService::Client#import_crypto_key_version ImportCryptoKeyVersion}
306
+ # before you can use this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
307
+ class CreateCryptoKeyRequest
308
+ include Google::Protobuf::MessageExts
309
+ extend Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+
312
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version KeyManagementService.CreateCryptoKeyVersion}.
313
+ # @!attribute [rw] parent
314
+ # @return [String]
315
+ # Required. The {Google::Cloud::Kms::V1::CryptoKey#name name} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} associated with
316
+ # the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions}.
317
+ # @!attribute [rw] crypto_key_version
318
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
319
+ # Required. A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with initial field values.
320
+ class CreateCryptoKeyVersionRequest
321
+ include Google::Protobuf::MessageExts
322
+ extend Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#import_crypto_key_version KeyManagementService.ImportCryptoKeyVersion}.
326
+ # @!attribute [rw] parent
327
+ # @return [String]
328
+ # Required. The {Google::Cloud::Kms::V1::CryptoKey#name name} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to
329
+ # be imported into.
330
+ # @!attribute [rw] algorithm
331
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
332
+ # Required. The {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm algorithm} of
333
+ # the key being imported. This does not need to match the
334
+ # {Google::Cloud::Kms::V1::CryptoKey#version_template version_template} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} this
335
+ # version imports into.
336
+ # @!attribute [rw] import_job
337
+ # @return [String]
338
+ # Required. The {Google::Cloud::Kms::V1::ImportJob#name name} of the {Google::Cloud::Kms::V1::ImportJob ImportJob} that was used to
339
+ # wrap this key material.
340
+ # @!attribute [rw] rsa_aes_wrapped_key
341
+ # @return [String]
342
+ # Wrapped key material produced with
343
+ # {Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA1_AES_256 RSA_OAEP_3072_SHA1_AES_256}
344
+ # or
345
+ # {Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA1_AES_256 RSA_OAEP_4096_SHA1_AES_256}.
346
+ #
347
+ # This field contains the concatenation of two wrapped keys:
348
+ # <ol>
349
+ # <li>An ephemeral AES-256 wrapping key wrapped with the
350
+ # {Google::Cloud::Kms::V1::ImportJob#public_key public_key} using RSAES-OAEP with SHA-1,
351
+ # MGF1 with SHA-1, and an empty label.
352
+ # </li>
353
+ # <li>The key to be imported, wrapped with the ephemeral AES-256 key
354
+ # using AES-KWP (RFC 5649).
355
+ # </li>
356
+ # </ol>
357
+ #
358
+ # If importing symmetric key material, it is expected that the unwrapped
359
+ # key contains plain bytes. If importing asymmetric key material, it is
360
+ # expected that the unwrapped key is in PKCS#8-encoded DER format (the
361
+ # PrivateKeyInfo structure from RFC 5208).
362
+ #
363
+ # This format is the same as the format produced by PKCS#11 mechanism
364
+ # CKM_RSA_AES_KEY_WRAP.
365
+ class ImportCryptoKeyVersionRequest
366
+ include Google::Protobuf::MessageExts
367
+ extend Google::Protobuf::MessageExts::ClassMethods
368
+ end
369
+
370
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#create_import_job KeyManagementService.CreateImportJob}.
371
+ # @!attribute [rw] parent
372
+ # @return [String]
373
+ # Required. The {Google::Cloud::Kms::V1::KeyRing#name name} of the {Google::Cloud::Kms::V1::KeyRing KeyRing} associated with the
374
+ # {Google::Cloud::Kms::V1::ImportJob ImportJobs}.
375
+ # @!attribute [rw] import_job_id
376
+ # @return [String]
377
+ # Required. It must be unique within a KeyRing and match the regular
378
+ # expression `[a-zA-Z0-9_-]{1,63}`
379
+ # @!attribute [rw] import_job
380
+ # @return [Google::Cloud::Kms::V1::ImportJob]
381
+ # Required. An {Google::Cloud::Kms::V1::ImportJob ImportJob} with initial field values.
382
+ class CreateImportJobRequest
383
+ include Google::Protobuf::MessageExts
384
+ extend Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+
387
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#update_crypto_key KeyManagementService.UpdateCryptoKey}.
388
+ # @!attribute [rw] crypto_key
389
+ # @return [Google::Cloud::Kms::V1::CryptoKey]
390
+ # Required. {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with updated values.
391
+ # @!attribute [rw] update_mask
392
+ # @return [Google::Protobuf::FieldMask]
393
+ # Required. List of fields to be updated in this request.
394
+ class UpdateCryptoKeyRequest
395
+ include Google::Protobuf::MessageExts
396
+ extend Google::Protobuf::MessageExts::ClassMethods
397
+ end
398
+
399
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#update_crypto_key_version KeyManagementService.UpdateCryptoKeyVersion}.
400
+ # @!attribute [rw] crypto_key_version
401
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
402
+ # Required. {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with updated values.
403
+ # @!attribute [rw] update_mask
404
+ # @return [Google::Protobuf::FieldMask]
405
+ # Required. List of fields to be updated in this request.
406
+ class UpdateCryptoKeyVersionRequest
407
+ include Google::Protobuf::MessageExts
408
+ extend Google::Protobuf::MessageExts::ClassMethods
409
+ end
410
+
411
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#encrypt KeyManagementService.Encrypt}.
412
+ # @!attribute [rw] name
413
+ # @return [String]
414
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} or {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
415
+ # to use for encryption.
416
+ #
417
+ # If a {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is specified, the server will use its
418
+ # {Google::Cloud::Kms::V1::CryptoKey#primary primary version}.
419
+ # @!attribute [rw] plaintext
420
+ # @return [String]
421
+ # Required. The data to encrypt. Must be no larger than 64KiB.
422
+ #
423
+ # The maximum size depends on the key version's
424
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
425
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the plaintext must be no larger
426
+ # than 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
427
+ # plaintext and additional_authenticated_data fields must be no larger than
428
+ # 8KiB.
429
+ # @!attribute [rw] additional_authenticated_data
430
+ # @return [String]
431
+ # Optional. Optional data that, if specified, must also be provided during decryption
432
+ # through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest.additional_authenticated_data}.
433
+ #
434
+ # The maximum size depends on the key version's
435
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
436
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the AAD must be no larger than
437
+ # 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
438
+ # plaintext and additional_authenticated_data fields must be no larger than
439
+ # 8KiB.
440
+ class EncryptRequest
441
+ include Google::Protobuf::MessageExts
442
+ extend Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#decrypt KeyManagementService.Decrypt}.
446
+ # @!attribute [rw] name
447
+ # @return [String]
448
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to use for decryption.
449
+ # The server will choose the appropriate version.
450
+ # @!attribute [rw] ciphertext
451
+ # @return [String]
452
+ # Required. The encrypted data originally returned in
453
+ # {Google::Cloud::Kms::V1::EncryptResponse#ciphertext EncryptResponse.ciphertext}.
454
+ # @!attribute [rw] additional_authenticated_data
455
+ # @return [String]
456
+ # Optional. Optional data that must match the data originally supplied in
457
+ # {Google::Cloud::Kms::V1::EncryptRequest#additional_authenticated_data EncryptRequest.additional_authenticated_data}.
458
+ class DecryptRequest
459
+ include Google::Protobuf::MessageExts
460
+ extend Google::Protobuf::MessageExts::ClassMethods
461
+ end
462
+
463
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#asymmetric_sign KeyManagementService.AsymmetricSign}.
464
+ # @!attribute [rw] name
465
+ # @return [String]
466
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for signing.
467
+ # @!attribute [rw] digest
468
+ # @return [Google::Cloud::Kms::V1::Digest]
469
+ # Required. The digest of the data to sign. The digest must be produced with
470
+ # the same digest algorithm as specified by the key version's
471
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#algorithm algorithm}.
472
+ class AsymmetricSignRequest
473
+ include Google::Protobuf::MessageExts
474
+ extend Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#asymmetric_decrypt KeyManagementService.AsymmetricDecrypt}.
478
+ # @!attribute [rw] name
479
+ # @return [String]
480
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
481
+ # decryption.
482
+ # @!attribute [rw] ciphertext
483
+ # @return [String]
484
+ # Required. The data encrypted with the named {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s public
485
+ # key using OAEP.
486
+ class AsymmetricDecryptRequest
487
+ include Google::Protobuf::MessageExts
488
+ extend Google::Protobuf::MessageExts::ClassMethods
489
+ end
490
+
491
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#decrypt KeyManagementService.Decrypt}.
492
+ # @!attribute [rw] plaintext
493
+ # @return [String]
494
+ # The decrypted data originally supplied in {Google::Cloud::Kms::V1::EncryptRequest#plaintext EncryptRequest.plaintext}.
495
+ class DecryptResponse
496
+ include Google::Protobuf::MessageExts
497
+ extend Google::Protobuf::MessageExts::ClassMethods
498
+ end
499
+
500
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#encrypt KeyManagementService.Encrypt}.
501
+ # @!attribute [rw] name
502
+ # @return [String]
503
+ # The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} used in encryption. Check
504
+ # this field to verify that the intended resource was used for encryption.
505
+ # @!attribute [rw] ciphertext
506
+ # @return [String]
507
+ # The encrypted data.
508
+ class EncryptResponse
509
+ include Google::Protobuf::MessageExts
510
+ extend Google::Protobuf::MessageExts::ClassMethods
511
+ end
512
+
513
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#asymmetric_sign KeyManagementService.AsymmetricSign}.
514
+ # @!attribute [rw] signature
515
+ # @return [String]
516
+ # The created signature.
517
+ class AsymmetricSignResponse
518
+ include Google::Protobuf::MessageExts
519
+ extend Google::Protobuf::MessageExts::ClassMethods
520
+ end
521
+
522
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Client#asymmetric_decrypt KeyManagementService.AsymmetricDecrypt}.
523
+ # @!attribute [rw] plaintext
524
+ # @return [String]
525
+ # The decrypted data originally encrypted with the matching public key.
526
+ class AsymmetricDecryptResponse
527
+ include Google::Protobuf::MessageExts
528
+ extend Google::Protobuf::MessageExts::ClassMethods
529
+ end
530
+
531
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#update_crypto_key_primary_version KeyManagementService.UpdateCryptoKeyPrimaryVersion}.
532
+ # @!attribute [rw] name
533
+ # @return [String]
534
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to update.
535
+ # @!attribute [rw] crypto_key_version_id
536
+ # @return [String]
537
+ # Required. The id of the child {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use as primary.
538
+ class UpdateCryptoKeyPrimaryVersionRequest
539
+ include Google::Protobuf::MessageExts
540
+ extend Google::Protobuf::MessageExts::ClassMethods
541
+ end
542
+
543
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#destroy_crypto_key_version KeyManagementService.DestroyCryptoKeyVersion}.
544
+ # @!attribute [rw] name
545
+ # @return [String]
546
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to destroy.
547
+ class DestroyCryptoKeyVersionRequest
548
+ include Google::Protobuf::MessageExts
549
+ extend Google::Protobuf::MessageExts::ClassMethods
550
+ end
551
+
552
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Client#restore_crypto_key_version KeyManagementService.RestoreCryptoKeyVersion}.
553
+ # @!attribute [rw] name
554
+ # @return [String]
555
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to restore.
556
+ class RestoreCryptoKeyVersionRequest
557
+ include Google::Protobuf::MessageExts
558
+ extend Google::Protobuf::MessageExts::ClassMethods
559
+ end
560
+
561
+ # A {Google::Cloud::Kms::V1::Digest Digest} holds a cryptographic message digest.
562
+ # @!attribute [rw] sha256
563
+ # @return [String]
564
+ # A message digest produced with the SHA-256 algorithm.
565
+ # @!attribute [rw] sha384
566
+ # @return [String]
567
+ # A message digest produced with the SHA-384 algorithm.
568
+ # @!attribute [rw] sha512
569
+ # @return [String]
570
+ # A message digest produced with the SHA-512 algorithm.
571
+ class Digest
572
+ include Google::Protobuf::MessageExts
573
+ extend Google::Protobuf::MessageExts::ClassMethods
574
+ end
575
+
576
+ # Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
577
+ # @!attribute [rw] hsm_available
578
+ # @return [Boolean]
579
+ # Indicates whether {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with
580
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}
581
+ # {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} can be created in this location.
582
+ # @!attribute [rw] ekm_available
583
+ # @return [Boolean]
584
+ # Indicates whether {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with
585
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}
586
+ # {Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL EXTERNAL} can be created in this location.
587
+ class LocationMetadata
588
+ include Google::Protobuf::MessageExts
589
+ extend Google::Protobuf::MessageExts::ClassMethods
590
+ end
591
+ end
592
+ end
593
+ end
594
+ end