1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/kms/v1/service.proto
20
21package kms
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
35	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
36)
37
38const (
39	// Verify that this generated code is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41	// Verify that runtime/protoimpl is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43)
44
45// Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
46type ListKeyRingsRequest struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// Required. The resource name of the location associated with the
52	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
53	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
54	// Optional. Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to include in the
55	// response.  Further [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
56	// including the [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token] in a subsequent
57	// request.  If unspecified, the server will pick an appropriate default.
58	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
59	// Optional. Optional pagination token, returned earlier via
60	// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token].
61	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
62	// Optional. Only include resources that match the filter in the response. For
63	// more information, see
64	// [Sorting and filtering list
65	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
66	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
67	// Optional. Specify how the results should be sorted. If not specified, the
68	// results will be sorted in the default order.  For more information, see
69	// [Sorting and filtering list
70	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
71	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
72}
73
74func (x *ListKeyRingsRequest) Reset() {
75	*x = ListKeyRingsRequest{}
76	if protoimpl.UnsafeEnabled {
77		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		ms.StoreMessageInfo(mi)
80	}
81}
82
83func (x *ListKeyRingsRequest) String() string {
84	return protoimpl.X.MessageStringOf(x)
85}
86
87func (*ListKeyRingsRequest) ProtoMessage() {}
88
89func (x *ListKeyRingsRequest) ProtoReflect() protoreflect.Message {
90	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
91	if protoimpl.UnsafeEnabled && x != nil {
92		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
93		if ms.LoadMessageInfo() == nil {
94			ms.StoreMessageInfo(mi)
95		}
96		return ms
97	}
98	return mi.MessageOf(x)
99}
100
101// Deprecated: Use ListKeyRingsRequest.ProtoReflect.Descriptor instead.
102func (*ListKeyRingsRequest) Descriptor() ([]byte, []int) {
103	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{0}
104}
105
106func (x *ListKeyRingsRequest) GetParent() string {
107	if x != nil {
108		return x.Parent
109	}
110	return ""
111}
112
113func (x *ListKeyRingsRequest) GetPageSize() int32 {
114	if x != nil {
115		return x.PageSize
116	}
117	return 0
118}
119
120func (x *ListKeyRingsRequest) GetPageToken() string {
121	if x != nil {
122		return x.PageToken
123	}
124	return ""
125}
126
127func (x *ListKeyRingsRequest) GetFilter() string {
128	if x != nil {
129		return x.Filter
130	}
131	return ""
132}
133
134func (x *ListKeyRingsRequest) GetOrderBy() string {
135	if x != nil {
136		return x.OrderBy
137	}
138	return ""
139}
140
141// Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
142type ListCryptoKeysRequest struct {
143	state         protoimpl.MessageState
144	sizeCache     protoimpl.SizeCache
145	unknownFields protoimpl.UnknownFields
146
147	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
148	// `projects/*/locations/*/keyRings/*`.
149	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
150	// Optional. Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the
151	// response.  Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
152	// including the [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token] in a subsequent
153	// request.  If unspecified, the server will pick an appropriate default.
154	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
155	// Optional. Optional pagination token, returned earlier via
156	// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token].
157	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
158	// The fields of the primary version to include in the response.
159	VersionView CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=version_view,json=versionView,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"version_view,omitempty"`
160	// Optional. Only include resources that match the filter in the response. For
161	// more information, see
162	// [Sorting and filtering list
163	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
164	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
165	// Optional. Specify how the results should be sorted. If not specified, the
166	// results will be sorted in the default order. For more information, see
167	// [Sorting and filtering list
168	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
169	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
170}
171
172func (x *ListCryptoKeysRequest) Reset() {
173	*x = ListCryptoKeysRequest{}
174	if protoimpl.UnsafeEnabled {
175		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
177		ms.StoreMessageInfo(mi)
178	}
179}
180
181func (x *ListCryptoKeysRequest) String() string {
182	return protoimpl.X.MessageStringOf(x)
183}
184
185func (*ListCryptoKeysRequest) ProtoMessage() {}
186
187func (x *ListCryptoKeysRequest) ProtoReflect() protoreflect.Message {
188	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
189	if protoimpl.UnsafeEnabled && x != nil {
190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
191		if ms.LoadMessageInfo() == nil {
192			ms.StoreMessageInfo(mi)
193		}
194		return ms
195	}
196	return mi.MessageOf(x)
197}
198
199// Deprecated: Use ListCryptoKeysRequest.ProtoReflect.Descriptor instead.
200func (*ListCryptoKeysRequest) Descriptor() ([]byte, []int) {
201	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{1}
202}
203
204func (x *ListCryptoKeysRequest) GetParent() string {
205	if x != nil {
206		return x.Parent
207	}
208	return ""
209}
210
211func (x *ListCryptoKeysRequest) GetPageSize() int32 {
212	if x != nil {
213		return x.PageSize
214	}
215	return 0
216}
217
218func (x *ListCryptoKeysRequest) GetPageToken() string {
219	if x != nil {
220		return x.PageToken
221	}
222	return ""
223}
224
225func (x *ListCryptoKeysRequest) GetVersionView() CryptoKeyVersion_CryptoKeyVersionView {
226	if x != nil {
227		return x.VersionView
228	}
229	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
230}
231
232func (x *ListCryptoKeysRequest) GetFilter() string {
233	if x != nil {
234		return x.Filter
235	}
236	return ""
237}
238
239func (x *ListCryptoKeysRequest) GetOrderBy() string {
240	if x != nil {
241		return x.OrderBy
242	}
243	return ""
244}
245
246// Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
247type ListCryptoKeyVersionsRequest struct {
248	state         protoimpl.MessageState
249	sizeCache     protoimpl.SizeCache
250	unknownFields protoimpl.UnknownFields
251
252	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
253	// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
254	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
255	// Optional. Optional limit on the number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to
256	// include in the response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can
257	// subsequently be obtained by including the
258	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token] in a subsequent request.
259	// If unspecified, the server will pick an appropriate default.
260	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
261	// Optional. Optional pagination token, returned earlier via
262	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token].
263	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
264	// The fields to include in the response.
265	View CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"view,omitempty"`
266	// Optional. Only include resources that match the filter in the response. For
267	// more information, see
268	// [Sorting and filtering list
269	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
270	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
271	// Optional. Specify how the results should be sorted. If not specified, the
272	// results will be sorted in the default order. For more information, see
273	// [Sorting and filtering list
274	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
275	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
276}
277
278func (x *ListCryptoKeyVersionsRequest) Reset() {
279	*x = ListCryptoKeyVersionsRequest{}
280	if protoimpl.UnsafeEnabled {
281		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283		ms.StoreMessageInfo(mi)
284	}
285}
286
287func (x *ListCryptoKeyVersionsRequest) String() string {
288	return protoimpl.X.MessageStringOf(x)
289}
290
291func (*ListCryptoKeyVersionsRequest) ProtoMessage() {}
292
293func (x *ListCryptoKeyVersionsRequest) ProtoReflect() protoreflect.Message {
294	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
295	if protoimpl.UnsafeEnabled && x != nil {
296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297		if ms.LoadMessageInfo() == nil {
298			ms.StoreMessageInfo(mi)
299		}
300		return ms
301	}
302	return mi.MessageOf(x)
303}
304
305// Deprecated: Use ListCryptoKeyVersionsRequest.ProtoReflect.Descriptor instead.
306func (*ListCryptoKeyVersionsRequest) Descriptor() ([]byte, []int) {
307	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{2}
308}
309
310func (x *ListCryptoKeyVersionsRequest) GetParent() string {
311	if x != nil {
312		return x.Parent
313	}
314	return ""
315}
316
317func (x *ListCryptoKeyVersionsRequest) GetPageSize() int32 {
318	if x != nil {
319		return x.PageSize
320	}
321	return 0
322}
323
324func (x *ListCryptoKeyVersionsRequest) GetPageToken() string {
325	if x != nil {
326		return x.PageToken
327	}
328	return ""
329}
330
331func (x *ListCryptoKeyVersionsRequest) GetView() CryptoKeyVersion_CryptoKeyVersionView {
332	if x != nil {
333		return x.View
334	}
335	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
336}
337
338func (x *ListCryptoKeyVersionsRequest) GetFilter() string {
339	if x != nil {
340		return x.Filter
341	}
342	return ""
343}
344
345func (x *ListCryptoKeyVersionsRequest) GetOrderBy() string {
346	if x != nil {
347		return x.OrderBy
348	}
349	return ""
350}
351
352// Request message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
353type ListImportJobsRequest struct {
354	state         protoimpl.MessageState
355	sizeCache     protoimpl.SizeCache
356	unknownFields protoimpl.UnknownFields
357
358	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
359	// `projects/*/locations/*/keyRings/*`.
360	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
361	// Optional. Optional limit on the number of [ImportJobs][google.cloud.kms.v1.ImportJob] to include in the
362	// response. Further [ImportJobs][google.cloud.kms.v1.ImportJob] can subsequently be obtained by
363	// including the [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token] in a subsequent
364	// request. If unspecified, the server will pick an appropriate default.
365	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
366	// Optional. Optional pagination token, returned earlier via
367	// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token].
368	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
369	// Optional. Only include resources that match the filter in the response. For
370	// more information, see
371	// [Sorting and filtering list
372	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
373	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
374	// Optional. Specify how the results should be sorted. If not specified, the
375	// results will be sorted in the default order. For more information, see
376	// [Sorting and filtering list
377	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
378	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
379}
380
381func (x *ListImportJobsRequest) Reset() {
382	*x = ListImportJobsRequest{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *ListImportJobsRequest) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*ListImportJobsRequest) ProtoMessage() {}
395
396func (x *ListImportJobsRequest) ProtoReflect() protoreflect.Message {
397	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
398	if protoimpl.UnsafeEnabled && x != nil {
399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
400		if ms.LoadMessageInfo() == nil {
401			ms.StoreMessageInfo(mi)
402		}
403		return ms
404	}
405	return mi.MessageOf(x)
406}
407
408// Deprecated: Use ListImportJobsRequest.ProtoReflect.Descriptor instead.
409func (*ListImportJobsRequest) Descriptor() ([]byte, []int) {
410	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{3}
411}
412
413func (x *ListImportJobsRequest) GetParent() string {
414	if x != nil {
415		return x.Parent
416	}
417	return ""
418}
419
420func (x *ListImportJobsRequest) GetPageSize() int32 {
421	if x != nil {
422		return x.PageSize
423	}
424	return 0
425}
426
427func (x *ListImportJobsRequest) GetPageToken() string {
428	if x != nil {
429		return x.PageToken
430	}
431	return ""
432}
433
434func (x *ListImportJobsRequest) GetFilter() string {
435	if x != nil {
436		return x.Filter
437	}
438	return ""
439}
440
441func (x *ListImportJobsRequest) GetOrderBy() string {
442	if x != nil {
443		return x.OrderBy
444	}
445	return ""
446}
447
448// Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
449type ListKeyRingsResponse struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
455	KeyRings []*KeyRing `protobuf:"bytes,1,rep,name=key_rings,json=keyRings,proto3" json:"key_rings,omitempty"`
456	// A token to retrieve next page of results. Pass this value in
457	// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token] to retrieve the next page of results.
458	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
459	// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched the query.
460	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
461}
462
463func (x *ListKeyRingsResponse) Reset() {
464	*x = ListKeyRingsResponse{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *ListKeyRingsResponse) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*ListKeyRingsResponse) ProtoMessage() {}
477
478func (x *ListKeyRingsResponse) ProtoReflect() protoreflect.Message {
479	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use ListKeyRingsResponse.ProtoReflect.Descriptor instead.
491func (*ListKeyRingsResponse) Descriptor() ([]byte, []int) {
492	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{4}
493}
494
495func (x *ListKeyRingsResponse) GetKeyRings() []*KeyRing {
496	if x != nil {
497		return x.KeyRings
498	}
499	return nil
500}
501
502func (x *ListKeyRingsResponse) GetNextPageToken() string {
503	if x != nil {
504		return x.NextPageToken
505	}
506	return ""
507}
508
509func (x *ListKeyRingsResponse) GetTotalSize() int32 {
510	if x != nil {
511		return x.TotalSize
512	}
513	return 0
514}
515
516// Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
517type ListCryptoKeysResponse struct {
518	state         protoimpl.MessageState
519	sizeCache     protoimpl.SizeCache
520	unknownFields protoimpl.UnknownFields
521
522	// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
523	CryptoKeys []*CryptoKey `protobuf:"bytes,1,rep,name=crypto_keys,json=cryptoKeys,proto3" json:"crypto_keys,omitempty"`
524	// A token to retrieve next page of results. Pass this value in
525	// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token] to retrieve the next page of results.
526	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
527	// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that matched the query.
528	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
529}
530
531func (x *ListCryptoKeysResponse) Reset() {
532	*x = ListCryptoKeysResponse{}
533	if protoimpl.UnsafeEnabled {
534		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
536		ms.StoreMessageInfo(mi)
537	}
538}
539
540func (x *ListCryptoKeysResponse) String() string {
541	return protoimpl.X.MessageStringOf(x)
542}
543
544func (*ListCryptoKeysResponse) ProtoMessage() {}
545
546func (x *ListCryptoKeysResponse) ProtoReflect() protoreflect.Message {
547	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
548	if protoimpl.UnsafeEnabled && x != nil {
549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
550		if ms.LoadMessageInfo() == nil {
551			ms.StoreMessageInfo(mi)
552		}
553		return ms
554	}
555	return mi.MessageOf(x)
556}
557
558// Deprecated: Use ListCryptoKeysResponse.ProtoReflect.Descriptor instead.
559func (*ListCryptoKeysResponse) Descriptor() ([]byte, []int) {
560	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{5}
561}
562
563func (x *ListCryptoKeysResponse) GetCryptoKeys() []*CryptoKey {
564	if x != nil {
565		return x.CryptoKeys
566	}
567	return nil
568}
569
570func (x *ListCryptoKeysResponse) GetNextPageToken() string {
571	if x != nil {
572		return x.NextPageToken
573	}
574	return ""
575}
576
577func (x *ListCryptoKeysResponse) GetTotalSize() int32 {
578	if x != nil {
579		return x.TotalSize
580	}
581	return 0
582}
583
584// Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
585type ListCryptoKeyVersionsResponse struct {
586	state         protoimpl.MessageState
587	sizeCache     protoimpl.SizeCache
588	unknownFields protoimpl.UnknownFields
589
590	// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
591	CryptoKeyVersions []*CryptoKeyVersion `protobuf:"bytes,1,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
592	// A token to retrieve next page of results. Pass this value in
593	// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token] to retrieve the next page of
594	// results.
595	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
596	// The total number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
597	// query.
598	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
599}
600
601func (x *ListCryptoKeyVersionsResponse) Reset() {
602	*x = ListCryptoKeyVersionsResponse{}
603	if protoimpl.UnsafeEnabled {
604		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		ms.StoreMessageInfo(mi)
607	}
608}
609
610func (x *ListCryptoKeyVersionsResponse) String() string {
611	return protoimpl.X.MessageStringOf(x)
612}
613
614func (*ListCryptoKeyVersionsResponse) ProtoMessage() {}
615
616func (x *ListCryptoKeyVersionsResponse) ProtoReflect() protoreflect.Message {
617	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
618	if protoimpl.UnsafeEnabled && x != nil {
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		if ms.LoadMessageInfo() == nil {
621			ms.StoreMessageInfo(mi)
622		}
623		return ms
624	}
625	return mi.MessageOf(x)
626}
627
628// Deprecated: Use ListCryptoKeyVersionsResponse.ProtoReflect.Descriptor instead.
629func (*ListCryptoKeyVersionsResponse) Descriptor() ([]byte, []int) {
630	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{6}
631}
632
633func (x *ListCryptoKeyVersionsResponse) GetCryptoKeyVersions() []*CryptoKeyVersion {
634	if x != nil {
635		return x.CryptoKeyVersions
636	}
637	return nil
638}
639
640func (x *ListCryptoKeyVersionsResponse) GetNextPageToken() string {
641	if x != nil {
642		return x.NextPageToken
643	}
644	return ""
645}
646
647func (x *ListCryptoKeyVersionsResponse) GetTotalSize() int32 {
648	if x != nil {
649		return x.TotalSize
650	}
651	return 0
652}
653
654// Response message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
655type ListImportJobsResponse struct {
656	state         protoimpl.MessageState
657	sizeCache     protoimpl.SizeCache
658	unknownFields protoimpl.UnknownFields
659
660	// The list of [ImportJobs][google.cloud.kms.v1.ImportJob].
661	ImportJobs []*ImportJob `protobuf:"bytes,1,rep,name=import_jobs,json=importJobs,proto3" json:"import_jobs,omitempty"`
662	// A token to retrieve next page of results. Pass this value in
663	// [ListImportJobsRequest.page_token][google.cloud.kms.v1.ListImportJobsRequest.page_token] to retrieve the next page of results.
664	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
665	// The total number of [ImportJobs][google.cloud.kms.v1.ImportJob] that matched the query.
666	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
667}
668
669func (x *ListImportJobsResponse) Reset() {
670	*x = ListImportJobsResponse{}
671	if protoimpl.UnsafeEnabled {
672		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		ms.StoreMessageInfo(mi)
675	}
676}
677
678func (x *ListImportJobsResponse) String() string {
679	return protoimpl.X.MessageStringOf(x)
680}
681
682func (*ListImportJobsResponse) ProtoMessage() {}
683
684func (x *ListImportJobsResponse) ProtoReflect() protoreflect.Message {
685	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
686	if protoimpl.UnsafeEnabled && x != nil {
687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
688		if ms.LoadMessageInfo() == nil {
689			ms.StoreMessageInfo(mi)
690		}
691		return ms
692	}
693	return mi.MessageOf(x)
694}
695
696// Deprecated: Use ListImportJobsResponse.ProtoReflect.Descriptor instead.
697func (*ListImportJobsResponse) Descriptor() ([]byte, []int) {
698	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{7}
699}
700
701func (x *ListImportJobsResponse) GetImportJobs() []*ImportJob {
702	if x != nil {
703		return x.ImportJobs
704	}
705	return nil
706}
707
708func (x *ListImportJobsResponse) GetNextPageToken() string {
709	if x != nil {
710		return x.NextPageToken
711	}
712	return ""
713}
714
715func (x *ListImportJobsResponse) GetTotalSize() int32 {
716	if x != nil {
717		return x.TotalSize
718	}
719	return 0
720}
721
722// Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
723type GetKeyRingRequest struct {
724	state         protoimpl.MessageState
725	sizeCache     protoimpl.SizeCache
726	unknownFields protoimpl.UnknownFields
727
728	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] to get.
729	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
730}
731
732func (x *GetKeyRingRequest) Reset() {
733	*x = GetKeyRingRequest{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *GetKeyRingRequest) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*GetKeyRingRequest) ProtoMessage() {}
746
747func (x *GetKeyRingRequest) ProtoReflect() protoreflect.Message {
748	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use GetKeyRingRequest.ProtoReflect.Descriptor instead.
760func (*GetKeyRingRequest) Descriptor() ([]byte, []int) {
761	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{8}
762}
763
764func (x *GetKeyRingRequest) GetName() string {
765	if x != nil {
766		return x.Name
767	}
768	return ""
769}
770
771// Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
772type GetCryptoKeyRequest struct {
773	state         protoimpl.MessageState
774	sizeCache     protoimpl.SizeCache
775	unknownFields protoimpl.UnknownFields
776
777	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
778	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
779}
780
781func (x *GetCryptoKeyRequest) Reset() {
782	*x = GetCryptoKeyRequest{}
783	if protoimpl.UnsafeEnabled {
784		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
785		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
786		ms.StoreMessageInfo(mi)
787	}
788}
789
790func (x *GetCryptoKeyRequest) String() string {
791	return protoimpl.X.MessageStringOf(x)
792}
793
794func (*GetCryptoKeyRequest) ProtoMessage() {}
795
796func (x *GetCryptoKeyRequest) ProtoReflect() protoreflect.Message {
797	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
798	if protoimpl.UnsafeEnabled && x != nil {
799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800		if ms.LoadMessageInfo() == nil {
801			ms.StoreMessageInfo(mi)
802		}
803		return ms
804	}
805	return mi.MessageOf(x)
806}
807
808// Deprecated: Use GetCryptoKeyRequest.ProtoReflect.Descriptor instead.
809func (*GetCryptoKeyRequest) Descriptor() ([]byte, []int) {
810	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{9}
811}
812
813func (x *GetCryptoKeyRequest) GetName() string {
814	if x != nil {
815		return x.Name
816	}
817	return ""
818}
819
820// Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
821type GetCryptoKeyVersionRequest struct {
822	state         protoimpl.MessageState
823	sizeCache     protoimpl.SizeCache
824	unknownFields protoimpl.UnknownFields
825
826	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
827	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
828}
829
830func (x *GetCryptoKeyVersionRequest) Reset() {
831	*x = GetCryptoKeyVersionRequest{}
832	if protoimpl.UnsafeEnabled {
833		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
835		ms.StoreMessageInfo(mi)
836	}
837}
838
839func (x *GetCryptoKeyVersionRequest) String() string {
840	return protoimpl.X.MessageStringOf(x)
841}
842
843func (*GetCryptoKeyVersionRequest) ProtoMessage() {}
844
845func (x *GetCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
846	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
847	if protoimpl.UnsafeEnabled && x != nil {
848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
849		if ms.LoadMessageInfo() == nil {
850			ms.StoreMessageInfo(mi)
851		}
852		return ms
853	}
854	return mi.MessageOf(x)
855}
856
857// Deprecated: Use GetCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
858func (*GetCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
859	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{10}
860}
861
862func (x *GetCryptoKeyVersionRequest) GetName() string {
863	if x != nil {
864		return x.Name
865	}
866	return ""
867}
868
869// Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
870type GetPublicKeyRequest struct {
871	state         protoimpl.MessageState
872	sizeCache     protoimpl.SizeCache
873	unknownFields protoimpl.UnknownFields
874
875	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to
876	// get.
877	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
878}
879
880func (x *GetPublicKeyRequest) Reset() {
881	*x = GetPublicKeyRequest{}
882	if protoimpl.UnsafeEnabled {
883		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
885		ms.StoreMessageInfo(mi)
886	}
887}
888
889func (x *GetPublicKeyRequest) String() string {
890	return protoimpl.X.MessageStringOf(x)
891}
892
893func (*GetPublicKeyRequest) ProtoMessage() {}
894
895func (x *GetPublicKeyRequest) ProtoReflect() protoreflect.Message {
896	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
897	if protoimpl.UnsafeEnabled && x != nil {
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		if ms.LoadMessageInfo() == nil {
900			ms.StoreMessageInfo(mi)
901		}
902		return ms
903	}
904	return mi.MessageOf(x)
905}
906
907// Deprecated: Use GetPublicKeyRequest.ProtoReflect.Descriptor instead.
908func (*GetPublicKeyRequest) Descriptor() ([]byte, []int) {
909	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *GetPublicKeyRequest) GetName() string {
913	if x != nil {
914		return x.Name
915	}
916	return ""
917}
918
919// Request message for [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob].
920type GetImportJobRequest struct {
921	state         protoimpl.MessageState
922	sizeCache     protoimpl.SizeCache
923	unknownFields protoimpl.UnknownFields
924
925	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] to get.
926	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
927}
928
929func (x *GetImportJobRequest) Reset() {
930	*x = GetImportJobRequest{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *GetImportJobRequest) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*GetImportJobRequest) ProtoMessage() {}
943
944func (x *GetImportJobRequest) ProtoReflect() protoreflect.Message {
945	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use GetImportJobRequest.ProtoReflect.Descriptor instead.
957func (*GetImportJobRequest) Descriptor() ([]byte, []int) {
958	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{12}
959}
960
961func (x *GetImportJobRequest) GetName() string {
962	if x != nil {
963		return x.Name
964	}
965	return ""
966}
967
968// Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
969type CreateKeyRingRequest struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Required. The resource name of the location associated with the
975	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
976	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
977	// Required. It must be unique within a location and match the regular
978	// expression `[a-zA-Z0-9_-]{1,63}`
979	KeyRingId string `protobuf:"bytes,2,opt,name=key_ring_id,json=keyRingId,proto3" json:"key_ring_id,omitempty"`
980	// Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
981	KeyRing *KeyRing `protobuf:"bytes,3,opt,name=key_ring,json=keyRing,proto3" json:"key_ring,omitempty"`
982}
983
984func (x *CreateKeyRingRequest) Reset() {
985	*x = CreateKeyRingRequest{}
986	if protoimpl.UnsafeEnabled {
987		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
989		ms.StoreMessageInfo(mi)
990	}
991}
992
993func (x *CreateKeyRingRequest) String() string {
994	return protoimpl.X.MessageStringOf(x)
995}
996
997func (*CreateKeyRingRequest) ProtoMessage() {}
998
999func (x *CreateKeyRingRequest) ProtoReflect() protoreflect.Message {
1000	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
1001	if protoimpl.UnsafeEnabled && x != nil {
1002		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1003		if ms.LoadMessageInfo() == nil {
1004			ms.StoreMessageInfo(mi)
1005		}
1006		return ms
1007	}
1008	return mi.MessageOf(x)
1009}
1010
1011// Deprecated: Use CreateKeyRingRequest.ProtoReflect.Descriptor instead.
1012func (*CreateKeyRingRequest) Descriptor() ([]byte, []int) {
1013	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{13}
1014}
1015
1016func (x *CreateKeyRingRequest) GetParent() string {
1017	if x != nil {
1018		return x.Parent
1019	}
1020	return ""
1021}
1022
1023func (x *CreateKeyRingRequest) GetKeyRingId() string {
1024	if x != nil {
1025		return x.KeyRingId
1026	}
1027	return ""
1028}
1029
1030func (x *CreateKeyRingRequest) GetKeyRing() *KeyRing {
1031	if x != nil {
1032		return x.KeyRing
1033	}
1034	return nil
1035}
1036
1037// Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
1038type CreateCryptoKeyRequest struct {
1039	state         protoimpl.MessageState
1040	sizeCache     protoimpl.SizeCache
1041	unknownFields protoimpl.UnknownFields
1042
1043	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated with the
1044	// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
1045	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1046	// Required. It must be unique within a KeyRing and match the regular
1047	// expression `[a-zA-Z0-9_-]{1,63}`
1048	CryptoKeyId string `protobuf:"bytes,2,opt,name=crypto_key_id,json=cryptoKeyId,proto3" json:"crypto_key_id,omitempty"`
1049	// Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field values.
1050	CryptoKey *CryptoKey `protobuf:"bytes,3,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1051	// If set to true, the request will create a [CryptoKey][google.cloud.kms.v1.CryptoKey] without any
1052	// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. You must manually call
1053	// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
1054	// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]
1055	// before you can use this [CryptoKey][google.cloud.kms.v1.CryptoKey].
1056	SkipInitialVersionCreation bool `protobuf:"varint,5,opt,name=skip_initial_version_creation,json=skipInitialVersionCreation,proto3" json:"skip_initial_version_creation,omitempty"`
1057}
1058
1059func (x *CreateCryptoKeyRequest) Reset() {
1060	*x = CreateCryptoKeyRequest{}
1061	if protoimpl.UnsafeEnabled {
1062		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064		ms.StoreMessageInfo(mi)
1065	}
1066}
1067
1068func (x *CreateCryptoKeyRequest) String() string {
1069	return protoimpl.X.MessageStringOf(x)
1070}
1071
1072func (*CreateCryptoKeyRequest) ProtoMessage() {}
1073
1074func (x *CreateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1075	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1076	if protoimpl.UnsafeEnabled && x != nil {
1077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078		if ms.LoadMessageInfo() == nil {
1079			ms.StoreMessageInfo(mi)
1080		}
1081		return ms
1082	}
1083	return mi.MessageOf(x)
1084}
1085
1086// Deprecated: Use CreateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1087func (*CreateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1088	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{14}
1089}
1090
1091func (x *CreateCryptoKeyRequest) GetParent() string {
1092	if x != nil {
1093		return x.Parent
1094	}
1095	return ""
1096}
1097
1098func (x *CreateCryptoKeyRequest) GetCryptoKeyId() string {
1099	if x != nil {
1100		return x.CryptoKeyId
1101	}
1102	return ""
1103}
1104
1105func (x *CreateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1106	if x != nil {
1107		return x.CryptoKey
1108	}
1109	return nil
1110}
1111
1112func (x *CreateCryptoKeyRequest) GetSkipInitialVersionCreation() bool {
1113	if x != nil {
1114		return x.SkipInitialVersionCreation
1115	}
1116	return false
1117}
1118
1119// Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
1120type CreateCryptoKeyVersionRequest struct {
1121	state         protoimpl.MessageState
1122	sizeCache     protoimpl.SizeCache
1123	unknownFields protoimpl.UnknownFields
1124
1125	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with
1126	// the [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
1127	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1128	// Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial field values.
1129	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,2,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1130}
1131
1132func (x *CreateCryptoKeyVersionRequest) Reset() {
1133	*x = CreateCryptoKeyVersionRequest{}
1134	if protoimpl.UnsafeEnabled {
1135		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1137		ms.StoreMessageInfo(mi)
1138	}
1139}
1140
1141func (x *CreateCryptoKeyVersionRequest) String() string {
1142	return protoimpl.X.MessageStringOf(x)
1143}
1144
1145func (*CreateCryptoKeyVersionRequest) ProtoMessage() {}
1146
1147func (x *CreateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1148	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1149	if protoimpl.UnsafeEnabled && x != nil {
1150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1151		if ms.LoadMessageInfo() == nil {
1152			ms.StoreMessageInfo(mi)
1153		}
1154		return ms
1155	}
1156	return mi.MessageOf(x)
1157}
1158
1159// Deprecated: Use CreateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1160func (*CreateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1161	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{15}
1162}
1163
1164func (x *CreateCryptoKeyVersionRequest) GetParent() string {
1165	if x != nil {
1166		return x.Parent
1167	}
1168	return ""
1169}
1170
1171func (x *CreateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1172	if x != nil {
1173		return x.CryptoKeyVersion
1174	}
1175	return nil
1176}
1177
1178// Request message for [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
1179type ImportCryptoKeyVersionRequest struct {
1180	state         protoimpl.MessageState
1181	sizeCache     protoimpl.SizeCache
1182	unknownFields protoimpl.UnknownFields
1183
1184	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
1185	// be imported into.
1186	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1187	// Required. The [algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] of
1188	// the key being imported. This does not need to match the
1189	// [version_template][google.cloud.kms.v1.CryptoKey.version_template] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] this
1190	// version imports into.
1191	Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
1192	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] that was used to
1193	// wrap this key material.
1194	ImportJob string `protobuf:"bytes,4,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1195	// Required. The incoming wrapped key material that is to be imported.
1196	//
1197	// Types that are assignable to WrappedKeyMaterial:
1198	//	*ImportCryptoKeyVersionRequest_RsaAesWrappedKey
1199	WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"`
1200}
1201
1202func (x *ImportCryptoKeyVersionRequest) Reset() {
1203	*x = ImportCryptoKeyVersionRequest{}
1204	if protoimpl.UnsafeEnabled {
1205		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1207		ms.StoreMessageInfo(mi)
1208	}
1209}
1210
1211func (x *ImportCryptoKeyVersionRequest) String() string {
1212	return protoimpl.X.MessageStringOf(x)
1213}
1214
1215func (*ImportCryptoKeyVersionRequest) ProtoMessage() {}
1216
1217func (x *ImportCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1218	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1219	if protoimpl.UnsafeEnabled && x != nil {
1220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1221		if ms.LoadMessageInfo() == nil {
1222			ms.StoreMessageInfo(mi)
1223		}
1224		return ms
1225	}
1226	return mi.MessageOf(x)
1227}
1228
1229// Deprecated: Use ImportCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1230func (*ImportCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1231	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{16}
1232}
1233
1234func (x *ImportCryptoKeyVersionRequest) GetParent() string {
1235	if x != nil {
1236		return x.Parent
1237	}
1238	return ""
1239}
1240
1241func (x *ImportCryptoKeyVersionRequest) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm {
1242	if x != nil {
1243		return x.Algorithm
1244	}
1245	return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
1246}
1247
1248func (x *ImportCryptoKeyVersionRequest) GetImportJob() string {
1249	if x != nil {
1250		return x.ImportJob
1251	}
1252	return ""
1253}
1254
1255func (m *ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial() isImportCryptoKeyVersionRequest_WrappedKeyMaterial {
1256	if m != nil {
1257		return m.WrappedKeyMaterial
1258	}
1259	return nil
1260}
1261
1262func (x *ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey() []byte {
1263	if x, ok := x.GetWrappedKeyMaterial().(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey); ok {
1264		return x.RsaAesWrappedKey
1265	}
1266	return nil
1267}
1268
1269type isImportCryptoKeyVersionRequest_WrappedKeyMaterial interface {
1270	isImportCryptoKeyVersionRequest_WrappedKeyMaterial()
1271}
1272
1273type ImportCryptoKeyVersionRequest_RsaAesWrappedKey struct {
1274	// Wrapped key material produced with
1275	// [RSA_OAEP_3072_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256]
1276	// or
1277	// [RSA_OAEP_4096_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA1_AES_256].
1278	//
1279	// This field contains the concatenation of two wrapped keys:
1280	// <ol>
1281	//   <li>An ephemeral AES-256 wrapping key wrapped with the
1282	//       [public_key][google.cloud.kms.v1.ImportJob.public_key] using RSAES-OAEP with SHA-1,
1283	//       MGF1 with SHA-1, and an empty label.
1284	//   </li>
1285	//   <li>The key to be imported, wrapped with the ephemeral AES-256 key
1286	//       using AES-KWP (RFC 5649).
1287	//   </li>
1288	// </ol>
1289	//
1290	// If importing symmetric key material, it is expected that the unwrapped
1291	// key contains plain bytes. If importing asymmetric key material, it is
1292	// expected that the unwrapped key is in PKCS#8-encoded DER format (the
1293	// PrivateKeyInfo structure from RFC 5208).
1294	//
1295	// This format is the same as the format produced by PKCS#11 mechanism
1296	// CKM_RSA_AES_KEY_WRAP.
1297	RsaAesWrappedKey []byte `protobuf:"bytes,5,opt,name=rsa_aes_wrapped_key,json=rsaAesWrappedKey,proto3,oneof"`
1298}
1299
1300func (*ImportCryptoKeyVersionRequest_RsaAesWrappedKey) isImportCryptoKeyVersionRequest_WrappedKeyMaterial() {
1301}
1302
1303// Request message for [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob].
1304type CreateImportJobRequest struct {
1305	state         protoimpl.MessageState
1306	sizeCache     protoimpl.SizeCache
1307	unknownFields protoimpl.UnknownFields
1308
1309	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
1310	// [ImportJobs][google.cloud.kms.v1.ImportJob].
1311	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1312	// Required. It must be unique within a KeyRing and match the regular
1313	// expression `[a-zA-Z0-9_-]{1,63}`
1314	ImportJobId string `protobuf:"bytes,2,opt,name=import_job_id,json=importJobId,proto3" json:"import_job_id,omitempty"`
1315	// Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field values.
1316	ImportJob *ImportJob `protobuf:"bytes,3,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1317}
1318
1319func (x *CreateImportJobRequest) Reset() {
1320	*x = CreateImportJobRequest{}
1321	if protoimpl.UnsafeEnabled {
1322		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1323		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324		ms.StoreMessageInfo(mi)
1325	}
1326}
1327
1328func (x *CreateImportJobRequest) String() string {
1329	return protoimpl.X.MessageStringOf(x)
1330}
1331
1332func (*CreateImportJobRequest) ProtoMessage() {}
1333
1334func (x *CreateImportJobRequest) ProtoReflect() protoreflect.Message {
1335	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1336	if protoimpl.UnsafeEnabled && x != nil {
1337		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338		if ms.LoadMessageInfo() == nil {
1339			ms.StoreMessageInfo(mi)
1340		}
1341		return ms
1342	}
1343	return mi.MessageOf(x)
1344}
1345
1346// Deprecated: Use CreateImportJobRequest.ProtoReflect.Descriptor instead.
1347func (*CreateImportJobRequest) Descriptor() ([]byte, []int) {
1348	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{17}
1349}
1350
1351func (x *CreateImportJobRequest) GetParent() string {
1352	if x != nil {
1353		return x.Parent
1354	}
1355	return ""
1356}
1357
1358func (x *CreateImportJobRequest) GetImportJobId() string {
1359	if x != nil {
1360		return x.ImportJobId
1361	}
1362	return ""
1363}
1364
1365func (x *CreateImportJobRequest) GetImportJob() *ImportJob {
1366	if x != nil {
1367		return x.ImportJob
1368	}
1369	return nil
1370}
1371
1372// Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
1373type UpdateCryptoKeyRequest struct {
1374	state         protoimpl.MessageState
1375	sizeCache     protoimpl.SizeCache
1376	unknownFields protoimpl.UnknownFields
1377
1378	// Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
1379	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1380	// Required. List of fields to be updated in this request.
1381	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1382}
1383
1384func (x *UpdateCryptoKeyRequest) Reset() {
1385	*x = UpdateCryptoKeyRequest{}
1386	if protoimpl.UnsafeEnabled {
1387		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1388		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1389		ms.StoreMessageInfo(mi)
1390	}
1391}
1392
1393func (x *UpdateCryptoKeyRequest) String() string {
1394	return protoimpl.X.MessageStringOf(x)
1395}
1396
1397func (*UpdateCryptoKeyRequest) ProtoMessage() {}
1398
1399func (x *UpdateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1400	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1401	if protoimpl.UnsafeEnabled && x != nil {
1402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1403		if ms.LoadMessageInfo() == nil {
1404			ms.StoreMessageInfo(mi)
1405		}
1406		return ms
1407	}
1408	return mi.MessageOf(x)
1409}
1410
1411// Deprecated: Use UpdateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1412func (*UpdateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1413	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{18}
1414}
1415
1416func (x *UpdateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1417	if x != nil {
1418		return x.CryptoKey
1419	}
1420	return nil
1421}
1422
1423func (x *UpdateCryptoKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1424	if x != nil {
1425		return x.UpdateMask
1426	}
1427	return nil
1428}
1429
1430// Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
1431type UpdateCryptoKeyVersionRequest struct {
1432	state         protoimpl.MessageState
1433	sizeCache     protoimpl.SizeCache
1434	unknownFields protoimpl.UnknownFields
1435
1436	// Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values.
1437	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,1,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1438	// Required. List of fields to be updated in this request.
1439	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1440}
1441
1442func (x *UpdateCryptoKeyVersionRequest) Reset() {
1443	*x = UpdateCryptoKeyVersionRequest{}
1444	if protoimpl.UnsafeEnabled {
1445		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1446		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1447		ms.StoreMessageInfo(mi)
1448	}
1449}
1450
1451func (x *UpdateCryptoKeyVersionRequest) String() string {
1452	return protoimpl.X.MessageStringOf(x)
1453}
1454
1455func (*UpdateCryptoKeyVersionRequest) ProtoMessage() {}
1456
1457func (x *UpdateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1458	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1459	if protoimpl.UnsafeEnabled && x != nil {
1460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1461		if ms.LoadMessageInfo() == nil {
1462			ms.StoreMessageInfo(mi)
1463		}
1464		return ms
1465	}
1466	return mi.MessageOf(x)
1467}
1468
1469// Deprecated: Use UpdateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1470func (*UpdateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1471	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{19}
1472}
1473
1474func (x *UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1475	if x != nil {
1476		return x.CryptoKeyVersion
1477	}
1478	return nil
1479}
1480
1481func (x *UpdateCryptoKeyVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1482	if x != nil {
1483		return x.UpdateMask
1484	}
1485	return nil
1486}
1487
1488// Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
1489type EncryptRequest struct {
1490	state         protoimpl.MessageState
1491	sizeCache     protoimpl.SizeCache
1492	unknownFields protoimpl.UnknownFields
1493
1494	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
1495	// to use for encryption.
1496	//
1497	// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its
1498	// [primary version][google.cloud.kms.v1.CryptoKey.primary].
1499	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1500	// Required. The data to encrypt. Must be no larger than 64KiB.
1501	//
1502	// The maximum size depends on the key version's
1503	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1504	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no larger
1505	// than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1506	// plaintext and additional_authenticated_data fields must be no larger than
1507	// 8KiB.
1508	Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
1509	// Optional. Optional data that, if specified, must also be provided during decryption
1510	// through [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
1511	//
1512	// The maximum size depends on the key version's
1513	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1514	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD must be no larger than
1515	// 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1516	// plaintext and additional_authenticated_data fields must be no larger than
1517	// 8KiB.
1518	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1519	// Optional. An optional CRC32C checksum of the [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. If
1520	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1521	// received [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext] using this checksum.
1522	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1523	// fails. If you receive a checksum error, your client should verify that
1524	// CRC32C([EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]) is equal to
1525	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c], and if so, perform a limited number of
1526	// retries. A persistent mismatch may indicate an issue in your computation of
1527	// the CRC32C checksum.
1528	// Note: This field is defined as int64 for reasons of compatibility across
1529	// different languages. However, it is a non-negative integer, which will
1530	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1531	// that support this type.
1532	//
1533	// NOTE: This field is in Beta.
1534	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
1535	// Optional. An optional CRC32C checksum of the
1536	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. If specified,
1537	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1538	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data] using this checksum.
1539	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1540	// fails. If you receive a checksum error, your client should verify that
1541	// CRC32C([EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]) is equal to
1542	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c], and if so, perform
1543	// a limited number of retries. A persistent mismatch may indicate an issue in
1544	// your computation of the CRC32C checksum.
1545	// Note: This field is defined as int64 for reasons of compatibility across
1546	// different languages. However, it is a non-negative integer, which will
1547	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1548	// that support this type.
1549	//
1550	// NOTE: This field is in Beta.
1551	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1552}
1553
1554func (x *EncryptRequest) Reset() {
1555	*x = EncryptRequest{}
1556	if protoimpl.UnsafeEnabled {
1557		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1559		ms.StoreMessageInfo(mi)
1560	}
1561}
1562
1563func (x *EncryptRequest) String() string {
1564	return protoimpl.X.MessageStringOf(x)
1565}
1566
1567func (*EncryptRequest) ProtoMessage() {}
1568
1569func (x *EncryptRequest) ProtoReflect() protoreflect.Message {
1570	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1571	if protoimpl.UnsafeEnabled && x != nil {
1572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1573		if ms.LoadMessageInfo() == nil {
1574			ms.StoreMessageInfo(mi)
1575		}
1576		return ms
1577	}
1578	return mi.MessageOf(x)
1579}
1580
1581// Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead.
1582func (*EncryptRequest) Descriptor() ([]byte, []int) {
1583	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{20}
1584}
1585
1586func (x *EncryptRequest) GetName() string {
1587	if x != nil {
1588		return x.Name
1589	}
1590	return ""
1591}
1592
1593func (x *EncryptRequest) GetPlaintext() []byte {
1594	if x != nil {
1595		return x.Plaintext
1596	}
1597	return nil
1598}
1599
1600func (x *EncryptRequest) GetAdditionalAuthenticatedData() []byte {
1601	if x != nil {
1602		return x.AdditionalAuthenticatedData
1603	}
1604	return nil
1605}
1606
1607func (x *EncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Value {
1608	if x != nil {
1609		return x.PlaintextCrc32C
1610	}
1611	return nil
1612}
1613
1614func (x *EncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1615	if x != nil {
1616		return x.AdditionalAuthenticatedDataCrc32C
1617	}
1618	return nil
1619}
1620
1621// Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
1622type DecryptRequest struct {
1623	state         protoimpl.MessageState
1624	sizeCache     protoimpl.SizeCache
1625	unknownFields protoimpl.UnknownFields
1626
1627	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption.
1628	// The server will choose the appropriate version.
1629	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1630	// Required. The encrypted data originally returned in
1631	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
1632	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1633	// Optional. Optional data that must match the data originally supplied in
1634	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
1635	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1636	// Optional. An optional CRC32C checksum of the [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]. If
1637	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1638	// received [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext] using this checksum.
1639	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1640	// fails. If you receive a checksum error, your client should verify that
1641	// CRC32C([DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]) is equal to
1642	// [DecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c], and if so, perform a limited number
1643	// of retries. A persistent mismatch may indicate an issue in your computation
1644	// of the CRC32C checksum.
1645	// Note: This field is defined as int64 for reasons of compatibility across
1646	// different languages. However, it is a non-negative integer, which will
1647	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1648	// that support this type.
1649	//
1650	// NOTE: This field is in Beta.
1651	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1652	// Optional. An optional CRC32C checksum of the
1653	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]. If specified,
1654	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1655	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data] using this checksum.
1656	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1657	// fails. If you receive a checksum error, your client should verify that
1658	// CRC32C([DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]) is equal to
1659	// [DecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c], and if so, perform
1660	// a limited number of retries. A persistent mismatch may indicate an issue in
1661	// your computation of the CRC32C checksum.
1662	// Note: This field is defined as int64 for reasons of compatibility across
1663	// different languages. However, it is a non-negative integer, which will
1664	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1665	// that support this type.
1666	//
1667	// NOTE: This field is in Beta.
1668	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1669}
1670
1671func (x *DecryptRequest) Reset() {
1672	*x = DecryptRequest{}
1673	if protoimpl.UnsafeEnabled {
1674		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1675		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1676		ms.StoreMessageInfo(mi)
1677	}
1678}
1679
1680func (x *DecryptRequest) String() string {
1681	return protoimpl.X.MessageStringOf(x)
1682}
1683
1684func (*DecryptRequest) ProtoMessage() {}
1685
1686func (x *DecryptRequest) ProtoReflect() protoreflect.Message {
1687	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1688	if protoimpl.UnsafeEnabled && x != nil {
1689		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1690		if ms.LoadMessageInfo() == nil {
1691			ms.StoreMessageInfo(mi)
1692		}
1693		return ms
1694	}
1695	return mi.MessageOf(x)
1696}
1697
1698// Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead.
1699func (*DecryptRequest) Descriptor() ([]byte, []int) {
1700	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{21}
1701}
1702
1703func (x *DecryptRequest) GetName() string {
1704	if x != nil {
1705		return x.Name
1706	}
1707	return ""
1708}
1709
1710func (x *DecryptRequest) GetCiphertext() []byte {
1711	if x != nil {
1712		return x.Ciphertext
1713	}
1714	return nil
1715}
1716
1717func (x *DecryptRequest) GetAdditionalAuthenticatedData() []byte {
1718	if x != nil {
1719		return x.AdditionalAuthenticatedData
1720	}
1721	return nil
1722}
1723
1724func (x *DecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
1725	if x != nil {
1726		return x.CiphertextCrc32C
1727	}
1728	return nil
1729}
1730
1731func (x *DecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1732	if x != nil {
1733		return x.AdditionalAuthenticatedDataCrc32C
1734	}
1735	return nil
1736}
1737
1738// Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
1739type AsymmetricSignRequest struct {
1740	state         protoimpl.MessageState
1741	sizeCache     protoimpl.SizeCache
1742	unknownFields protoimpl.UnknownFields
1743
1744	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
1745	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1746	// Required. The digest of the data to sign. The digest must be produced with
1747	// the same digest algorithm as specified by the key version's
1748	// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
1749	Digest *Digest `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
1750	// Optional. An optional CRC32C checksum of the [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. If
1751	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1752	// received [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest] using this checksum.
1753	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1754	// fails. If you receive a checksum error, your client should verify that
1755	// CRC32C([AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]) is equal to
1756	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c], and if so, perform a limited
1757	// number of retries. A persistent mismatch may indicate an issue in your
1758	// computation of the CRC32C checksum.
1759	// Note: This field is defined as int64 for reasons of compatibility across
1760	// different languages. However, it is a non-negative integer, which will
1761	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1762	// that support this type.
1763	//
1764	// NOTE: This field is in Beta.
1765	DigestCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=digest_crc32c,json=digestCrc32c,proto3" json:"digest_crc32c,omitempty"`
1766}
1767
1768func (x *AsymmetricSignRequest) Reset() {
1769	*x = AsymmetricSignRequest{}
1770	if protoimpl.UnsafeEnabled {
1771		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1772		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1773		ms.StoreMessageInfo(mi)
1774	}
1775}
1776
1777func (x *AsymmetricSignRequest) String() string {
1778	return protoimpl.X.MessageStringOf(x)
1779}
1780
1781func (*AsymmetricSignRequest) ProtoMessage() {}
1782
1783func (x *AsymmetricSignRequest) ProtoReflect() protoreflect.Message {
1784	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1785	if protoimpl.UnsafeEnabled && x != nil {
1786		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1787		if ms.LoadMessageInfo() == nil {
1788			ms.StoreMessageInfo(mi)
1789		}
1790		return ms
1791	}
1792	return mi.MessageOf(x)
1793}
1794
1795// Deprecated: Use AsymmetricSignRequest.ProtoReflect.Descriptor instead.
1796func (*AsymmetricSignRequest) Descriptor() ([]byte, []int) {
1797	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{22}
1798}
1799
1800func (x *AsymmetricSignRequest) GetName() string {
1801	if x != nil {
1802		return x.Name
1803	}
1804	return ""
1805}
1806
1807func (x *AsymmetricSignRequest) GetDigest() *Digest {
1808	if x != nil {
1809		return x.Digest
1810	}
1811	return nil
1812}
1813
1814func (x *AsymmetricSignRequest) GetDigestCrc32C() *wrapperspb.Int64Value {
1815	if x != nil {
1816		return x.DigestCrc32C
1817	}
1818	return nil
1819}
1820
1821// Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
1822type AsymmetricDecryptRequest struct {
1823	state         protoimpl.MessageState
1824	sizeCache     protoimpl.SizeCache
1825	unknownFields protoimpl.UnknownFields
1826
1827	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
1828	// decryption.
1829	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1830	// Required. The data encrypted with the named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public
1831	// key using OAEP.
1832	Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1833	// Optional. An optional CRC32C checksum of the [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext].
1834	// If specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1835	// received [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext] using this checksum.
1836	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1837	// fails. If you receive a checksum error, your client should verify that
1838	// CRC32C([AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]) is equal to
1839	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c], and if so, perform a
1840	// limited number of retries. A persistent mismatch may indicate an issue in
1841	// your computation of the CRC32C checksum.
1842	// Note: This field is defined as int64 for reasons of compatibility across
1843	// different languages. However, it is a non-negative integer, which will
1844	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1845	// that support this type.
1846	//
1847	// NOTE: This field is in Beta.
1848	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1849}
1850
1851func (x *AsymmetricDecryptRequest) Reset() {
1852	*x = AsymmetricDecryptRequest{}
1853	if protoimpl.UnsafeEnabled {
1854		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1855		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1856		ms.StoreMessageInfo(mi)
1857	}
1858}
1859
1860func (x *AsymmetricDecryptRequest) String() string {
1861	return protoimpl.X.MessageStringOf(x)
1862}
1863
1864func (*AsymmetricDecryptRequest) ProtoMessage() {}
1865
1866func (x *AsymmetricDecryptRequest) ProtoReflect() protoreflect.Message {
1867	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1868	if protoimpl.UnsafeEnabled && x != nil {
1869		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1870		if ms.LoadMessageInfo() == nil {
1871			ms.StoreMessageInfo(mi)
1872		}
1873		return ms
1874	}
1875	return mi.MessageOf(x)
1876}
1877
1878// Deprecated: Use AsymmetricDecryptRequest.ProtoReflect.Descriptor instead.
1879func (*AsymmetricDecryptRequest) Descriptor() ([]byte, []int) {
1880	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{23}
1881}
1882
1883func (x *AsymmetricDecryptRequest) GetName() string {
1884	if x != nil {
1885		return x.Name
1886	}
1887	return ""
1888}
1889
1890func (x *AsymmetricDecryptRequest) GetCiphertext() []byte {
1891	if x != nil {
1892		return x.Ciphertext
1893	}
1894	return nil
1895}
1896
1897func (x *AsymmetricDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
1898	if x != nil {
1899		return x.CiphertextCrc32C
1900	}
1901	return nil
1902}
1903
1904// Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
1905type DecryptResponse struct {
1906	state         protoimpl.MessageState
1907	sizeCache     protoimpl.SizeCache
1908	unknownFields protoimpl.UnknownFields
1909
1910	// The decrypted data originally supplied in [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
1911	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
1912	// Integrity verification field. A CRC32C checksum of the returned
1913	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]. An integrity check of
1914	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] can be performed by computing the CRC32C
1915	// checksum of [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] and comparing your results to
1916	// this field. Discard the response in case of non-matching checksum values,
1917	// and perform a limited number of retries. A persistent mismatch may indicate
1918	// an issue in your computation of the CRC32C checksum. Note: receiving this
1919	// response message indicates that [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
1920	// successfully decrypt the [ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext].
1921	// Note: This field is defined as int64 for reasons of compatibility across
1922	// different languages. However, it is a non-negative integer, which will
1923	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1924	// that support this type.
1925	//
1926	// NOTE: This field is in Beta.
1927	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
1928}
1929
1930func (x *DecryptResponse) Reset() {
1931	*x = DecryptResponse{}
1932	if protoimpl.UnsafeEnabled {
1933		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1934		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1935		ms.StoreMessageInfo(mi)
1936	}
1937}
1938
1939func (x *DecryptResponse) String() string {
1940	return protoimpl.X.MessageStringOf(x)
1941}
1942
1943func (*DecryptResponse) ProtoMessage() {}
1944
1945func (x *DecryptResponse) ProtoReflect() protoreflect.Message {
1946	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1947	if protoimpl.UnsafeEnabled && x != nil {
1948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1949		if ms.LoadMessageInfo() == nil {
1950			ms.StoreMessageInfo(mi)
1951		}
1952		return ms
1953	}
1954	return mi.MessageOf(x)
1955}
1956
1957// Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead.
1958func (*DecryptResponse) Descriptor() ([]byte, []int) {
1959	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{24}
1960}
1961
1962func (x *DecryptResponse) GetPlaintext() []byte {
1963	if x != nil {
1964		return x.Plaintext
1965	}
1966	return nil
1967}
1968
1969func (x *DecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
1970	if x != nil {
1971		return x.PlaintextCrc32C
1972	}
1973	return nil
1974}
1975
1976// Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
1977type EncryptResponse struct {
1978	state         protoimpl.MessageState
1979	sizeCache     protoimpl.SizeCache
1980	unknownFields protoimpl.UnknownFields
1981
1982	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption. Check
1983	// this field to verify that the intended resource was used for encryption.
1984	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1985	// The encrypted data.
1986	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1987	// Integrity verification field. A CRC32C checksum of the returned
1988	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]. An integrity check of
1989	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] can be performed by computing the CRC32C
1990	// checksum of [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] and comparing your results to
1991	// this field. Discard the response in case of non-matching checksum values,
1992	// and perform a limited number of retries. A persistent mismatch may indicate
1993	// an issue in your computation of the CRC32C checksum.
1994	// Note: This field is defined as int64 for reasons of compatibility across
1995	// different languages. However, it is a non-negative integer, which will
1996	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1997	// that support this type.
1998	//
1999	// NOTE: This field is in Beta.
2000	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2001	// Integrity verification field. A flag indicating whether
2002	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was received by
2003	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2004	// [plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. A false value of this field
2005	// indicates either that [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was left unset or
2006	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2007	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] but this field is still false, discard
2008	// the response and perform a limited number of retries.
2009	//
2010	// NOTE: This field is in Beta.
2011	VerifiedPlaintextCrc32C bool `protobuf:"varint,5,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
2012	// Integrity verification field. A flag indicating whether
2013	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was received by
2014	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2015	// [AAD][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. A false value of this
2016	// field indicates either that
2017	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was left unset or
2018	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2019	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] but this field is
2020	// still false, discard the response and perform a limited number of retries.
2021	//
2022	// NOTE: This field is in Beta.
2023	VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,6,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
2024}
2025
2026func (x *EncryptResponse) Reset() {
2027	*x = EncryptResponse{}
2028	if protoimpl.UnsafeEnabled {
2029		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
2030		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2031		ms.StoreMessageInfo(mi)
2032	}
2033}
2034
2035func (x *EncryptResponse) String() string {
2036	return protoimpl.X.MessageStringOf(x)
2037}
2038
2039func (*EncryptResponse) ProtoMessage() {}
2040
2041func (x *EncryptResponse) ProtoReflect() protoreflect.Message {
2042	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
2043	if protoimpl.UnsafeEnabled && x != nil {
2044		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2045		if ms.LoadMessageInfo() == nil {
2046			ms.StoreMessageInfo(mi)
2047		}
2048		return ms
2049	}
2050	return mi.MessageOf(x)
2051}
2052
2053// Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead.
2054func (*EncryptResponse) Descriptor() ([]byte, []int) {
2055	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{25}
2056}
2057
2058func (x *EncryptResponse) GetName() string {
2059	if x != nil {
2060		return x.Name
2061	}
2062	return ""
2063}
2064
2065func (x *EncryptResponse) GetCiphertext() []byte {
2066	if x != nil {
2067		return x.Ciphertext
2068	}
2069	return nil
2070}
2071
2072func (x *EncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2073	if x != nil {
2074		return x.CiphertextCrc32C
2075	}
2076	return nil
2077}
2078
2079func (x *EncryptResponse) GetVerifiedPlaintextCrc32C() bool {
2080	if x != nil {
2081		return x.VerifiedPlaintextCrc32C
2082	}
2083	return false
2084}
2085
2086func (x *EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() bool {
2087	if x != nil {
2088		return x.VerifiedAdditionalAuthenticatedDataCrc32C
2089	}
2090	return false
2091}
2092
2093// Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
2094type AsymmetricSignResponse struct {
2095	state         protoimpl.MessageState
2096	sizeCache     protoimpl.SizeCache
2097	unknownFields protoimpl.UnknownFields
2098
2099	// The created signature.
2100	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
2101	// Integrity verification field. A CRC32C checksum of the returned
2102	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]. An integrity check of
2103	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] can be performed by computing the
2104	// CRC32C checksum of [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] and comparing your
2105	// results to this field. Discard the response in case of non-matching
2106	// checksum values, and perform a limited number of retries. A persistent
2107	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2108	// Note: This field is defined as int64 for reasons of compatibility across
2109	// different languages. However, it is a non-negative integer, which will
2110	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2111	// that support this type.
2112	//
2113	// NOTE: This field is in Beta.
2114	SignatureCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=signature_crc32c,json=signatureCrc32c,proto3" json:"signature_crc32c,omitempty"`
2115	// Integrity verification field. A flag indicating whether
2116	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was received by
2117	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2118	// [digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. A false value of this field
2119	// indicates either that [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was left
2120	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2121	// set [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] but this field is still false,
2122	// discard the response and perform a limited number of retries.
2123	//
2124	// NOTE: This field is in Beta.
2125	VerifiedDigestCrc32C bool `protobuf:"varint,3,opt,name=verified_digest_crc32c,json=verifiedDigestCrc32c,proto3" json:"verified_digest_crc32c,omitempty"`
2126	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2127	// this field to verify that the intended resource was used for signing.
2128	//
2129	// NOTE: This field is in Beta.
2130	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
2131}
2132
2133func (x *AsymmetricSignResponse) Reset() {
2134	*x = AsymmetricSignResponse{}
2135	if protoimpl.UnsafeEnabled {
2136		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2137		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2138		ms.StoreMessageInfo(mi)
2139	}
2140}
2141
2142func (x *AsymmetricSignResponse) String() string {
2143	return protoimpl.X.MessageStringOf(x)
2144}
2145
2146func (*AsymmetricSignResponse) ProtoMessage() {}
2147
2148func (x *AsymmetricSignResponse) ProtoReflect() protoreflect.Message {
2149	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2150	if protoimpl.UnsafeEnabled && x != nil {
2151		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2152		if ms.LoadMessageInfo() == nil {
2153			ms.StoreMessageInfo(mi)
2154		}
2155		return ms
2156	}
2157	return mi.MessageOf(x)
2158}
2159
2160// Deprecated: Use AsymmetricSignResponse.ProtoReflect.Descriptor instead.
2161func (*AsymmetricSignResponse) Descriptor() ([]byte, []int) {
2162	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{26}
2163}
2164
2165func (x *AsymmetricSignResponse) GetSignature() []byte {
2166	if x != nil {
2167		return x.Signature
2168	}
2169	return nil
2170}
2171
2172func (x *AsymmetricSignResponse) GetSignatureCrc32C() *wrapperspb.Int64Value {
2173	if x != nil {
2174		return x.SignatureCrc32C
2175	}
2176	return nil
2177}
2178
2179func (x *AsymmetricSignResponse) GetVerifiedDigestCrc32C() bool {
2180	if x != nil {
2181		return x.VerifiedDigestCrc32C
2182	}
2183	return false
2184}
2185
2186func (x *AsymmetricSignResponse) GetName() string {
2187	if x != nil {
2188		return x.Name
2189	}
2190	return ""
2191}
2192
2193// Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
2194type AsymmetricDecryptResponse struct {
2195	state         protoimpl.MessageState
2196	sizeCache     protoimpl.SizeCache
2197	unknownFields protoimpl.UnknownFields
2198
2199	// The decrypted data originally encrypted with the matching public key.
2200	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2201	// Integrity verification field. A CRC32C checksum of the returned
2202	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]. An integrity check of
2203	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] can be performed by computing the
2204	// CRC32C checksum of [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] and comparing
2205	// your results to this field. Discard the response in case of non-matching
2206	// checksum values, and perform a limited number of retries. A persistent
2207	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2208	// Note: This field is defined as int64 for reasons of compatibility across
2209	// different languages. However, it is a non-negative integer, which will
2210	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2211	// that support this type.
2212	//
2213	// NOTE: This field is in Beta.
2214	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2215	// Integrity verification field. A flag indicating whether
2216	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] was received by
2217	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2218	// [ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]. A false value of this
2219	// field indicates either that [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
2220	// was left unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If
2221	// you've set [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] but this field is
2222	// still false, discard the response and perform a limited number of retries.
2223	//
2224	// NOTE: This field is in Beta.
2225	VerifiedCiphertextCrc32C bool `protobuf:"varint,3,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
2226}
2227
2228func (x *AsymmetricDecryptResponse) Reset() {
2229	*x = AsymmetricDecryptResponse{}
2230	if protoimpl.UnsafeEnabled {
2231		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2232		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2233		ms.StoreMessageInfo(mi)
2234	}
2235}
2236
2237func (x *AsymmetricDecryptResponse) String() string {
2238	return protoimpl.X.MessageStringOf(x)
2239}
2240
2241func (*AsymmetricDecryptResponse) ProtoMessage() {}
2242
2243func (x *AsymmetricDecryptResponse) ProtoReflect() protoreflect.Message {
2244	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2245	if protoimpl.UnsafeEnabled && x != nil {
2246		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2247		if ms.LoadMessageInfo() == nil {
2248			ms.StoreMessageInfo(mi)
2249		}
2250		return ms
2251	}
2252	return mi.MessageOf(x)
2253}
2254
2255// Deprecated: Use AsymmetricDecryptResponse.ProtoReflect.Descriptor instead.
2256func (*AsymmetricDecryptResponse) Descriptor() ([]byte, []int) {
2257	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{27}
2258}
2259
2260func (x *AsymmetricDecryptResponse) GetPlaintext() []byte {
2261	if x != nil {
2262		return x.Plaintext
2263	}
2264	return nil
2265}
2266
2267func (x *AsymmetricDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2268	if x != nil {
2269		return x.PlaintextCrc32C
2270	}
2271	return nil
2272}
2273
2274func (x *AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C() bool {
2275	if x != nil {
2276		return x.VerifiedCiphertextCrc32C
2277	}
2278	return false
2279}
2280
2281// Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
2282type UpdateCryptoKeyPrimaryVersionRequest struct {
2283	state         protoimpl.MessageState
2284	sizeCache     protoimpl.SizeCache
2285	unknownFields protoimpl.UnknownFields
2286
2287	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
2288	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2289	// Required. The id of the child [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
2290	CryptoKeyVersionId string `protobuf:"bytes,2,opt,name=crypto_key_version_id,json=cryptoKeyVersionId,proto3" json:"crypto_key_version_id,omitempty"`
2291}
2292
2293func (x *UpdateCryptoKeyPrimaryVersionRequest) Reset() {
2294	*x = UpdateCryptoKeyPrimaryVersionRequest{}
2295	if protoimpl.UnsafeEnabled {
2296		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2297		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2298		ms.StoreMessageInfo(mi)
2299	}
2300}
2301
2302func (x *UpdateCryptoKeyPrimaryVersionRequest) String() string {
2303	return protoimpl.X.MessageStringOf(x)
2304}
2305
2306func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage() {}
2307
2308func (x *UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect() protoreflect.Message {
2309	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2310	if protoimpl.UnsafeEnabled && x != nil {
2311		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2312		if ms.LoadMessageInfo() == nil {
2313			ms.StoreMessageInfo(mi)
2314		}
2315		return ms
2316	}
2317	return mi.MessageOf(x)
2318}
2319
2320// Deprecated: Use UpdateCryptoKeyPrimaryVersionRequest.ProtoReflect.Descriptor instead.
2321func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor() ([]byte, []int) {
2322	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{28}
2323}
2324
2325func (x *UpdateCryptoKeyPrimaryVersionRequest) GetName() string {
2326	if x != nil {
2327		return x.Name
2328	}
2329	return ""
2330}
2331
2332func (x *UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId() string {
2333	if x != nil {
2334		return x.CryptoKeyVersionId
2335	}
2336	return ""
2337}
2338
2339// Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
2340type DestroyCryptoKeyVersionRequest struct {
2341	state         protoimpl.MessageState
2342	sizeCache     protoimpl.SizeCache
2343	unknownFields protoimpl.UnknownFields
2344
2345	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
2346	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2347}
2348
2349func (x *DestroyCryptoKeyVersionRequest) Reset() {
2350	*x = DestroyCryptoKeyVersionRequest{}
2351	if protoimpl.UnsafeEnabled {
2352		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2354		ms.StoreMessageInfo(mi)
2355	}
2356}
2357
2358func (x *DestroyCryptoKeyVersionRequest) String() string {
2359	return protoimpl.X.MessageStringOf(x)
2360}
2361
2362func (*DestroyCryptoKeyVersionRequest) ProtoMessage() {}
2363
2364func (x *DestroyCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
2365	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2366	if protoimpl.UnsafeEnabled && x != nil {
2367		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2368		if ms.LoadMessageInfo() == nil {
2369			ms.StoreMessageInfo(mi)
2370		}
2371		return ms
2372	}
2373	return mi.MessageOf(x)
2374}
2375
2376// Deprecated: Use DestroyCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
2377func (*DestroyCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
2378	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{29}
2379}
2380
2381func (x *DestroyCryptoKeyVersionRequest) GetName() string {
2382	if x != nil {
2383		return x.Name
2384	}
2385	return ""
2386}
2387
2388// Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
2389type RestoreCryptoKeyVersionRequest struct {
2390	state         protoimpl.MessageState
2391	sizeCache     protoimpl.SizeCache
2392	unknownFields protoimpl.UnknownFields
2393
2394	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
2395	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2396}
2397
2398func (x *RestoreCryptoKeyVersionRequest) Reset() {
2399	*x = RestoreCryptoKeyVersionRequest{}
2400	if protoimpl.UnsafeEnabled {
2401		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2403		ms.StoreMessageInfo(mi)
2404	}
2405}
2406
2407func (x *RestoreCryptoKeyVersionRequest) String() string {
2408	return protoimpl.X.MessageStringOf(x)
2409}
2410
2411func (*RestoreCryptoKeyVersionRequest) ProtoMessage() {}
2412
2413func (x *RestoreCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
2414	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2415	if protoimpl.UnsafeEnabled && x != nil {
2416		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2417		if ms.LoadMessageInfo() == nil {
2418			ms.StoreMessageInfo(mi)
2419		}
2420		return ms
2421	}
2422	return mi.MessageOf(x)
2423}
2424
2425// Deprecated: Use RestoreCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
2426func (*RestoreCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
2427	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{30}
2428}
2429
2430func (x *RestoreCryptoKeyVersionRequest) GetName() string {
2431	if x != nil {
2432		return x.Name
2433	}
2434	return ""
2435}
2436
2437// A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message digest.
2438type Digest struct {
2439	state         protoimpl.MessageState
2440	sizeCache     protoimpl.SizeCache
2441	unknownFields protoimpl.UnknownFields
2442
2443	// Required. The message digest.
2444	//
2445	// Types that are assignable to Digest:
2446	//	*Digest_Sha256
2447	//	*Digest_Sha384
2448	//	*Digest_Sha512
2449	Digest isDigest_Digest `protobuf_oneof:"digest"`
2450}
2451
2452func (x *Digest) Reset() {
2453	*x = Digest{}
2454	if protoimpl.UnsafeEnabled {
2455		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2456		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2457		ms.StoreMessageInfo(mi)
2458	}
2459}
2460
2461func (x *Digest) String() string {
2462	return protoimpl.X.MessageStringOf(x)
2463}
2464
2465func (*Digest) ProtoMessage() {}
2466
2467func (x *Digest) ProtoReflect() protoreflect.Message {
2468	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2469	if protoimpl.UnsafeEnabled && x != nil {
2470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2471		if ms.LoadMessageInfo() == nil {
2472			ms.StoreMessageInfo(mi)
2473		}
2474		return ms
2475	}
2476	return mi.MessageOf(x)
2477}
2478
2479// Deprecated: Use Digest.ProtoReflect.Descriptor instead.
2480func (*Digest) Descriptor() ([]byte, []int) {
2481	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{31}
2482}
2483
2484func (m *Digest) GetDigest() isDigest_Digest {
2485	if m != nil {
2486		return m.Digest
2487	}
2488	return nil
2489}
2490
2491func (x *Digest) GetSha256() []byte {
2492	if x, ok := x.GetDigest().(*Digest_Sha256); ok {
2493		return x.Sha256
2494	}
2495	return nil
2496}
2497
2498func (x *Digest) GetSha384() []byte {
2499	if x, ok := x.GetDigest().(*Digest_Sha384); ok {
2500		return x.Sha384
2501	}
2502	return nil
2503}
2504
2505func (x *Digest) GetSha512() []byte {
2506	if x, ok := x.GetDigest().(*Digest_Sha512); ok {
2507		return x.Sha512
2508	}
2509	return nil
2510}
2511
2512type isDigest_Digest interface {
2513	isDigest_Digest()
2514}
2515
2516type Digest_Sha256 struct {
2517	// A message digest produced with the SHA-256 algorithm.
2518	Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
2519}
2520
2521type Digest_Sha384 struct {
2522	// A message digest produced with the SHA-384 algorithm.
2523	Sha384 []byte `protobuf:"bytes,2,opt,name=sha384,proto3,oneof"`
2524}
2525
2526type Digest_Sha512 struct {
2527	// A message digest produced with the SHA-512 algorithm.
2528	Sha512 []byte `protobuf:"bytes,3,opt,name=sha512,proto3,oneof"`
2529}
2530
2531func (*Digest_Sha256) isDigest_Digest() {}
2532
2533func (*Digest_Sha384) isDigest_Digest() {}
2534
2535func (*Digest_Sha512) isDigest_Digest() {}
2536
2537// Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
2538type LocationMetadata struct {
2539	state         protoimpl.MessageState
2540	sizeCache     protoimpl.SizeCache
2541	unknownFields protoimpl.UnknownFields
2542
2543	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
2544	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
2545	// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location.
2546	HsmAvailable bool `protobuf:"varint,1,opt,name=hsm_available,json=hsmAvailable,proto3" json:"hsm_available,omitempty"`
2547	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
2548	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
2549	// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in this location.
2550	EkmAvailable bool `protobuf:"varint,2,opt,name=ekm_available,json=ekmAvailable,proto3" json:"ekm_available,omitempty"`
2551}
2552
2553func (x *LocationMetadata) Reset() {
2554	*x = LocationMetadata{}
2555	if protoimpl.UnsafeEnabled {
2556		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2557		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2558		ms.StoreMessageInfo(mi)
2559	}
2560}
2561
2562func (x *LocationMetadata) String() string {
2563	return protoimpl.X.MessageStringOf(x)
2564}
2565
2566func (*LocationMetadata) ProtoMessage() {}
2567
2568func (x *LocationMetadata) ProtoReflect() protoreflect.Message {
2569	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2570	if protoimpl.UnsafeEnabled && x != nil {
2571		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2572		if ms.LoadMessageInfo() == nil {
2573			ms.StoreMessageInfo(mi)
2574		}
2575		return ms
2576	}
2577	return mi.MessageOf(x)
2578}
2579
2580// Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
2581func (*LocationMetadata) Descriptor() ([]byte, []int) {
2582	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{32}
2583}
2584
2585func (x *LocationMetadata) GetHsmAvailable() bool {
2586	if x != nil {
2587		return x.HsmAvailable
2588	}
2589	return false
2590}
2591
2592func (x *LocationMetadata) GetEkmAvailable() bool {
2593	if x != nil {
2594		return x.EkmAvailable
2595	}
2596	return false
2597}
2598
2599var File_google_cloud_kms_v1_service_proto protoreflect.FileDescriptor
2600
2601var file_google_cloud_kms_v1_service_proto_rawDesc = []byte{
2602	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
2603	0x6d, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
2604	0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2605	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2606	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2607	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
2608	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2609	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
2610	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2611	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
2612	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f,
2613	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31,
2614	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2615	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2616	0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
2617	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2618	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2619	0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
2620	0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
2621	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
2622	0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
2623	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
2624	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a,
2625	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
2626	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
2627	0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
2628	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
2629	0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
2630	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
2631	0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01,
2632	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
2633	0x22, 0xba, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
2634	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61,
2635	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa,
2636	0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2637	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52,
2638	0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
2639	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
2640	0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
2641	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
2642	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
2643	0x6e, 0x12, 0x5d, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65,
2644	0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2645	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
2646	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
2647	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56,
2648	0x69, 0x65, 0x77, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77,
2649	0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
2650	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a,
2651	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
2652	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb4, 0x02,
2653	0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
2654	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
2655	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
2656	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
2657	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2658	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
2659	0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
2660	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
2661	0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
2662	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61,
2663	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
2664	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2665	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70,
2666	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79,
2667	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65,
2668	0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
2669	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69,
2670	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79,
2671	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64,
2672	0x65, 0x72, 0x42, 0x79, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70,
2673	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
2674	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,
2675	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
2676	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2677	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2678	0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
2679	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
2680	0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
2681	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
2682	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
2683	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
2684	0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05,
2685	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
2686	0x42, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
2687	0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6b,
2688	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
2689	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
2690	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6b, 0x65,
2691	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
2692	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
2693	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d,
2694	0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
2695	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01,
2696	0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73,
2697	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x72, 0x79, 0x70,
2698	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
2699	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
2700	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x63,
2701	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
2702	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
2703	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
2704	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
2705	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
2706	0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
2707	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2708	0x73, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
2709	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
2710	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
2711	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
2712	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
2713	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
2714	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
2715	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
2716	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
2717	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
2718	0x22, 0xa0, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
2719	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x69,
2720	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
2721	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2722	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
2723	0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f,
2724	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
2725	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
2726	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
2727	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
2728	0x69, 0x7a, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
2729	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2730	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f,
2731	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2732	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52,
2733	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70,
2734	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
2735	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
2736	0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2737	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
2738	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x47,
2739	0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
2740	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2741	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a,
2742	0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2743	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
2744	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
2745	0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52,
2746	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
2747	0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c,
2748	0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
2749	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
2750	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13,
2751	0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
2752	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2753	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2754	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2755	0x6f, 0x6d, 0x2f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61,
2756	0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
2757	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
2758	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
2759	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
2760	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
2761	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23,
2762	0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
2763	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
2764	0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x18,
2765	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2766	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52,
2767	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
2768	0x67, 0x22, 0x89, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
2769	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06,
2770	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
2771	0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67,
2772	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65,
2773	0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a,
2774	0x0d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
2775	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x79, 0x70, 0x74,
2776	0x6f, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
2777	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
2778	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
2779	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
2780	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x6b,
2781	0x69, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
2782	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
2783	0x08, 0x52, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x65,
2784	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01,
2785	0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
2786	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2787	0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
2788	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
2789	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2790	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
2791	0x6e, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
2792	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
2793	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
2794	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
2795	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70,
2796	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x02, 0x0a,
2797	0x1d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
2798	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
2799	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
2800	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
2801	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2802	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
2803	0x74, 0x12, 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02,
2804	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2805	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
2806	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70,
2807	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
2808	0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f,
2809	0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
2810	0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
2811	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x73, 0x61,
2812	0x5f, 0x61, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79,
2813	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x72, 0x73, 0x61, 0x41, 0x65, 0x73,
2814	0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x77, 0x72,
2815	0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
2816	0x61, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70,
2817	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
2818	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0,
2819	0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
2820	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b,
2821	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27,
2822	0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
2823	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f,
2824	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72,
2825	0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
2826	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
2827	0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02,
2828	0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x9e, 0x01, 0x0a, 0x16,
2829	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
2830	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
2831	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
2832	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
2833	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
2834	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
2835	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2836	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2837	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02,
2838	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbb, 0x01, 0x0a,
2839	0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
2840	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
2841	0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72,
2842	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
2843	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
2844	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
2845	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
2846	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
2847	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2848	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2849	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
2850	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x45,
2851	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
2852	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02,
2853	0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09,
2854	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
2855	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
2856	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
2857	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
2858	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
2859	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
2860	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
2861	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x07, 0x20, 0x01,
2862	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2863	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
2864	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43,
2865	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
2866	0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
2867	0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x08, 0x20,
2868	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2869	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
2870	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
2871	0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61,
2872	0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xff, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x63,
2873	0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
2874	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
2875	0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2876	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74,
2877	0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x69,
2878	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
2879	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
2880	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
2881	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
2882	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
2883	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
2884	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68,
2885	0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20,
2886	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2887	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
2888	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
2889	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74,
2890	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
2891	0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
2892	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2893	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
2894	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
2895	0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
2896	0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41,
2897	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71,
2898	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2899	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
2900	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2901	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
2902	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x64, 0x69,
2903	0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
2904	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
2905	0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x64, 0x69,
2906	0x67, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63,
2907	0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
2908	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
2909	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64,
2910	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xd4, 0x01, 0x0a, 0x18,
2911	0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70,
2912	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2913	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
2914	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2915	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
2916	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23,
2917	0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01,
2918	0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74,
2919	0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
2920	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
2921	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2922	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
2923	0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
2924	0x32, 0x63, 0x22, 0x77, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73,
2925	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65,
2926	0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74,
2927	0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74,
2928	0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
2929	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2930	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69,
2931	0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xad, 0x02, 0x0a, 0x0f,
2932	0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
2933	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
2934	0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
2935	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74,
2936	0x65, 0x78, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
2937	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
2938	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2939	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x69, 0x70,
2940	0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x3a, 0x0a,
2941	0x19, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74,
2942	0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
2943	0x52, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74,
2944	0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x60, 0x0a, 0x2d, 0x76, 0x65, 0x72,
2945	0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
2946	0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64,
2947	0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
2948	0x52, 0x29, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69,
2949	0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
2950	0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xc8, 0x01, 0x0a, 0x16,
2951	0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65,
2952	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
2953	0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
2954	0x74, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
2955	0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
2956	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2957	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x73, 0x69, 0x67,
2958	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x34, 0x0a, 0x16,
2959	0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f,
2960	0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x76, 0x65,
2961	0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33,
2962	0x32, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
2963	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6d, 0x6d,
2964	0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70,
2965	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78,
2966	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65,
2967	0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f,
2968	0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
2969	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
2970	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e,
2971	0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65,
2972	0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
2973	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18,
2974	0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65,
2975	0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x9d, 0x01, 0x0a, 0x24, 0x55, 0x70, 0x64,
2976	0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x69, 0x6d,
2977	0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2978	0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
2979	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
2980	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2981	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2982	0x12, 0x36, 0x0a, 0x15, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76,
2983	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
2984	0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
2985	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1e, 0x44, 0x65, 0x73, 0x74,
2986	0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
2987	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61,
2988	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
2989	0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2990	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
2991	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2992	0x22, 0x66, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74,
2993	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
2994	0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2995	0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b,
2996	0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2997	0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
2998	0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65,
2999	0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01,
3000	0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x18, 0x0a, 0x06,
3001	0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06,
3002	0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32,
3003	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32,
3004	0x42, 0x08, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x5c, 0x0a, 0x10, 0x4c, 0x6f,
3005	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23,
3006	0x0a, 0x0d, 0x68, 0x73, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18,
3007	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x73, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
3008	0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6b, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c,
3009	0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6b, 0x6d, 0x41,
3010	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x32, 0x86, 0x26, 0x0a, 0x14, 0x4b, 0x65, 0x79,
3011	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
3012	0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3013	0x67, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3014	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79,
3015	0x52, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
3016	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3017	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52,
3018	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12,
3019	0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
3020	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3021	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0xda, 0x41, 0x06,
3022	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43,
3023	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3024	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3025	0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65,
3026	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3027	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3028	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3029	0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f,
3030	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3031	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3032	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3033	0x6f, 0x4b, 0x65, 0x79, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xde,
3034	0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3035	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3036	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
3037	0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
3038	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f,
3039	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3040	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3041	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
3042	0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
3043	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3044	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3045	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3046	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3047	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3048	0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f,
3049	0x62, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3050	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70,
3051	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
3052	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3053	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3054	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4,
3055	0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3056	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
3057	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73,
3058	0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41,
3059	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4b,
3060	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3061	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
3062	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
3063	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3064	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x82, 0xd3,
3065	0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3066	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3067	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3068	0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65,
3069	0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3070	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3071	0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
3072	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3073	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
3074	0x6f, 0x4b, 0x65, 0x79, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76,
3075	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3076	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3077	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3078	0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcb,
3079	0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3080	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3081	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
3082	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3083	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3084	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3085	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5c,
3086	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3087	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3088	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3089	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3090	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3091	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a,
3092	0x0c, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e,
3093	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3094	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
3095	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3096	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75,
3097	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12,
3098	0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3099	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3100	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3101	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3102	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70,
3103	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3104	0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3105	0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3106	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3107	0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3108	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3109	0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93,
3110	0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
3111	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3112	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f,
3113	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04,
3114	0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b,
3115	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3116	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
3117	0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3118	0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3119	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22,
3120	0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
3121	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3122	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79,
3123	0x52, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0xda,
3124	0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e,
3125	0x67, 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xcf, 0x01,
3126	0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3127	0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3128	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72,
3129	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
3130	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3131	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x6f,
3132	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
3133	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3134	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69,
3135	0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3136	0x73, 0x3a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x1f,
3137	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
3138	0x79, 0x5f, 0x69, 0x64, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x12,
3139	0xfb, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3140	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
3141	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3142	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3143	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
3144	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3145	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3146	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, 0x4d,
3147	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3148	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3149	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3150	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70,
3151	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x12, 0x63,
3152	0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
3153	0x6e, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74,
3154	0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xd4, 0x01,
3155	0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3156	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3157	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49,
3158	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3159	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67,
3160	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3161	0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
3162	0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x31,
3163	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3164	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3165	0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3166	0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3167	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72,
3168	0x74, 0x3a, 0x01, 0x2a, 0x12, 0xcf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
3169	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3170	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3171	0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
3172	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3173	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
3174	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39, 0x2f,
3175	0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3176	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3177	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d,
3178	0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3179	0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6d,
3180	0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x2c, 0x69, 0x6d, 0x70, 0x6f,
3181	0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xd1, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74,
3182	0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
3183	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3184	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3185	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3186	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3187	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32,
3188	0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3189	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3190	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79,
3191	0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3192	0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
3193	0x79, 0xda, 0x41, 0x16, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75,
3194	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x93, 0x02, 0x0a, 0x16, 0x55,
3195	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3196	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3197	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
3198	0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3199	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3200	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3201	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3202	0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x32, 0x60, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3203	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
3204	0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3205	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3206	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3207	0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3208	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x12, 0x63, 0x72, 0x79,
3209	0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda,
3210	0x41, 0x1e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72,
3211	0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
3212	0x12, 0xb4, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e, 0x67,
3213	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3214	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3215	0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3216	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52,
3217	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22,
3218	0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3219	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3220	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3221	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x63, 0x72,
3222	0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x6c,
3223	0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x72,
3224	0x79, 0x70, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3225	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70,
3226	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3227	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44,
3228	0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e,
3229	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3230	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3231	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3232	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3233	0x7d, 0x3a, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e,
3234	0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0xe0,
3235	0x01, 0x0a, 0x0e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67,
3236	0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3237	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72,
3238	0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e,
3239	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3240	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69,
3241	0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93,
3242	0x02, 0x61, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
3243	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3244	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f,
3245	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3246	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3247	0x7d, 0x3a, 0x61, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e,
3248	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x69, 0x67, 0x65, 0x73,
3249	0x74, 0x12, 0xf0, 0x01, 0x0a, 0x11, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
3250	0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3251	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73,
3252	0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52,
3253	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3254	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79,
3255	0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65,
3256	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x5f,
3257	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3258	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3259	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70,
3260	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3261	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x73,
3262	0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a,
3263	0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72,
3264	0x74, 0x65, 0x78, 0x74, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
3265	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56,
3266	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3267	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
3268	0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x69, 0x6d,
3269	0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3270	0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3271	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3272	0x79, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3273	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3274	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3275	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3276	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61,
3277	0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1a, 0x6e,
3278	0x61, 0x6d, 0x65, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76,
3279	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0xde, 0x01, 0x0a, 0x17, 0x44, 0x65,
3280	0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3281	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3282	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74,
3283	0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
3284	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
3285	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3286	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3287	0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3288	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3289	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3290	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3291	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3292	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79,
3293	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x17, 0x52,
3294	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3295	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3296	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73,
3297	0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3298	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f,
3299	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3300	0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3301	0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f,
3302	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3303	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79,
3304	0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3305	0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3306	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
3307	0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x74, 0xca, 0x41, 0x17,
3308	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3309	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
3310	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3311	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
3312	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
3313	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3314	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
3315	0x73, 0x42, 0x8c, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3316	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b,
3317	0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3318	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
3319	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3320	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x6d,
3321	0x73, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c,
3322	0x6f, 0x75, 0x64, 0x2e, 0x4b, 0x6d, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f,
3323	0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4b, 0x6d, 0x73, 0x5c, 0x56, 0x31,
3324	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3325}
3326
3327var (
3328	file_google_cloud_kms_v1_service_proto_rawDescOnce sync.Once
3329	file_google_cloud_kms_v1_service_proto_rawDescData = file_google_cloud_kms_v1_service_proto_rawDesc
3330)
3331
3332func file_google_cloud_kms_v1_service_proto_rawDescGZIP() []byte {
3333	file_google_cloud_kms_v1_service_proto_rawDescOnce.Do(func() {
3334		file_google_cloud_kms_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_v1_service_proto_rawDescData)
3335	})
3336	return file_google_cloud_kms_v1_service_proto_rawDescData
3337}
3338
3339var file_google_cloud_kms_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
3340var file_google_cloud_kms_v1_service_proto_goTypes = []interface{}{
3341	(*ListKeyRingsRequest)(nil),                     // 0: google.cloud.kms.v1.ListKeyRingsRequest
3342	(*ListCryptoKeysRequest)(nil),                   // 1: google.cloud.kms.v1.ListCryptoKeysRequest
3343	(*ListCryptoKeyVersionsRequest)(nil),            // 2: google.cloud.kms.v1.ListCryptoKeyVersionsRequest
3344	(*ListImportJobsRequest)(nil),                   // 3: google.cloud.kms.v1.ListImportJobsRequest
3345	(*ListKeyRingsResponse)(nil),                    // 4: google.cloud.kms.v1.ListKeyRingsResponse
3346	(*ListCryptoKeysResponse)(nil),                  // 5: google.cloud.kms.v1.ListCryptoKeysResponse
3347	(*ListCryptoKeyVersionsResponse)(nil),           // 6: google.cloud.kms.v1.ListCryptoKeyVersionsResponse
3348	(*ListImportJobsResponse)(nil),                  // 7: google.cloud.kms.v1.ListImportJobsResponse
3349	(*GetKeyRingRequest)(nil),                       // 8: google.cloud.kms.v1.GetKeyRingRequest
3350	(*GetCryptoKeyRequest)(nil),                     // 9: google.cloud.kms.v1.GetCryptoKeyRequest
3351	(*GetCryptoKeyVersionRequest)(nil),              // 10: google.cloud.kms.v1.GetCryptoKeyVersionRequest
3352	(*GetPublicKeyRequest)(nil),                     // 11: google.cloud.kms.v1.GetPublicKeyRequest
3353	(*GetImportJobRequest)(nil),                     // 12: google.cloud.kms.v1.GetImportJobRequest
3354	(*CreateKeyRingRequest)(nil),                    // 13: google.cloud.kms.v1.CreateKeyRingRequest
3355	(*CreateCryptoKeyRequest)(nil),                  // 14: google.cloud.kms.v1.CreateCryptoKeyRequest
3356	(*CreateCryptoKeyVersionRequest)(nil),           // 15: google.cloud.kms.v1.CreateCryptoKeyVersionRequest
3357	(*ImportCryptoKeyVersionRequest)(nil),           // 16: google.cloud.kms.v1.ImportCryptoKeyVersionRequest
3358	(*CreateImportJobRequest)(nil),                  // 17: google.cloud.kms.v1.CreateImportJobRequest
3359	(*UpdateCryptoKeyRequest)(nil),                  // 18: google.cloud.kms.v1.UpdateCryptoKeyRequest
3360	(*UpdateCryptoKeyVersionRequest)(nil),           // 19: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
3361	(*EncryptRequest)(nil),                          // 20: google.cloud.kms.v1.EncryptRequest
3362	(*DecryptRequest)(nil),                          // 21: google.cloud.kms.v1.DecryptRequest
3363	(*AsymmetricSignRequest)(nil),                   // 22: google.cloud.kms.v1.AsymmetricSignRequest
3364	(*AsymmetricDecryptRequest)(nil),                // 23: google.cloud.kms.v1.AsymmetricDecryptRequest
3365	(*DecryptResponse)(nil),                         // 24: google.cloud.kms.v1.DecryptResponse
3366	(*EncryptResponse)(nil),                         // 25: google.cloud.kms.v1.EncryptResponse
3367	(*AsymmetricSignResponse)(nil),                  // 26: google.cloud.kms.v1.AsymmetricSignResponse
3368	(*AsymmetricDecryptResponse)(nil),               // 27: google.cloud.kms.v1.AsymmetricDecryptResponse
3369	(*UpdateCryptoKeyPrimaryVersionRequest)(nil),    // 28: google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
3370	(*DestroyCryptoKeyVersionRequest)(nil),          // 29: google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
3371	(*RestoreCryptoKeyVersionRequest)(nil),          // 30: google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
3372	(*Digest)(nil),                                  // 31: google.cloud.kms.v1.Digest
3373	(*LocationMetadata)(nil),                        // 32: google.cloud.kms.v1.LocationMetadata
3374	(CryptoKeyVersion_CryptoKeyVersionView)(0),      // 33: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
3375	(*KeyRing)(nil),                                 // 34: google.cloud.kms.v1.KeyRing
3376	(*CryptoKey)(nil),                               // 35: google.cloud.kms.v1.CryptoKey
3377	(*CryptoKeyVersion)(nil),                        // 36: google.cloud.kms.v1.CryptoKeyVersion
3378	(*ImportJob)(nil),                               // 37: google.cloud.kms.v1.ImportJob
3379	(CryptoKeyVersion_CryptoKeyVersionAlgorithm)(0), // 38: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
3380	(*fieldmaskpb.FieldMask)(nil),                   // 39: google.protobuf.FieldMask
3381	(*wrapperspb.Int64Value)(nil),                   // 40: google.protobuf.Int64Value
3382	(*PublicKey)(nil),                               // 41: google.cloud.kms.v1.PublicKey
3383}
3384var file_google_cloud_kms_v1_service_proto_depIdxs = []int32{
3385	33, // 0: google.cloud.kms.v1.ListCryptoKeysRequest.version_view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
3386	33, // 1: google.cloud.kms.v1.ListCryptoKeyVersionsRequest.view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
3387	34, // 2: google.cloud.kms.v1.ListKeyRingsResponse.key_rings:type_name -> google.cloud.kms.v1.KeyRing
3388	35, // 3: google.cloud.kms.v1.ListCryptoKeysResponse.crypto_keys:type_name -> google.cloud.kms.v1.CryptoKey
3389	36, // 4: google.cloud.kms.v1.ListCryptoKeyVersionsResponse.crypto_key_versions:type_name -> google.cloud.kms.v1.CryptoKeyVersion
3390	37, // 5: google.cloud.kms.v1.ListImportJobsResponse.import_jobs:type_name -> google.cloud.kms.v1.ImportJob
3391	34, // 6: google.cloud.kms.v1.CreateKeyRingRequest.key_ring:type_name -> google.cloud.kms.v1.KeyRing
3392	35, // 7: google.cloud.kms.v1.CreateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
3393	36, // 8: google.cloud.kms.v1.CreateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
3394	38, // 9: google.cloud.kms.v1.ImportCryptoKeyVersionRequest.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
3395	37, // 10: google.cloud.kms.v1.CreateImportJobRequest.import_job:type_name -> google.cloud.kms.v1.ImportJob
3396	35, // 11: google.cloud.kms.v1.UpdateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
3397	39, // 12: google.cloud.kms.v1.UpdateCryptoKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
3398	36, // 13: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
3399	39, // 14: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.update_mask:type_name -> google.protobuf.FieldMask
3400	40, // 15: google.cloud.kms.v1.EncryptRequest.plaintext_crc32c:type_name -> google.protobuf.Int64Value
3401	40, // 16: google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
3402	40, // 17: google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
3403	40, // 18: google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
3404	31, // 19: google.cloud.kms.v1.AsymmetricSignRequest.digest:type_name -> google.cloud.kms.v1.Digest
3405	40, // 20: google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c:type_name -> google.protobuf.Int64Value
3406	40, // 21: google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
3407	40, // 22: google.cloud.kms.v1.DecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
3408	40, // 23: google.cloud.kms.v1.EncryptResponse.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
3409	40, // 24: google.cloud.kms.v1.AsymmetricSignResponse.signature_crc32c:type_name -> google.protobuf.Int64Value
3410	40, // 25: google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
3411	0,  // 26: google.cloud.kms.v1.KeyManagementService.ListKeyRings:input_type -> google.cloud.kms.v1.ListKeyRingsRequest
3412	1,  // 27: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:input_type -> google.cloud.kms.v1.ListCryptoKeysRequest
3413	2,  // 28: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:input_type -> google.cloud.kms.v1.ListCryptoKeyVersionsRequest
3414	3,  // 29: google.cloud.kms.v1.KeyManagementService.ListImportJobs:input_type -> google.cloud.kms.v1.ListImportJobsRequest
3415	8,  // 30: google.cloud.kms.v1.KeyManagementService.GetKeyRing:input_type -> google.cloud.kms.v1.GetKeyRingRequest
3416	9,  // 31: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:input_type -> google.cloud.kms.v1.GetCryptoKeyRequest
3417	10, // 32: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:input_type -> google.cloud.kms.v1.GetCryptoKeyVersionRequest
3418	11, // 33: google.cloud.kms.v1.KeyManagementService.GetPublicKey:input_type -> google.cloud.kms.v1.GetPublicKeyRequest
3419	12, // 34: google.cloud.kms.v1.KeyManagementService.GetImportJob:input_type -> google.cloud.kms.v1.GetImportJobRequest
3420	13, // 35: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:input_type -> google.cloud.kms.v1.CreateKeyRingRequest
3421	14, // 36: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:input_type -> google.cloud.kms.v1.CreateCryptoKeyRequest
3422	15, // 37: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:input_type -> google.cloud.kms.v1.CreateCryptoKeyVersionRequest
3423	16, // 38: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:input_type -> google.cloud.kms.v1.ImportCryptoKeyVersionRequest
3424	17, // 39: google.cloud.kms.v1.KeyManagementService.CreateImportJob:input_type -> google.cloud.kms.v1.CreateImportJobRequest
3425	18, // 40: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:input_type -> google.cloud.kms.v1.UpdateCryptoKeyRequest
3426	19, // 41: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
3427	20, // 42: google.cloud.kms.v1.KeyManagementService.Encrypt:input_type -> google.cloud.kms.v1.EncryptRequest
3428	21, // 43: google.cloud.kms.v1.KeyManagementService.Decrypt:input_type -> google.cloud.kms.v1.DecryptRequest
3429	22, // 44: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:input_type -> google.cloud.kms.v1.AsymmetricSignRequest
3430	23, // 45: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:input_type -> google.cloud.kms.v1.AsymmetricDecryptRequest
3431	28, // 46: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
3432	29, // 47: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:input_type -> google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
3433	30, // 48: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:input_type -> google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
3434	4,  // 49: google.cloud.kms.v1.KeyManagementService.ListKeyRings:output_type -> google.cloud.kms.v1.ListKeyRingsResponse
3435	5,  // 50: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:output_type -> google.cloud.kms.v1.ListCryptoKeysResponse
3436	6,  // 51: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:output_type -> google.cloud.kms.v1.ListCryptoKeyVersionsResponse
3437	7,  // 52: google.cloud.kms.v1.KeyManagementService.ListImportJobs:output_type -> google.cloud.kms.v1.ListImportJobsResponse
3438	34, // 53: google.cloud.kms.v1.KeyManagementService.GetKeyRing:output_type -> google.cloud.kms.v1.KeyRing
3439	35, // 54: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
3440	36, // 55: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3441	41, // 56: google.cloud.kms.v1.KeyManagementService.GetPublicKey:output_type -> google.cloud.kms.v1.PublicKey
3442	37, // 57: google.cloud.kms.v1.KeyManagementService.GetImportJob:output_type -> google.cloud.kms.v1.ImportJob
3443	34, // 58: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:output_type -> google.cloud.kms.v1.KeyRing
3444	35, // 59: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
3445	36, // 60: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3446	36, // 61: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3447	37, // 62: google.cloud.kms.v1.KeyManagementService.CreateImportJob:output_type -> google.cloud.kms.v1.ImportJob
3448	35, // 63: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
3449	36, // 64: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3450	25, // 65: google.cloud.kms.v1.KeyManagementService.Encrypt:output_type -> google.cloud.kms.v1.EncryptResponse
3451	24, // 66: google.cloud.kms.v1.KeyManagementService.Decrypt:output_type -> google.cloud.kms.v1.DecryptResponse
3452	26, // 67: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:output_type -> google.cloud.kms.v1.AsymmetricSignResponse
3453	27, // 68: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:output_type -> google.cloud.kms.v1.AsymmetricDecryptResponse
3454	35, // 69: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:output_type -> google.cloud.kms.v1.CryptoKey
3455	36, // 70: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3456	36, // 71: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
3457	49, // [49:72] is the sub-list for method output_type
3458	26, // [26:49] is the sub-list for method input_type
3459	26, // [26:26] is the sub-list for extension type_name
3460	26, // [26:26] is the sub-list for extension extendee
3461	0,  // [0:26] is the sub-list for field type_name
3462}
3463
3464func init() { file_google_cloud_kms_v1_service_proto_init() }
3465func file_google_cloud_kms_v1_service_proto_init() {
3466	if File_google_cloud_kms_v1_service_proto != nil {
3467		return
3468	}
3469	file_google_cloud_kms_v1_resources_proto_init()
3470	if !protoimpl.UnsafeEnabled {
3471		file_google_cloud_kms_v1_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3472			switch v := v.(*ListKeyRingsRequest); i {
3473			case 0:
3474				return &v.state
3475			case 1:
3476				return &v.sizeCache
3477			case 2:
3478				return &v.unknownFields
3479			default:
3480				return nil
3481			}
3482		}
3483		file_google_cloud_kms_v1_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3484			switch v := v.(*ListCryptoKeysRequest); i {
3485			case 0:
3486				return &v.state
3487			case 1:
3488				return &v.sizeCache
3489			case 2:
3490				return &v.unknownFields
3491			default:
3492				return nil
3493			}
3494		}
3495		file_google_cloud_kms_v1_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3496			switch v := v.(*ListCryptoKeyVersionsRequest); i {
3497			case 0:
3498				return &v.state
3499			case 1:
3500				return &v.sizeCache
3501			case 2:
3502				return &v.unknownFields
3503			default:
3504				return nil
3505			}
3506		}
3507		file_google_cloud_kms_v1_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3508			switch v := v.(*ListImportJobsRequest); i {
3509			case 0:
3510				return &v.state
3511			case 1:
3512				return &v.sizeCache
3513			case 2:
3514				return &v.unknownFields
3515			default:
3516				return nil
3517			}
3518		}
3519		file_google_cloud_kms_v1_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3520			switch v := v.(*ListKeyRingsResponse); i {
3521			case 0:
3522				return &v.state
3523			case 1:
3524				return &v.sizeCache
3525			case 2:
3526				return &v.unknownFields
3527			default:
3528				return nil
3529			}
3530		}
3531		file_google_cloud_kms_v1_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3532			switch v := v.(*ListCryptoKeysResponse); i {
3533			case 0:
3534				return &v.state
3535			case 1:
3536				return &v.sizeCache
3537			case 2:
3538				return &v.unknownFields
3539			default:
3540				return nil
3541			}
3542		}
3543		file_google_cloud_kms_v1_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3544			switch v := v.(*ListCryptoKeyVersionsResponse); i {
3545			case 0:
3546				return &v.state
3547			case 1:
3548				return &v.sizeCache
3549			case 2:
3550				return &v.unknownFields
3551			default:
3552				return nil
3553			}
3554		}
3555		file_google_cloud_kms_v1_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3556			switch v := v.(*ListImportJobsResponse); i {
3557			case 0:
3558				return &v.state
3559			case 1:
3560				return &v.sizeCache
3561			case 2:
3562				return &v.unknownFields
3563			default:
3564				return nil
3565			}
3566		}
3567		file_google_cloud_kms_v1_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3568			switch v := v.(*GetKeyRingRequest); i {
3569			case 0:
3570				return &v.state
3571			case 1:
3572				return &v.sizeCache
3573			case 2:
3574				return &v.unknownFields
3575			default:
3576				return nil
3577			}
3578		}
3579		file_google_cloud_kms_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3580			switch v := v.(*GetCryptoKeyRequest); i {
3581			case 0:
3582				return &v.state
3583			case 1:
3584				return &v.sizeCache
3585			case 2:
3586				return &v.unknownFields
3587			default:
3588				return nil
3589			}
3590		}
3591		file_google_cloud_kms_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3592			switch v := v.(*GetCryptoKeyVersionRequest); i {
3593			case 0:
3594				return &v.state
3595			case 1:
3596				return &v.sizeCache
3597			case 2:
3598				return &v.unknownFields
3599			default:
3600				return nil
3601			}
3602		}
3603		file_google_cloud_kms_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3604			switch v := v.(*GetPublicKeyRequest); i {
3605			case 0:
3606				return &v.state
3607			case 1:
3608				return &v.sizeCache
3609			case 2:
3610				return &v.unknownFields
3611			default:
3612				return nil
3613			}
3614		}
3615		file_google_cloud_kms_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3616			switch v := v.(*GetImportJobRequest); i {
3617			case 0:
3618				return &v.state
3619			case 1:
3620				return &v.sizeCache
3621			case 2:
3622				return &v.unknownFields
3623			default:
3624				return nil
3625			}
3626		}
3627		file_google_cloud_kms_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3628			switch v := v.(*CreateKeyRingRequest); i {
3629			case 0:
3630				return &v.state
3631			case 1:
3632				return &v.sizeCache
3633			case 2:
3634				return &v.unknownFields
3635			default:
3636				return nil
3637			}
3638		}
3639		file_google_cloud_kms_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3640			switch v := v.(*CreateCryptoKeyRequest); i {
3641			case 0:
3642				return &v.state
3643			case 1:
3644				return &v.sizeCache
3645			case 2:
3646				return &v.unknownFields
3647			default:
3648				return nil
3649			}
3650		}
3651		file_google_cloud_kms_v1_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3652			switch v := v.(*CreateCryptoKeyVersionRequest); i {
3653			case 0:
3654				return &v.state
3655			case 1:
3656				return &v.sizeCache
3657			case 2:
3658				return &v.unknownFields
3659			default:
3660				return nil
3661			}
3662		}
3663		file_google_cloud_kms_v1_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3664			switch v := v.(*ImportCryptoKeyVersionRequest); i {
3665			case 0:
3666				return &v.state
3667			case 1:
3668				return &v.sizeCache
3669			case 2:
3670				return &v.unknownFields
3671			default:
3672				return nil
3673			}
3674		}
3675		file_google_cloud_kms_v1_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3676			switch v := v.(*CreateImportJobRequest); i {
3677			case 0:
3678				return &v.state
3679			case 1:
3680				return &v.sizeCache
3681			case 2:
3682				return &v.unknownFields
3683			default:
3684				return nil
3685			}
3686		}
3687		file_google_cloud_kms_v1_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3688			switch v := v.(*UpdateCryptoKeyRequest); i {
3689			case 0:
3690				return &v.state
3691			case 1:
3692				return &v.sizeCache
3693			case 2:
3694				return &v.unknownFields
3695			default:
3696				return nil
3697			}
3698		}
3699		file_google_cloud_kms_v1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3700			switch v := v.(*UpdateCryptoKeyVersionRequest); i {
3701			case 0:
3702				return &v.state
3703			case 1:
3704				return &v.sizeCache
3705			case 2:
3706				return &v.unknownFields
3707			default:
3708				return nil
3709			}
3710		}
3711		file_google_cloud_kms_v1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3712			switch v := v.(*EncryptRequest); i {
3713			case 0:
3714				return &v.state
3715			case 1:
3716				return &v.sizeCache
3717			case 2:
3718				return &v.unknownFields
3719			default:
3720				return nil
3721			}
3722		}
3723		file_google_cloud_kms_v1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3724			switch v := v.(*DecryptRequest); i {
3725			case 0:
3726				return &v.state
3727			case 1:
3728				return &v.sizeCache
3729			case 2:
3730				return &v.unknownFields
3731			default:
3732				return nil
3733			}
3734		}
3735		file_google_cloud_kms_v1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3736			switch v := v.(*AsymmetricSignRequest); i {
3737			case 0:
3738				return &v.state
3739			case 1:
3740				return &v.sizeCache
3741			case 2:
3742				return &v.unknownFields
3743			default:
3744				return nil
3745			}
3746		}
3747		file_google_cloud_kms_v1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3748			switch v := v.(*AsymmetricDecryptRequest); i {
3749			case 0:
3750				return &v.state
3751			case 1:
3752				return &v.sizeCache
3753			case 2:
3754				return &v.unknownFields
3755			default:
3756				return nil
3757			}
3758		}
3759		file_google_cloud_kms_v1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3760			switch v := v.(*DecryptResponse); i {
3761			case 0:
3762				return &v.state
3763			case 1:
3764				return &v.sizeCache
3765			case 2:
3766				return &v.unknownFields
3767			default:
3768				return nil
3769			}
3770		}
3771		file_google_cloud_kms_v1_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3772			switch v := v.(*EncryptResponse); i {
3773			case 0:
3774				return &v.state
3775			case 1:
3776				return &v.sizeCache
3777			case 2:
3778				return &v.unknownFields
3779			default:
3780				return nil
3781			}
3782		}
3783		file_google_cloud_kms_v1_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3784			switch v := v.(*AsymmetricSignResponse); i {
3785			case 0:
3786				return &v.state
3787			case 1:
3788				return &v.sizeCache
3789			case 2:
3790				return &v.unknownFields
3791			default:
3792				return nil
3793			}
3794		}
3795		file_google_cloud_kms_v1_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
3796			switch v := v.(*AsymmetricDecryptResponse); i {
3797			case 0:
3798				return &v.state
3799			case 1:
3800				return &v.sizeCache
3801			case 2:
3802				return &v.unknownFields
3803			default:
3804				return nil
3805			}
3806		}
3807		file_google_cloud_kms_v1_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
3808			switch v := v.(*UpdateCryptoKeyPrimaryVersionRequest); i {
3809			case 0:
3810				return &v.state
3811			case 1:
3812				return &v.sizeCache
3813			case 2:
3814				return &v.unknownFields
3815			default:
3816				return nil
3817			}
3818		}
3819		file_google_cloud_kms_v1_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
3820			switch v := v.(*DestroyCryptoKeyVersionRequest); i {
3821			case 0:
3822				return &v.state
3823			case 1:
3824				return &v.sizeCache
3825			case 2:
3826				return &v.unknownFields
3827			default:
3828				return nil
3829			}
3830		}
3831		file_google_cloud_kms_v1_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
3832			switch v := v.(*RestoreCryptoKeyVersionRequest); i {
3833			case 0:
3834				return &v.state
3835			case 1:
3836				return &v.sizeCache
3837			case 2:
3838				return &v.unknownFields
3839			default:
3840				return nil
3841			}
3842		}
3843		file_google_cloud_kms_v1_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
3844			switch v := v.(*Digest); i {
3845			case 0:
3846				return &v.state
3847			case 1:
3848				return &v.sizeCache
3849			case 2:
3850				return &v.unknownFields
3851			default:
3852				return nil
3853			}
3854		}
3855		file_google_cloud_kms_v1_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
3856			switch v := v.(*LocationMetadata); i {
3857			case 0:
3858				return &v.state
3859			case 1:
3860				return &v.sizeCache
3861			case 2:
3862				return &v.unknownFields
3863			default:
3864				return nil
3865			}
3866		}
3867	}
3868	file_google_cloud_kms_v1_service_proto_msgTypes[16].OneofWrappers = []interface{}{
3869		(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey)(nil),
3870	}
3871	file_google_cloud_kms_v1_service_proto_msgTypes[31].OneofWrappers = []interface{}{
3872		(*Digest_Sha256)(nil),
3873		(*Digest_Sha384)(nil),
3874		(*Digest_Sha512)(nil),
3875	}
3876	type x struct{}
3877	out := protoimpl.TypeBuilder{
3878		File: protoimpl.DescBuilder{
3879			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3880			RawDescriptor: file_google_cloud_kms_v1_service_proto_rawDesc,
3881			NumEnums:      0,
3882			NumMessages:   33,
3883			NumExtensions: 0,
3884			NumServices:   1,
3885		},
3886		GoTypes:           file_google_cloud_kms_v1_service_proto_goTypes,
3887		DependencyIndexes: file_google_cloud_kms_v1_service_proto_depIdxs,
3888		MessageInfos:      file_google_cloud_kms_v1_service_proto_msgTypes,
3889	}.Build()
3890	File_google_cloud_kms_v1_service_proto = out.File
3891	file_google_cloud_kms_v1_service_proto_rawDesc = nil
3892	file_google_cloud_kms_v1_service_proto_goTypes = nil
3893	file_google_cloud_kms_v1_service_proto_depIdxs = nil
3894}
3895
3896// Reference imports to suppress errors if they are not otherwise used.
3897var _ context.Context
3898var _ grpc.ClientConnInterface
3899
3900// This is a compile-time assertion to ensure that this generated file
3901// is compatible with the grpc package it is being compiled against.
3902const _ = grpc.SupportPackageIsVersion6
3903
3904// KeyManagementServiceClient is the client API for KeyManagementService service.
3905//
3906// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3907type KeyManagementServiceClient interface {
3908	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
3909	ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error)
3910	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
3911	ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error)
3912	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
3913	ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error)
3914	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
3915	ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error)
3916	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
3917	GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
3918	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
3919	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
3920	GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
3921	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
3922	GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
3923	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
3924	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
3925	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
3926	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
3927	GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error)
3928	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
3929	GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
3930	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
3931	CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
3932	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
3933	//
3934	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
3935	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
3936	// are required.
3937	CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
3938	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
3939	//
3940	// The server will assign the next sequential id. If unset,
3941	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
3942	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
3943	CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
3944	// Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] using the
3945	// wrapped key material provided in the request.
3946	//
3947	// The version ID will be assigned the next sequential id within the
3948	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
3949	ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
3950	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
3951	//
3952	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
3953	CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
3954	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
3955	UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
3956	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
3957	//
3958	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
3959	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
3960	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
3961	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
3962	// move between other states.
3963	UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
3964	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
3965	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
3966	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
3967	Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error)
3968	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
3969	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
3970	Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error)
3971	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
3972	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
3973	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
3974	AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error)
3975	// Decrypts data that was encrypted with a public key retrieved from
3976	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
3977	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
3978	AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error)
3979	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
3980	//
3981	// Returns an error if called on a key whose purpose is not
3982	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
3983	UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error)
3984	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
3985	//
3986	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
3987	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
3988	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24
3989	// hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state]
3990	// will be changed to
3991	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
3992	// material will be irrevocably destroyed.
3993	//
3994	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
3995	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
3996	DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
3997	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
3998	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
3999	// state.
4000	//
4001	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4002	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
4003	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
4004	RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4005}
4006
4007type keyManagementServiceClient struct {
4008	cc grpc.ClientConnInterface
4009}
4010
4011func NewKeyManagementServiceClient(cc grpc.ClientConnInterface) KeyManagementServiceClient {
4012	return &keyManagementServiceClient{cc}
4013}
4014
4015func (c *keyManagementServiceClient) ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error) {
4016	out := new(ListKeyRingsResponse)
4017	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListKeyRings", in, out, opts...)
4018	if err != nil {
4019		return nil, err
4020	}
4021	return out, nil
4022}
4023
4024func (c *keyManagementServiceClient) ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error) {
4025	out := new(ListCryptoKeysResponse)
4026	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys", in, out, opts...)
4027	if err != nil {
4028		return nil, err
4029	}
4030	return out, nil
4031}
4032
4033func (c *keyManagementServiceClient) ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error) {
4034	out := new(ListCryptoKeyVersionsResponse)
4035	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions", in, out, opts...)
4036	if err != nil {
4037		return nil, err
4038	}
4039	return out, nil
4040}
4041
4042func (c *keyManagementServiceClient) ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error) {
4043	out := new(ListImportJobsResponse)
4044	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListImportJobs", in, out, opts...)
4045	if err != nil {
4046		return nil, err
4047	}
4048	return out, nil
4049}
4050
4051func (c *keyManagementServiceClient) GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4052	out := new(KeyRing)
4053	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetKeyRing", in, out, opts...)
4054	if err != nil {
4055		return nil, err
4056	}
4057	return out, nil
4058}
4059
4060func (c *keyManagementServiceClient) GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4061	out := new(CryptoKey)
4062	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey", in, out, opts...)
4063	if err != nil {
4064		return nil, err
4065	}
4066	return out, nil
4067}
4068
4069func (c *keyManagementServiceClient) GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4070	out := new(CryptoKeyVersion)
4071	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion", in, out, opts...)
4072	if err != nil {
4073		return nil, err
4074	}
4075	return out, nil
4076}
4077
4078func (c *keyManagementServiceClient) GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error) {
4079	out := new(PublicKey)
4080	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetPublicKey", in, out, opts...)
4081	if err != nil {
4082		return nil, err
4083	}
4084	return out, nil
4085}
4086
4087func (c *keyManagementServiceClient) GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4088	out := new(ImportJob)
4089	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetImportJob", in, out, opts...)
4090	if err != nil {
4091		return nil, err
4092	}
4093	return out, nil
4094}
4095
4096func (c *keyManagementServiceClient) CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4097	out := new(KeyRing)
4098	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing", in, out, opts...)
4099	if err != nil {
4100		return nil, err
4101	}
4102	return out, nil
4103}
4104
4105func (c *keyManagementServiceClient) CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4106	out := new(CryptoKey)
4107	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey", in, out, opts...)
4108	if err != nil {
4109		return nil, err
4110	}
4111	return out, nil
4112}
4113
4114func (c *keyManagementServiceClient) CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4115	out := new(CryptoKeyVersion)
4116	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion", in, out, opts...)
4117	if err != nil {
4118		return nil, err
4119	}
4120	return out, nil
4121}
4122
4123func (c *keyManagementServiceClient) ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4124	out := new(CryptoKeyVersion)
4125	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion", in, out, opts...)
4126	if err != nil {
4127		return nil, err
4128	}
4129	return out, nil
4130}
4131
4132func (c *keyManagementServiceClient) CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4133	out := new(ImportJob)
4134	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateImportJob", in, out, opts...)
4135	if err != nil {
4136		return nil, err
4137	}
4138	return out, nil
4139}
4140
4141func (c *keyManagementServiceClient) UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4142	out := new(CryptoKey)
4143	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey", in, out, opts...)
4144	if err != nil {
4145		return nil, err
4146	}
4147	return out, nil
4148}
4149
4150func (c *keyManagementServiceClient) UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4151	out := new(CryptoKeyVersion)
4152	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion", in, out, opts...)
4153	if err != nil {
4154		return nil, err
4155	}
4156	return out, nil
4157}
4158
4159func (c *keyManagementServiceClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) {
4160	out := new(EncryptResponse)
4161	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Encrypt", in, out, opts...)
4162	if err != nil {
4163		return nil, err
4164	}
4165	return out, nil
4166}
4167
4168func (c *keyManagementServiceClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) {
4169	out := new(DecryptResponse)
4170	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Decrypt", in, out, opts...)
4171	if err != nil {
4172		return nil, err
4173	}
4174	return out, nil
4175}
4176
4177func (c *keyManagementServiceClient) AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error) {
4178	out := new(AsymmetricSignResponse)
4179	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign", in, out, opts...)
4180	if err != nil {
4181		return nil, err
4182	}
4183	return out, nil
4184}
4185
4186func (c *keyManagementServiceClient) AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error) {
4187	out := new(AsymmetricDecryptResponse)
4188	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt", in, out, opts...)
4189	if err != nil {
4190		return nil, err
4191	}
4192	return out, nil
4193}
4194
4195func (c *keyManagementServiceClient) UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4196	out := new(CryptoKey)
4197	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion", in, out, opts...)
4198	if err != nil {
4199		return nil, err
4200	}
4201	return out, nil
4202}
4203
4204func (c *keyManagementServiceClient) DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4205	out := new(CryptoKeyVersion)
4206	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion", in, out, opts...)
4207	if err != nil {
4208		return nil, err
4209	}
4210	return out, nil
4211}
4212
4213func (c *keyManagementServiceClient) RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4214	out := new(CryptoKeyVersion)
4215	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion", in, out, opts...)
4216	if err != nil {
4217		return nil, err
4218	}
4219	return out, nil
4220}
4221
4222// KeyManagementServiceServer is the server API for KeyManagementService service.
4223type KeyManagementServiceServer interface {
4224	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
4225	ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)
4226	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
4227	ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)
4228	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
4229	ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)
4230	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
4231	ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)
4232	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
4233	GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)
4234	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
4235	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4236	GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)
4237	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4238	GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4239	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
4240	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4241	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
4242	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
4243	GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)
4244	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
4245	GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)
4246	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
4247	CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)
4248	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4249	//
4250	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
4251	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
4252	// are required.
4253	CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)
4254	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4255	//
4256	// The server will assign the next sequential id. If unset,
4257	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4258	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
4259	CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4260	// Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] using the
4261	// wrapped key material provided in the request.
4262	//
4263	// The version ID will be assigned the next sequential id within the
4264	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
4265	ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4266	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4267	//
4268	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
4269	CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)
4270	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4271	UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)
4272	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
4273	//
4274	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
4275	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
4276	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
4277	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
4278	// move between other states.
4279	UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4280	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
4281	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4282	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4283	Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)
4284	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4285	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4286	Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)
4287	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4288	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
4289	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
4290	AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)
4291	// Decrypts data that was encrypted with a public key retrieved from
4292	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
4293	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
4294	AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)
4295	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
4296	//
4297	// Returns an error if called on a key whose purpose is not
4298	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4299	UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)
4300	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
4301	//
4302	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4303	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4304	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24
4305	// hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4306	// will be changed to
4307	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
4308	// material will be irrevocably destroyed.
4309	//
4310	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
4311	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
4312	DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4313	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
4314	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4315	// state.
4316	//
4317	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4318	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
4319	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
4320	RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
4321}
4322
4323// UnimplementedKeyManagementServiceServer can be embedded to have forward compatible implementations.
4324type UnimplementedKeyManagementServiceServer struct {
4325}
4326
4327func (*UnimplementedKeyManagementServiceServer) ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error) {
4328	return nil, status.Errorf(codes.Unimplemented, "method ListKeyRings not implemented")
4329}
4330func (*UnimplementedKeyManagementServiceServer) ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error) {
4331	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeys not implemented")
4332}
4333func (*UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error) {
4334	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeyVersions not implemented")
4335}
4336func (*UnimplementedKeyManagementServiceServer) ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error) {
4337	return nil, status.Errorf(codes.Unimplemented, "method ListImportJobs not implemented")
4338}
4339func (*UnimplementedKeyManagementServiceServer) GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error) {
4340	return nil, status.Errorf(codes.Unimplemented, "method GetKeyRing not implemented")
4341}
4342func (*UnimplementedKeyManagementServiceServer) GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error) {
4343	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKey not implemented")
4344}
4345func (*UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4346	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKeyVersion not implemented")
4347}
4348func (*UnimplementedKeyManagementServiceServer) GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error) {
4349	return nil, status.Errorf(codes.Unimplemented, "method GetPublicKey not implemented")
4350}
4351func (*UnimplementedKeyManagementServiceServer) GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error) {
4352	return nil, status.Errorf(codes.Unimplemented, "method GetImportJob not implemented")
4353}
4354func (*UnimplementedKeyManagementServiceServer) CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error) {
4355	return nil, status.Errorf(codes.Unimplemented, "method CreateKeyRing not implemented")
4356}
4357func (*UnimplementedKeyManagementServiceServer) CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error) {
4358	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKey not implemented")
4359}
4360func (*UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4361	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKeyVersion not implemented")
4362}
4363func (*UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4364	return nil, status.Errorf(codes.Unimplemented, "method ImportCryptoKeyVersion not implemented")
4365}
4366func (*UnimplementedKeyManagementServiceServer) CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error) {
4367	return nil, status.Errorf(codes.Unimplemented, "method CreateImportJob not implemented")
4368}
4369func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error) {
4370	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKey not implemented")
4371}
4372func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4373	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyVersion not implemented")
4374}
4375func (*UnimplementedKeyManagementServiceServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) {
4376	return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented")
4377}
4378func (*UnimplementedKeyManagementServiceServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) {
4379	return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented")
4380}
4381func (*UnimplementedKeyManagementServiceServer) AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error) {
4382	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricSign not implemented")
4383}
4384func (*UnimplementedKeyManagementServiceServer) AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error) {
4385	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricDecrypt not implemented")
4386}
4387func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error) {
4388	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyPrimaryVersion not implemented")
4389}
4390func (*UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4391	return nil, status.Errorf(codes.Unimplemented, "method DestroyCryptoKeyVersion not implemented")
4392}
4393func (*UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
4394	return nil, status.Errorf(codes.Unimplemented, "method RestoreCryptoKeyVersion not implemented")
4395}
4396
4397func RegisterKeyManagementServiceServer(s *grpc.Server, srv KeyManagementServiceServer) {
4398	s.RegisterService(&_KeyManagementService_serviceDesc, srv)
4399}
4400
4401func _KeyManagementService_ListKeyRings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4402	in := new(ListKeyRingsRequest)
4403	if err := dec(in); err != nil {
4404		return nil, err
4405	}
4406	if interceptor == nil {
4407		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, in)
4408	}
4409	info := &grpc.UnaryServerInfo{
4410		Server:     srv,
4411		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListKeyRings",
4412	}
4413	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4414		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, req.(*ListKeyRingsRequest))
4415	}
4416	return interceptor(ctx, in, info, handler)
4417}
4418
4419func _KeyManagementService_ListCryptoKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4420	in := new(ListCryptoKeysRequest)
4421	if err := dec(in); err != nil {
4422		return nil, err
4423	}
4424	if interceptor == nil {
4425		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, in)
4426	}
4427	info := &grpc.UnaryServerInfo{
4428		Server:     srv,
4429		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys",
4430	}
4431	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4432		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, req.(*ListCryptoKeysRequest))
4433	}
4434	return interceptor(ctx, in, info, handler)
4435}
4436
4437func _KeyManagementService_ListCryptoKeyVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4438	in := new(ListCryptoKeyVersionsRequest)
4439	if err := dec(in); err != nil {
4440		return nil, err
4441	}
4442	if interceptor == nil {
4443		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, in)
4444	}
4445	info := &grpc.UnaryServerInfo{
4446		Server:     srv,
4447		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions",
4448	}
4449	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4450		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, req.(*ListCryptoKeyVersionsRequest))
4451	}
4452	return interceptor(ctx, in, info, handler)
4453}
4454
4455func _KeyManagementService_ListImportJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4456	in := new(ListImportJobsRequest)
4457	if err := dec(in); err != nil {
4458		return nil, err
4459	}
4460	if interceptor == nil {
4461		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, in)
4462	}
4463	info := &grpc.UnaryServerInfo{
4464		Server:     srv,
4465		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListImportJobs",
4466	}
4467	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4468		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, req.(*ListImportJobsRequest))
4469	}
4470	return interceptor(ctx, in, info, handler)
4471}
4472
4473func _KeyManagementService_GetKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4474	in := new(GetKeyRingRequest)
4475	if err := dec(in); err != nil {
4476		return nil, err
4477	}
4478	if interceptor == nil {
4479		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, in)
4480	}
4481	info := &grpc.UnaryServerInfo{
4482		Server:     srv,
4483		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetKeyRing",
4484	}
4485	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4486		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, req.(*GetKeyRingRequest))
4487	}
4488	return interceptor(ctx, in, info, handler)
4489}
4490
4491func _KeyManagementService_GetCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4492	in := new(GetCryptoKeyRequest)
4493	if err := dec(in); err != nil {
4494		return nil, err
4495	}
4496	if interceptor == nil {
4497		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, in)
4498	}
4499	info := &grpc.UnaryServerInfo{
4500		Server:     srv,
4501		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey",
4502	}
4503	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4504		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, req.(*GetCryptoKeyRequest))
4505	}
4506	return interceptor(ctx, in, info, handler)
4507}
4508
4509func _KeyManagementService_GetCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4510	in := new(GetCryptoKeyVersionRequest)
4511	if err := dec(in); err != nil {
4512		return nil, err
4513	}
4514	if interceptor == nil {
4515		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, in)
4516	}
4517	info := &grpc.UnaryServerInfo{
4518		Server:     srv,
4519		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion",
4520	}
4521	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4522		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, req.(*GetCryptoKeyVersionRequest))
4523	}
4524	return interceptor(ctx, in, info, handler)
4525}
4526
4527func _KeyManagementService_GetPublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4528	in := new(GetPublicKeyRequest)
4529	if err := dec(in); err != nil {
4530		return nil, err
4531	}
4532	if interceptor == nil {
4533		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, in)
4534	}
4535	info := &grpc.UnaryServerInfo{
4536		Server:     srv,
4537		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetPublicKey",
4538	}
4539	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4540		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, req.(*GetPublicKeyRequest))
4541	}
4542	return interceptor(ctx, in, info, handler)
4543}
4544
4545func _KeyManagementService_GetImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4546	in := new(GetImportJobRequest)
4547	if err := dec(in); err != nil {
4548		return nil, err
4549	}
4550	if interceptor == nil {
4551		return srv.(KeyManagementServiceServer).GetImportJob(ctx, in)
4552	}
4553	info := &grpc.UnaryServerInfo{
4554		Server:     srv,
4555		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetImportJob",
4556	}
4557	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4558		return srv.(KeyManagementServiceServer).GetImportJob(ctx, req.(*GetImportJobRequest))
4559	}
4560	return interceptor(ctx, in, info, handler)
4561}
4562
4563func _KeyManagementService_CreateKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4564	in := new(CreateKeyRingRequest)
4565	if err := dec(in); err != nil {
4566		return nil, err
4567	}
4568	if interceptor == nil {
4569		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, in)
4570	}
4571	info := &grpc.UnaryServerInfo{
4572		Server:     srv,
4573		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing",
4574	}
4575	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4576		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, req.(*CreateKeyRingRequest))
4577	}
4578	return interceptor(ctx, in, info, handler)
4579}
4580
4581func _KeyManagementService_CreateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4582	in := new(CreateCryptoKeyRequest)
4583	if err := dec(in); err != nil {
4584		return nil, err
4585	}
4586	if interceptor == nil {
4587		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, in)
4588	}
4589	info := &grpc.UnaryServerInfo{
4590		Server:     srv,
4591		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey",
4592	}
4593	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4594		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, req.(*CreateCryptoKeyRequest))
4595	}
4596	return interceptor(ctx, in, info, handler)
4597}
4598
4599func _KeyManagementService_CreateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4600	in := new(CreateCryptoKeyVersionRequest)
4601	if err := dec(in); err != nil {
4602		return nil, err
4603	}
4604	if interceptor == nil {
4605		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, in)
4606	}
4607	info := &grpc.UnaryServerInfo{
4608		Server:     srv,
4609		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion",
4610	}
4611	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4612		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, req.(*CreateCryptoKeyVersionRequest))
4613	}
4614	return interceptor(ctx, in, info, handler)
4615}
4616
4617func _KeyManagementService_ImportCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4618	in := new(ImportCryptoKeyVersionRequest)
4619	if err := dec(in); err != nil {
4620		return nil, err
4621	}
4622	if interceptor == nil {
4623		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, in)
4624	}
4625	info := &grpc.UnaryServerInfo{
4626		Server:     srv,
4627		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion",
4628	}
4629	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4630		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, req.(*ImportCryptoKeyVersionRequest))
4631	}
4632	return interceptor(ctx, in, info, handler)
4633}
4634
4635func _KeyManagementService_CreateImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4636	in := new(CreateImportJobRequest)
4637	if err := dec(in); err != nil {
4638		return nil, err
4639	}
4640	if interceptor == nil {
4641		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, in)
4642	}
4643	info := &grpc.UnaryServerInfo{
4644		Server:     srv,
4645		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateImportJob",
4646	}
4647	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4648		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, req.(*CreateImportJobRequest))
4649	}
4650	return interceptor(ctx, in, info, handler)
4651}
4652
4653func _KeyManagementService_UpdateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4654	in := new(UpdateCryptoKeyRequest)
4655	if err := dec(in); err != nil {
4656		return nil, err
4657	}
4658	if interceptor == nil {
4659		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, in)
4660	}
4661	info := &grpc.UnaryServerInfo{
4662		Server:     srv,
4663		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey",
4664	}
4665	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4666		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, req.(*UpdateCryptoKeyRequest))
4667	}
4668	return interceptor(ctx, in, info, handler)
4669}
4670
4671func _KeyManagementService_UpdateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4672	in := new(UpdateCryptoKeyVersionRequest)
4673	if err := dec(in); err != nil {
4674		return nil, err
4675	}
4676	if interceptor == nil {
4677		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, in)
4678	}
4679	info := &grpc.UnaryServerInfo{
4680		Server:     srv,
4681		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion",
4682	}
4683	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4684		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, req.(*UpdateCryptoKeyVersionRequest))
4685	}
4686	return interceptor(ctx, in, info, handler)
4687}
4688
4689func _KeyManagementService_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4690	in := new(EncryptRequest)
4691	if err := dec(in); err != nil {
4692		return nil, err
4693	}
4694	if interceptor == nil {
4695		return srv.(KeyManagementServiceServer).Encrypt(ctx, in)
4696	}
4697	info := &grpc.UnaryServerInfo{
4698		Server:     srv,
4699		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Encrypt",
4700	}
4701	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4702		return srv.(KeyManagementServiceServer).Encrypt(ctx, req.(*EncryptRequest))
4703	}
4704	return interceptor(ctx, in, info, handler)
4705}
4706
4707func _KeyManagementService_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4708	in := new(DecryptRequest)
4709	if err := dec(in); err != nil {
4710		return nil, err
4711	}
4712	if interceptor == nil {
4713		return srv.(KeyManagementServiceServer).Decrypt(ctx, in)
4714	}
4715	info := &grpc.UnaryServerInfo{
4716		Server:     srv,
4717		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Decrypt",
4718	}
4719	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4720		return srv.(KeyManagementServiceServer).Decrypt(ctx, req.(*DecryptRequest))
4721	}
4722	return interceptor(ctx, in, info, handler)
4723}
4724
4725func _KeyManagementService_AsymmetricSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4726	in := new(AsymmetricSignRequest)
4727	if err := dec(in); err != nil {
4728		return nil, err
4729	}
4730	if interceptor == nil {
4731		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, in)
4732	}
4733	info := &grpc.UnaryServerInfo{
4734		Server:     srv,
4735		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign",
4736	}
4737	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4738		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, req.(*AsymmetricSignRequest))
4739	}
4740	return interceptor(ctx, in, info, handler)
4741}
4742
4743func _KeyManagementService_AsymmetricDecrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4744	in := new(AsymmetricDecryptRequest)
4745	if err := dec(in); err != nil {
4746		return nil, err
4747	}
4748	if interceptor == nil {
4749		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, in)
4750	}
4751	info := &grpc.UnaryServerInfo{
4752		Server:     srv,
4753		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt",
4754	}
4755	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4756		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, req.(*AsymmetricDecryptRequest))
4757	}
4758	return interceptor(ctx, in, info, handler)
4759}
4760
4761func _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4762	in := new(UpdateCryptoKeyPrimaryVersionRequest)
4763	if err := dec(in); err != nil {
4764		return nil, err
4765	}
4766	if interceptor == nil {
4767		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, in)
4768	}
4769	info := &grpc.UnaryServerInfo{
4770		Server:     srv,
4771		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion",
4772	}
4773	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4774		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, req.(*UpdateCryptoKeyPrimaryVersionRequest))
4775	}
4776	return interceptor(ctx, in, info, handler)
4777}
4778
4779func _KeyManagementService_DestroyCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4780	in := new(DestroyCryptoKeyVersionRequest)
4781	if err := dec(in); err != nil {
4782		return nil, err
4783	}
4784	if interceptor == nil {
4785		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, in)
4786	}
4787	info := &grpc.UnaryServerInfo{
4788		Server:     srv,
4789		FullMethod: "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion",
4790	}
4791	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4792		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, req.(*DestroyCryptoKeyVersionRequest))
4793	}
4794	return interceptor(ctx, in, info, handler)
4795}
4796
4797func _KeyManagementService_RestoreCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4798	in := new(RestoreCryptoKeyVersionRequest)
4799	if err := dec(in); err != nil {
4800		return nil, err
4801	}
4802	if interceptor == nil {
4803		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, in)
4804	}
4805	info := &grpc.UnaryServerInfo{
4806		Server:     srv,
4807		FullMethod: "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion",
4808	}
4809	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4810		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, req.(*RestoreCryptoKeyVersionRequest))
4811	}
4812	return interceptor(ctx, in, info, handler)
4813}
4814
4815var _KeyManagementService_serviceDesc = grpc.ServiceDesc{
4816	ServiceName: "google.cloud.kms.v1.KeyManagementService",
4817	HandlerType: (*KeyManagementServiceServer)(nil),
4818	Methods: []grpc.MethodDesc{
4819		{
4820			MethodName: "ListKeyRings",
4821			Handler:    _KeyManagementService_ListKeyRings_Handler,
4822		},
4823		{
4824			MethodName: "ListCryptoKeys",
4825			Handler:    _KeyManagementService_ListCryptoKeys_Handler,
4826		},
4827		{
4828			MethodName: "ListCryptoKeyVersions",
4829			Handler:    _KeyManagementService_ListCryptoKeyVersions_Handler,
4830		},
4831		{
4832			MethodName: "ListImportJobs",
4833			Handler:    _KeyManagementService_ListImportJobs_Handler,
4834		},
4835		{
4836			MethodName: "GetKeyRing",
4837			Handler:    _KeyManagementService_GetKeyRing_Handler,
4838		},
4839		{
4840			MethodName: "GetCryptoKey",
4841			Handler:    _KeyManagementService_GetCryptoKey_Handler,
4842		},
4843		{
4844			MethodName: "GetCryptoKeyVersion",
4845			Handler:    _KeyManagementService_GetCryptoKeyVersion_Handler,
4846		},
4847		{
4848			MethodName: "GetPublicKey",
4849			Handler:    _KeyManagementService_GetPublicKey_Handler,
4850		},
4851		{
4852			MethodName: "GetImportJob",
4853			Handler:    _KeyManagementService_GetImportJob_Handler,
4854		},
4855		{
4856			MethodName: "CreateKeyRing",
4857			Handler:    _KeyManagementService_CreateKeyRing_Handler,
4858		},
4859		{
4860			MethodName: "CreateCryptoKey",
4861			Handler:    _KeyManagementService_CreateCryptoKey_Handler,
4862		},
4863		{
4864			MethodName: "CreateCryptoKeyVersion",
4865			Handler:    _KeyManagementService_CreateCryptoKeyVersion_Handler,
4866		},
4867		{
4868			MethodName: "ImportCryptoKeyVersion",
4869			Handler:    _KeyManagementService_ImportCryptoKeyVersion_Handler,
4870		},
4871		{
4872			MethodName: "CreateImportJob",
4873			Handler:    _KeyManagementService_CreateImportJob_Handler,
4874		},
4875		{
4876			MethodName: "UpdateCryptoKey",
4877			Handler:    _KeyManagementService_UpdateCryptoKey_Handler,
4878		},
4879		{
4880			MethodName: "UpdateCryptoKeyVersion",
4881			Handler:    _KeyManagementService_UpdateCryptoKeyVersion_Handler,
4882		},
4883		{
4884			MethodName: "Encrypt",
4885			Handler:    _KeyManagementService_Encrypt_Handler,
4886		},
4887		{
4888			MethodName: "Decrypt",
4889			Handler:    _KeyManagementService_Decrypt_Handler,
4890		},
4891		{
4892			MethodName: "AsymmetricSign",
4893			Handler:    _KeyManagementService_AsymmetricSign_Handler,
4894		},
4895		{
4896			MethodName: "AsymmetricDecrypt",
4897			Handler:    _KeyManagementService_AsymmetricDecrypt_Handler,
4898		},
4899		{
4900			MethodName: "UpdateCryptoKeyPrimaryVersion",
4901			Handler:    _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler,
4902		},
4903		{
4904			MethodName: "DestroyCryptoKeyVersion",
4905			Handler:    _KeyManagementService_DestroyCryptoKeyVersion_Handler,
4906		},
4907		{
4908			MethodName: "RestoreCryptoKeyVersion",
4909			Handler:    _KeyManagementService_RestoreCryptoKeyVersion_Handler,
4910		},
4911	},
4912	Streams:  []grpc.StreamDesc{},
4913	Metadata: "google/cloud/kms/v1/service.proto",
4914}
4915