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