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