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