1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/kms/v1/resources.proto 20 21package kms 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 29 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 30 durationpb "google.golang.org/protobuf/types/known/durationpb" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 32 wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed. 43// For more information, see [Protection levels] 44// (https://cloud.google.com/kms/docs/algorithms#protection_levels). 45type ProtectionLevel int32 46 47const ( 48 // Not specified. 49 ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED ProtectionLevel = 0 50 // Crypto operations are performed in software. 51 ProtectionLevel_SOFTWARE ProtectionLevel = 1 52 // Crypto operations are performed in a Hardware Security Module. 53 ProtectionLevel_HSM ProtectionLevel = 2 54 // Crypto operations are performed by an external key manager. 55 ProtectionLevel_EXTERNAL ProtectionLevel = 3 56) 57 58// Enum value maps for ProtectionLevel. 59var ( 60 ProtectionLevel_name = map[int32]string{ 61 0: "PROTECTION_LEVEL_UNSPECIFIED", 62 1: "SOFTWARE", 63 2: "HSM", 64 3: "EXTERNAL", 65 } 66 ProtectionLevel_value = map[string]int32{ 67 "PROTECTION_LEVEL_UNSPECIFIED": 0, 68 "SOFTWARE": 1, 69 "HSM": 2, 70 "EXTERNAL": 3, 71 } 72) 73 74func (x ProtectionLevel) Enum() *ProtectionLevel { 75 p := new(ProtectionLevel) 76 *p = x 77 return p 78} 79 80func (x ProtectionLevel) String() string { 81 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 82} 83 84func (ProtectionLevel) Descriptor() protoreflect.EnumDescriptor { 85 return file_google_cloud_kms_v1_resources_proto_enumTypes[0].Descriptor() 86} 87 88func (ProtectionLevel) Type() protoreflect.EnumType { 89 return &file_google_cloud_kms_v1_resources_proto_enumTypes[0] 90} 91 92func (x ProtectionLevel) Number() protoreflect.EnumNumber { 93 return protoreflect.EnumNumber(x) 94} 95 96// Deprecated: Use ProtectionLevel.Descriptor instead. 97func (ProtectionLevel) EnumDescriptor() ([]byte, []int) { 98 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{0} 99} 100 101// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] describes the cryptographic capabilities of a 102// [CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used for the operations allowed by 103// its purpose. For more information, see 104// [Key purposes](https://cloud.google.com/kms/docs/algorithms#key_purposes). 105type CryptoKey_CryptoKeyPurpose int32 106 107const ( 108 // Not specified. 109 CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED CryptoKey_CryptoKeyPurpose = 0 110 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 111 // [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and 112 // [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. 113 CryptoKey_ENCRYPT_DECRYPT CryptoKey_CryptoKeyPurpose = 1 114 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 115 // [AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign] and 116 // [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 117 CryptoKey_ASYMMETRIC_SIGN CryptoKey_CryptoKeyPurpose = 5 118 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 119 // [AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt] and 120 // [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 121 CryptoKey_ASYMMETRIC_DECRYPT CryptoKey_CryptoKeyPurpose = 6 122 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 123 // [MacSign][google.cloud.kms.v1.KeyManagementService.MacSign]. 124 CryptoKey_MAC CryptoKey_CryptoKeyPurpose = 9 125) 126 127// Enum value maps for CryptoKey_CryptoKeyPurpose. 128var ( 129 CryptoKey_CryptoKeyPurpose_name = map[int32]string{ 130 0: "CRYPTO_KEY_PURPOSE_UNSPECIFIED", 131 1: "ENCRYPT_DECRYPT", 132 5: "ASYMMETRIC_SIGN", 133 6: "ASYMMETRIC_DECRYPT", 134 9: "MAC", 135 } 136 CryptoKey_CryptoKeyPurpose_value = map[string]int32{ 137 "CRYPTO_KEY_PURPOSE_UNSPECIFIED": 0, 138 "ENCRYPT_DECRYPT": 1, 139 "ASYMMETRIC_SIGN": 5, 140 "ASYMMETRIC_DECRYPT": 6, 141 "MAC": 9, 142 } 143) 144 145func (x CryptoKey_CryptoKeyPurpose) Enum() *CryptoKey_CryptoKeyPurpose { 146 p := new(CryptoKey_CryptoKeyPurpose) 147 *p = x 148 return p 149} 150 151func (x CryptoKey_CryptoKeyPurpose) String() string { 152 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 153} 154 155func (CryptoKey_CryptoKeyPurpose) Descriptor() protoreflect.EnumDescriptor { 156 return file_google_cloud_kms_v1_resources_proto_enumTypes[1].Descriptor() 157} 158 159func (CryptoKey_CryptoKeyPurpose) Type() protoreflect.EnumType { 160 return &file_google_cloud_kms_v1_resources_proto_enumTypes[1] 161} 162 163func (x CryptoKey_CryptoKeyPurpose) Number() protoreflect.EnumNumber { 164 return protoreflect.EnumNumber(x) 165} 166 167// Deprecated: Use CryptoKey_CryptoKeyPurpose.Descriptor instead. 168func (CryptoKey_CryptoKeyPurpose) EnumDescriptor() ([]byte, []int) { 169 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{1, 0} 170} 171 172// Attestation formats provided by the HSM. 173type KeyOperationAttestation_AttestationFormat int32 174 175const ( 176 // Not specified. 177 KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED KeyOperationAttestation_AttestationFormat = 0 178 // Cavium HSM attestation compressed with gzip. Note that this format is 179 // defined by Cavium and subject to change at any time. 180 KeyOperationAttestation_CAVIUM_V1_COMPRESSED KeyOperationAttestation_AttestationFormat = 3 181 // Cavium HSM attestation V2 compressed with gzip. This is a new format 182 // introduced in Cavium's version 3.2-08. 183 KeyOperationAttestation_CAVIUM_V2_COMPRESSED KeyOperationAttestation_AttestationFormat = 4 184) 185 186// Enum value maps for KeyOperationAttestation_AttestationFormat. 187var ( 188 KeyOperationAttestation_AttestationFormat_name = map[int32]string{ 189 0: "ATTESTATION_FORMAT_UNSPECIFIED", 190 3: "CAVIUM_V1_COMPRESSED", 191 4: "CAVIUM_V2_COMPRESSED", 192 } 193 KeyOperationAttestation_AttestationFormat_value = map[string]int32{ 194 "ATTESTATION_FORMAT_UNSPECIFIED": 0, 195 "CAVIUM_V1_COMPRESSED": 3, 196 "CAVIUM_V2_COMPRESSED": 4, 197 } 198) 199 200func (x KeyOperationAttestation_AttestationFormat) Enum() *KeyOperationAttestation_AttestationFormat { 201 p := new(KeyOperationAttestation_AttestationFormat) 202 *p = x 203 return p 204} 205 206func (x KeyOperationAttestation_AttestationFormat) String() string { 207 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 208} 209 210func (KeyOperationAttestation_AttestationFormat) Descriptor() protoreflect.EnumDescriptor { 211 return file_google_cloud_kms_v1_resources_proto_enumTypes[2].Descriptor() 212} 213 214func (KeyOperationAttestation_AttestationFormat) Type() protoreflect.EnumType { 215 return &file_google_cloud_kms_v1_resources_proto_enumTypes[2] 216} 217 218func (x KeyOperationAttestation_AttestationFormat) Number() protoreflect.EnumNumber { 219 return protoreflect.EnumNumber(x) 220} 221 222// Deprecated: Use KeyOperationAttestation_AttestationFormat.Descriptor instead. 223func (KeyOperationAttestation_AttestationFormat) EnumDescriptor() ([]byte, []int) { 224 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{3, 0} 225} 226 227// The algorithm of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what 228// parameters must be used for each cryptographic operation. 229// 230// The 231// [GOOGLE_SYMMETRIC_ENCRYPTION][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION] 232// algorithm is usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 233// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. 234// 235// Algorithms beginning with "RSA_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 236// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]. 237// 238// The fields in the name after "RSA_SIGN_" correspond to the following 239// parameters: padding algorithm, modulus bit length, and digest algorithm. 240// 241// For PSS, the salt length used is equal to the length of digest 242// algorithm. For example, 243// [RSA_SIGN_PSS_2048_SHA256][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256] 244// will use PSS with a salt length of 256 bits or 32 bytes. 245// 246// Algorithms beginning with "RSA_DECRYPT_" are usable with 247// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 248// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT]. 249// 250// The fields in the name after "RSA_DECRYPT_" correspond to the following 251// parameters: padding algorithm, modulus bit length, and digest algorithm. 252// 253// Algorithms beginning with "EC_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 254// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]. 255// 256// The fields in the name after "EC_SIGN_" correspond to the following 257// parameters: elliptic curve, digest algorithm. 258// 259// Algorithms beginning with "HMAC_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 260// [MAC][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.MAC]. 261// 262// The suffix following "HMAC_" corresponds to the hash algorithm being used 263// (eg. SHA256). 264// 265// For more information, see [Key purposes and algorithms] 266// (https://cloud.google.com/kms/docs/algorithms). 267type CryptoKeyVersion_CryptoKeyVersionAlgorithm int32 268 269const ( 270 // Not specified. 271 CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionAlgorithm = 0 272 // Creates symmetric encryption keys. 273 CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION CryptoKeyVersion_CryptoKeyVersionAlgorithm = 1 274 // RSASSA-PSS 2048 bit key with a SHA256 digest. 275 CryptoKeyVersion_RSA_SIGN_PSS_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 2 276 // RSASSA-PSS 3072 bit key with a SHA256 digest. 277 CryptoKeyVersion_RSA_SIGN_PSS_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 3 278 // RSASSA-PSS 4096 bit key with a SHA256 digest. 279 CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 4 280 // RSASSA-PSS 4096 bit key with a SHA512 digest. 281 CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 15 282 // RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest. 283 CryptoKeyVersion_RSA_SIGN_PKCS1_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 5 284 // RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest. 285 CryptoKeyVersion_RSA_SIGN_PKCS1_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 6 286 // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest. 287 CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 7 288 // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest. 289 CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 16 290 // RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key. 291 CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_2048 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 28 292 // RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key. 293 CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_3072 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 29 294 // RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key. 295 CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_4096 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 30 296 // RSAES-OAEP 2048 bit key with a SHA256 digest. 297 CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 8 298 // RSAES-OAEP 3072 bit key with a SHA256 digest. 299 CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 9 300 // RSAES-OAEP 4096 bit key with a SHA256 digest. 301 CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 10 302 // RSAES-OAEP 4096 bit key with a SHA512 digest. 303 CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 17 304 // RSAES-OAEP 2048 bit key with a SHA1 digest. 305 CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 37 306 // RSAES-OAEP 3072 bit key with a SHA1 digest. 307 CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 38 308 // RSAES-OAEP 4096 bit key with a SHA1 digest. 309 CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 39 310 // ECDSA on the NIST P-256 curve with a SHA256 digest. 311 CryptoKeyVersion_EC_SIGN_P256_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 12 312 // ECDSA on the NIST P-384 curve with a SHA384 digest. 313 CryptoKeyVersion_EC_SIGN_P384_SHA384 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 13 314 // ECDSA on the non-NIST secp256k1 curve. This curve is only supported for 315 // HSM protection level. 316 CryptoKeyVersion_EC_SIGN_SECP256K1_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 31 317 // HMAC-SHA256 signing with a 256 bit key. 318 CryptoKeyVersion_HMAC_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 32 319 // Algorithm representing symmetric encryption by an external key manager. 320 CryptoKeyVersion_EXTERNAL_SYMMETRIC_ENCRYPTION CryptoKeyVersion_CryptoKeyVersionAlgorithm = 18 321) 322 323// Enum value maps for CryptoKeyVersion_CryptoKeyVersionAlgorithm. 324var ( 325 CryptoKeyVersion_CryptoKeyVersionAlgorithm_name = map[int32]string{ 326 0: "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", 327 1: "GOOGLE_SYMMETRIC_ENCRYPTION", 328 2: "RSA_SIGN_PSS_2048_SHA256", 329 3: "RSA_SIGN_PSS_3072_SHA256", 330 4: "RSA_SIGN_PSS_4096_SHA256", 331 15: "RSA_SIGN_PSS_4096_SHA512", 332 5: "RSA_SIGN_PKCS1_2048_SHA256", 333 6: "RSA_SIGN_PKCS1_3072_SHA256", 334 7: "RSA_SIGN_PKCS1_4096_SHA256", 335 16: "RSA_SIGN_PKCS1_4096_SHA512", 336 28: "RSA_SIGN_RAW_PKCS1_2048", 337 29: "RSA_SIGN_RAW_PKCS1_3072", 338 30: "RSA_SIGN_RAW_PKCS1_4096", 339 8: "RSA_DECRYPT_OAEP_2048_SHA256", 340 9: "RSA_DECRYPT_OAEP_3072_SHA256", 341 10: "RSA_DECRYPT_OAEP_4096_SHA256", 342 17: "RSA_DECRYPT_OAEP_4096_SHA512", 343 37: "RSA_DECRYPT_OAEP_2048_SHA1", 344 38: "RSA_DECRYPT_OAEP_3072_SHA1", 345 39: "RSA_DECRYPT_OAEP_4096_SHA1", 346 12: "EC_SIGN_P256_SHA256", 347 13: "EC_SIGN_P384_SHA384", 348 31: "EC_SIGN_SECP256K1_SHA256", 349 32: "HMAC_SHA256", 350 18: "EXTERNAL_SYMMETRIC_ENCRYPTION", 351 } 352 CryptoKeyVersion_CryptoKeyVersionAlgorithm_value = map[string]int32{ 353 "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED": 0, 354 "GOOGLE_SYMMETRIC_ENCRYPTION": 1, 355 "RSA_SIGN_PSS_2048_SHA256": 2, 356 "RSA_SIGN_PSS_3072_SHA256": 3, 357 "RSA_SIGN_PSS_4096_SHA256": 4, 358 "RSA_SIGN_PSS_4096_SHA512": 15, 359 "RSA_SIGN_PKCS1_2048_SHA256": 5, 360 "RSA_SIGN_PKCS1_3072_SHA256": 6, 361 "RSA_SIGN_PKCS1_4096_SHA256": 7, 362 "RSA_SIGN_PKCS1_4096_SHA512": 16, 363 "RSA_SIGN_RAW_PKCS1_2048": 28, 364 "RSA_SIGN_RAW_PKCS1_3072": 29, 365 "RSA_SIGN_RAW_PKCS1_4096": 30, 366 "RSA_DECRYPT_OAEP_2048_SHA256": 8, 367 "RSA_DECRYPT_OAEP_3072_SHA256": 9, 368 "RSA_DECRYPT_OAEP_4096_SHA256": 10, 369 "RSA_DECRYPT_OAEP_4096_SHA512": 17, 370 "RSA_DECRYPT_OAEP_2048_SHA1": 37, 371 "RSA_DECRYPT_OAEP_3072_SHA1": 38, 372 "RSA_DECRYPT_OAEP_4096_SHA1": 39, 373 "EC_SIGN_P256_SHA256": 12, 374 "EC_SIGN_P384_SHA384": 13, 375 "EC_SIGN_SECP256K1_SHA256": 31, 376 "HMAC_SHA256": 32, 377 "EXTERNAL_SYMMETRIC_ENCRYPTION": 18, 378 } 379) 380 381func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) Enum() *CryptoKeyVersion_CryptoKeyVersionAlgorithm { 382 p := new(CryptoKeyVersion_CryptoKeyVersionAlgorithm) 383 *p = x 384 return p 385} 386 387func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) String() string { 388 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 389} 390 391func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Descriptor() protoreflect.EnumDescriptor { 392 return file_google_cloud_kms_v1_resources_proto_enumTypes[3].Descriptor() 393} 394 395func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Type() protoreflect.EnumType { 396 return &file_google_cloud_kms_v1_resources_proto_enumTypes[3] 397} 398 399func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) Number() protoreflect.EnumNumber { 400 return protoreflect.EnumNumber(x) 401} 402 403// Deprecated: Use CryptoKeyVersion_CryptoKeyVersionAlgorithm.Descriptor instead. 404func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) EnumDescriptor() ([]byte, []int) { 405 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{4, 0} 406} 407 408// The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used. 409type CryptoKeyVersion_CryptoKeyVersionState int32 410 411const ( 412 // Not specified. 413 CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionState = 0 414 // This version is still being generated. It may not be used, enabled, 415 // disabled, or destroyed yet. Cloud KMS will automatically mark this 416 // version [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] as soon as the version is ready. 417 CryptoKeyVersion_PENDING_GENERATION CryptoKeyVersion_CryptoKeyVersionState = 5 418 // This version may be used for cryptographic operations. 419 CryptoKeyVersion_ENABLED CryptoKeyVersion_CryptoKeyVersionState = 1 420 // This version may not be used, but the key material is still available, 421 // and the version can be placed back into the [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] state. 422 CryptoKeyVersion_DISABLED CryptoKeyVersion_CryptoKeyVersionState = 2 423 // This version is destroyed, and the key material is no longer stored. 424 // This version may only become [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] again if this version is 425 // [reimport_eligible][google.cloud.kms.v1.CryptoKeyVersion.reimport_eligible] and the original 426 // key material is reimported with a call to 427 // [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. 428 CryptoKeyVersion_DESTROYED CryptoKeyVersion_CryptoKeyVersionState = 3 429 // This version is scheduled for destruction, and will be destroyed soon. 430 // Call 431 // [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] 432 // to put it back into the [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] state. 433 CryptoKeyVersion_DESTROY_SCHEDULED CryptoKeyVersion_CryptoKeyVersionState = 4 434 // This version is still being imported. It may not be used, enabled, 435 // disabled, or destroyed yet. Cloud KMS will automatically mark this 436 // version [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] as soon as the version is ready. 437 CryptoKeyVersion_PENDING_IMPORT CryptoKeyVersion_CryptoKeyVersionState = 6 438 // This version was not imported successfully. It may not be used, enabled, 439 // disabled, or destroyed. The submitted key material has been discarded. 440 // Additional details can be found in 441 // [CryptoKeyVersion.import_failure_reason][google.cloud.kms.v1.CryptoKeyVersion.import_failure_reason]. 442 CryptoKeyVersion_IMPORT_FAILED CryptoKeyVersion_CryptoKeyVersionState = 7 443) 444 445// Enum value maps for CryptoKeyVersion_CryptoKeyVersionState. 446var ( 447 CryptoKeyVersion_CryptoKeyVersionState_name = map[int32]string{ 448 0: "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", 449 5: "PENDING_GENERATION", 450 1: "ENABLED", 451 2: "DISABLED", 452 3: "DESTROYED", 453 4: "DESTROY_SCHEDULED", 454 6: "PENDING_IMPORT", 455 7: "IMPORT_FAILED", 456 } 457 CryptoKeyVersion_CryptoKeyVersionState_value = map[string]int32{ 458 "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED": 0, 459 "PENDING_GENERATION": 5, 460 "ENABLED": 1, 461 "DISABLED": 2, 462 "DESTROYED": 3, 463 "DESTROY_SCHEDULED": 4, 464 "PENDING_IMPORT": 6, 465 "IMPORT_FAILED": 7, 466 } 467) 468 469func (x CryptoKeyVersion_CryptoKeyVersionState) Enum() *CryptoKeyVersion_CryptoKeyVersionState { 470 p := new(CryptoKeyVersion_CryptoKeyVersionState) 471 *p = x 472 return p 473} 474 475func (x CryptoKeyVersion_CryptoKeyVersionState) String() string { 476 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 477} 478 479func (CryptoKeyVersion_CryptoKeyVersionState) Descriptor() protoreflect.EnumDescriptor { 480 return file_google_cloud_kms_v1_resources_proto_enumTypes[4].Descriptor() 481} 482 483func (CryptoKeyVersion_CryptoKeyVersionState) Type() protoreflect.EnumType { 484 return &file_google_cloud_kms_v1_resources_proto_enumTypes[4] 485} 486 487func (x CryptoKeyVersion_CryptoKeyVersionState) Number() protoreflect.EnumNumber { 488 return protoreflect.EnumNumber(x) 489} 490 491// Deprecated: Use CryptoKeyVersion_CryptoKeyVersionState.Descriptor instead. 492func (CryptoKeyVersion_CryptoKeyVersionState) EnumDescriptor() ([]byte, []int) { 493 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{4, 1} 494} 495 496// A view for [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]s. Controls the level of detail returned 497// for [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] in 498// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions] and 499// [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys]. 500type CryptoKeyVersion_CryptoKeyVersionView int32 501 502const ( 503 // Default view for each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Does not include 504 // the [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation] field. 505 CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionView = 0 506 // Provides all fields in each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], including the 507 // [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation]. 508 CryptoKeyVersion_FULL CryptoKeyVersion_CryptoKeyVersionView = 1 509) 510 511// Enum value maps for CryptoKeyVersion_CryptoKeyVersionView. 512var ( 513 CryptoKeyVersion_CryptoKeyVersionView_name = map[int32]string{ 514 0: "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED", 515 1: "FULL", 516 } 517 CryptoKeyVersion_CryptoKeyVersionView_value = map[string]int32{ 518 "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED": 0, 519 "FULL": 1, 520 } 521) 522 523func (x CryptoKeyVersion_CryptoKeyVersionView) Enum() *CryptoKeyVersion_CryptoKeyVersionView { 524 p := new(CryptoKeyVersion_CryptoKeyVersionView) 525 *p = x 526 return p 527} 528 529func (x CryptoKeyVersion_CryptoKeyVersionView) String() string { 530 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 531} 532 533func (CryptoKeyVersion_CryptoKeyVersionView) Descriptor() protoreflect.EnumDescriptor { 534 return file_google_cloud_kms_v1_resources_proto_enumTypes[5].Descriptor() 535} 536 537func (CryptoKeyVersion_CryptoKeyVersionView) Type() protoreflect.EnumType { 538 return &file_google_cloud_kms_v1_resources_proto_enumTypes[5] 539} 540 541func (x CryptoKeyVersion_CryptoKeyVersionView) Number() protoreflect.EnumNumber { 542 return protoreflect.EnumNumber(x) 543} 544 545// Deprecated: Use CryptoKeyVersion_CryptoKeyVersionView.Descriptor instead. 546func (CryptoKeyVersion_CryptoKeyVersionView) EnumDescriptor() ([]byte, []int) { 547 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{4, 2} 548} 549 550// [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] describes the key wrapping method chosen for this 551// [ImportJob][google.cloud.kms.v1.ImportJob]. 552type ImportJob_ImportMethod int32 553 554const ( 555 // Not specified. 556 ImportJob_IMPORT_METHOD_UNSPECIFIED ImportJob_ImportMethod = 0 557 // This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping 558 // scheme defined in the PKCS #11 standard. In summary, this involves 559 // wrapping the raw key with an ephemeral AES key, and wrapping the 560 // ephemeral AES key with a 3072 bit RSA key. For more details, see 561 // [RSA AES key wrap 562 // mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908). 563 ImportJob_RSA_OAEP_3072_SHA1_AES_256 ImportJob_ImportMethod = 1 564 // This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping 565 // scheme defined in the PKCS #11 standard. In summary, this involves 566 // wrapping the raw key with an ephemeral AES key, and wrapping the 567 // ephemeral AES key with a 4096 bit RSA key. For more details, see 568 // [RSA AES key wrap 569 // mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908). 570 ImportJob_RSA_OAEP_4096_SHA1_AES_256 ImportJob_ImportMethod = 2 571) 572 573// Enum value maps for ImportJob_ImportMethod. 574var ( 575 ImportJob_ImportMethod_name = map[int32]string{ 576 0: "IMPORT_METHOD_UNSPECIFIED", 577 1: "RSA_OAEP_3072_SHA1_AES_256", 578 2: "RSA_OAEP_4096_SHA1_AES_256", 579 } 580 ImportJob_ImportMethod_value = map[string]int32{ 581 "IMPORT_METHOD_UNSPECIFIED": 0, 582 "RSA_OAEP_3072_SHA1_AES_256": 1, 583 "RSA_OAEP_4096_SHA1_AES_256": 2, 584 } 585) 586 587func (x ImportJob_ImportMethod) Enum() *ImportJob_ImportMethod { 588 p := new(ImportJob_ImportMethod) 589 *p = x 590 return p 591} 592 593func (x ImportJob_ImportMethod) String() string { 594 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 595} 596 597func (ImportJob_ImportMethod) Descriptor() protoreflect.EnumDescriptor { 598 return file_google_cloud_kms_v1_resources_proto_enumTypes[6].Descriptor() 599} 600 601func (ImportJob_ImportMethod) Type() protoreflect.EnumType { 602 return &file_google_cloud_kms_v1_resources_proto_enumTypes[6] 603} 604 605func (x ImportJob_ImportMethod) Number() protoreflect.EnumNumber { 606 return protoreflect.EnumNumber(x) 607} 608 609// Deprecated: Use ImportJob_ImportMethod.Descriptor instead. 610func (ImportJob_ImportMethod) EnumDescriptor() ([]byte, []int) { 611 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{6, 0} 612} 613 614// The state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used. 615type ImportJob_ImportJobState int32 616 617const ( 618 // Not specified. 619 ImportJob_IMPORT_JOB_STATE_UNSPECIFIED ImportJob_ImportJobState = 0 620 // The wrapping key for this job is still being generated. It may not be 621 // used. Cloud KMS will automatically mark this job as 622 // [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] as soon as the wrapping key is generated. 623 ImportJob_PENDING_GENERATION ImportJob_ImportJobState = 1 624 // This job may be used in 625 // [CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey] and 626 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 627 // requests. 628 ImportJob_ACTIVE ImportJob_ImportJobState = 2 629 // This job can no longer be used and may not leave this state once entered. 630 ImportJob_EXPIRED ImportJob_ImportJobState = 3 631) 632 633// Enum value maps for ImportJob_ImportJobState. 634var ( 635 ImportJob_ImportJobState_name = map[int32]string{ 636 0: "IMPORT_JOB_STATE_UNSPECIFIED", 637 1: "PENDING_GENERATION", 638 2: "ACTIVE", 639 3: "EXPIRED", 640 } 641 ImportJob_ImportJobState_value = map[string]int32{ 642 "IMPORT_JOB_STATE_UNSPECIFIED": 0, 643 "PENDING_GENERATION": 1, 644 "ACTIVE": 2, 645 "EXPIRED": 3, 646 } 647) 648 649func (x ImportJob_ImportJobState) Enum() *ImportJob_ImportJobState { 650 p := new(ImportJob_ImportJobState) 651 *p = x 652 return p 653} 654 655func (x ImportJob_ImportJobState) String() string { 656 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 657} 658 659func (ImportJob_ImportJobState) Descriptor() protoreflect.EnumDescriptor { 660 return file_google_cloud_kms_v1_resources_proto_enumTypes[7].Descriptor() 661} 662 663func (ImportJob_ImportJobState) Type() protoreflect.EnumType { 664 return &file_google_cloud_kms_v1_resources_proto_enumTypes[7] 665} 666 667func (x ImportJob_ImportJobState) Number() protoreflect.EnumNumber { 668 return protoreflect.EnumNumber(x) 669} 670 671// Deprecated: Use ImportJob_ImportJobState.Descriptor instead. 672func (ImportJob_ImportJobState) EnumDescriptor() ([]byte, []int) { 673 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{6, 1} 674} 675 676// A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. 677type KeyRing struct { 678 state protoimpl.MessageState 679 sizeCache protoimpl.SizeCache 680 unknownFields protoimpl.UnknownFields 681 682 // Output only. The resource name for the [KeyRing][google.cloud.kms.v1.KeyRing] in the format 683 // `projects/*/locations/*/keyRings/*`. 684 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 685 // Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing] was created. 686 CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 687} 688 689func (x *KeyRing) Reset() { 690 *x = KeyRing{} 691 if protoimpl.UnsafeEnabled { 692 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[0] 693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 694 ms.StoreMessageInfo(mi) 695 } 696} 697 698func (x *KeyRing) String() string { 699 return protoimpl.X.MessageStringOf(x) 700} 701 702func (*KeyRing) ProtoMessage() {} 703 704func (x *KeyRing) ProtoReflect() protoreflect.Message { 705 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[0] 706 if protoimpl.UnsafeEnabled && x != nil { 707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 708 if ms.LoadMessageInfo() == nil { 709 ms.StoreMessageInfo(mi) 710 } 711 return ms 712 } 713 return mi.MessageOf(x) 714} 715 716// Deprecated: Use KeyRing.ProtoReflect.Descriptor instead. 717func (*KeyRing) Descriptor() ([]byte, []int) { 718 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{0} 719} 720 721func (x *KeyRing) GetName() string { 722 if x != nil { 723 return x.Name 724 } 725 return "" 726} 727 728func (x *KeyRing) GetCreateTime() *timestamppb.Timestamp { 729 if x != nil { 730 return x.CreateTime 731 } 732 return nil 733} 734 735// A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic 736// operations. 737// 738// A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of zero or more [versions][google.cloud.kms.v1.CryptoKeyVersion], 739// which represent the actual key material used in cryptographic operations. 740type CryptoKey struct { 741 state protoimpl.MessageState 742 sizeCache protoimpl.SizeCache 743 unknownFields protoimpl.UnknownFields 744 745 // Output only. The resource name for this [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format 746 // `projects/*/locations/*/keyRings/*/cryptoKeys/*`. 747 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 748 // Output only. A copy of the "primary" [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 749 // by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this [CryptoKey][google.cloud.kms.v1.CryptoKey] is given 750 // in [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 751 // 752 // The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be updated via 753 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 754 // 755 // Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 756 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] may have a 757 // primary. For other keys, this field will be omitted. 758 Primary *CryptoKeyVersion `protobuf:"bytes,2,opt,name=primary,proto3" json:"primary,omitempty"` 759 // Immutable. The immutable purpose of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 760 Purpose CryptoKey_CryptoKeyPurpose `protobuf:"varint,3,opt,name=purpose,proto3,enum=google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose" json:"purpose,omitempty"` 761 // Output only. The time at which this [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 762 CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 763 // At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], the Key Management Service will automatically: 764 // 765 // 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 766 // 2. Mark the new version as primary. 767 // 768 // Key rotations performed manually via 769 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] and 770 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 771 // do not affect [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 772 // 773 // Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 774 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support 775 // automatic rotation. For other keys, this field must be omitted. 776 NextRotationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=next_rotation_time,json=nextRotationTime,proto3" json:"next_rotation_time,omitempty"` 777 // Controls the rate of automatic rotation. 778 // 779 // Types that are assignable to RotationSchedule: 780 // *CryptoKey_RotationPeriod 781 RotationSchedule isCryptoKey_RotationSchedule `protobuf_oneof:"rotation_schedule"` 782 // A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. 783 // The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either 784 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or 785 // auto-rotation are controlled by this template. 786 VersionTemplate *CryptoKeyVersionTemplate `protobuf:"bytes,11,opt,name=version_template,json=versionTemplate,proto3" json:"version_template,omitempty"` 787 // Labels with user-defined metadata. For more information, see 788 // [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 789 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 790 // Immutable. Whether this key may contain imported versions only. 791 ImportOnly bool `protobuf:"varint,13,opt,name=import_only,json=importOnly,proto3" json:"import_only,omitempty"` 792 // Immutable. The period of time that versions of this key spend in the 793 // [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] 794 // state before transitioning to 795 // [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. If not 796 // specified at creation time, the default duration is 24 hours. 797 DestroyScheduledDuration *durationpb.Duration `protobuf:"bytes,14,opt,name=destroy_scheduled_duration,json=destroyScheduledDuration,proto3" json:"destroy_scheduled_duration,omitempty"` 798} 799 800func (x *CryptoKey) Reset() { 801 *x = CryptoKey{} 802 if protoimpl.UnsafeEnabled { 803 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[1] 804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 805 ms.StoreMessageInfo(mi) 806 } 807} 808 809func (x *CryptoKey) String() string { 810 return protoimpl.X.MessageStringOf(x) 811} 812 813func (*CryptoKey) ProtoMessage() {} 814 815func (x *CryptoKey) ProtoReflect() protoreflect.Message { 816 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[1] 817 if protoimpl.UnsafeEnabled && x != nil { 818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 819 if ms.LoadMessageInfo() == nil { 820 ms.StoreMessageInfo(mi) 821 } 822 return ms 823 } 824 return mi.MessageOf(x) 825} 826 827// Deprecated: Use CryptoKey.ProtoReflect.Descriptor instead. 828func (*CryptoKey) Descriptor() ([]byte, []int) { 829 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{1} 830} 831 832func (x *CryptoKey) GetName() string { 833 if x != nil { 834 return x.Name 835 } 836 return "" 837} 838 839func (x *CryptoKey) GetPrimary() *CryptoKeyVersion { 840 if x != nil { 841 return x.Primary 842 } 843 return nil 844} 845 846func (x *CryptoKey) GetPurpose() CryptoKey_CryptoKeyPurpose { 847 if x != nil { 848 return x.Purpose 849 } 850 return CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED 851} 852 853func (x *CryptoKey) GetCreateTime() *timestamppb.Timestamp { 854 if x != nil { 855 return x.CreateTime 856 } 857 return nil 858} 859 860func (x *CryptoKey) GetNextRotationTime() *timestamppb.Timestamp { 861 if x != nil { 862 return x.NextRotationTime 863 } 864 return nil 865} 866 867func (m *CryptoKey) GetRotationSchedule() isCryptoKey_RotationSchedule { 868 if m != nil { 869 return m.RotationSchedule 870 } 871 return nil 872} 873 874func (x *CryptoKey) GetRotationPeriod() *durationpb.Duration { 875 if x, ok := x.GetRotationSchedule().(*CryptoKey_RotationPeriod); ok { 876 return x.RotationPeriod 877 } 878 return nil 879} 880 881func (x *CryptoKey) GetVersionTemplate() *CryptoKeyVersionTemplate { 882 if x != nil { 883 return x.VersionTemplate 884 } 885 return nil 886} 887 888func (x *CryptoKey) GetLabels() map[string]string { 889 if x != nil { 890 return x.Labels 891 } 892 return nil 893} 894 895func (x *CryptoKey) GetImportOnly() bool { 896 if x != nil { 897 return x.ImportOnly 898 } 899 return false 900} 901 902func (x *CryptoKey) GetDestroyScheduledDuration() *durationpb.Duration { 903 if x != nil { 904 return x.DestroyScheduledDuration 905 } 906 return nil 907} 908 909type isCryptoKey_RotationSchedule interface { 910 isCryptoKey_RotationSchedule() 911} 912 913type CryptoKey_RotationPeriod struct { 914 // [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] will be advanced by this period when the service 915 // automatically rotates a key. Must be at least 24 hours and at most 916 // 876,000 hours. 917 // 918 // If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is set, [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] must also be set. 919 // 920 // Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 921 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support 922 // automatic rotation. For other keys, this field must be omitted. 923 RotationPeriod *durationpb.Duration `protobuf:"bytes,8,opt,name=rotation_period,json=rotationPeriod,proto3,oneof"` 924} 925 926func (*CryptoKey_RotationPeriod) isCryptoKey_RotationSchedule() {} 927 928// A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating 929// a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with 930// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or 931// automatically as a result of auto-rotation. 932type CryptoKeyVersionTemplate struct { 933 state protoimpl.MessageState 934 sizeCache protoimpl.SizeCache 935 unknownFields protoimpl.UnknownFields 936 937 // [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on 938 // this template. Immutable. Defaults to [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE]. 939 ProtectionLevel ProtectionLevel `protobuf:"varint,1,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 940 // Required. [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] to use 941 // when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this template. 942 // 943 // For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both 944 // this field is omitted and [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is 945 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. 946 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,3,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 947} 948 949func (x *CryptoKeyVersionTemplate) Reset() { 950 *x = CryptoKeyVersionTemplate{} 951 if protoimpl.UnsafeEnabled { 952 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[2] 953 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 954 ms.StoreMessageInfo(mi) 955 } 956} 957 958func (x *CryptoKeyVersionTemplate) String() string { 959 return protoimpl.X.MessageStringOf(x) 960} 961 962func (*CryptoKeyVersionTemplate) ProtoMessage() {} 963 964func (x *CryptoKeyVersionTemplate) ProtoReflect() protoreflect.Message { 965 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[2] 966 if protoimpl.UnsafeEnabled && x != nil { 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 if ms.LoadMessageInfo() == nil { 969 ms.StoreMessageInfo(mi) 970 } 971 return ms 972 } 973 return mi.MessageOf(x) 974} 975 976// Deprecated: Use CryptoKeyVersionTemplate.ProtoReflect.Descriptor instead. 977func (*CryptoKeyVersionTemplate) Descriptor() ([]byte, []int) { 978 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{2} 979} 980 981func (x *CryptoKeyVersionTemplate) GetProtectionLevel() ProtectionLevel { 982 if x != nil { 983 return x.ProtectionLevel 984 } 985 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 986} 987 988func (x *CryptoKeyVersionTemplate) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 989 if x != nil { 990 return x.Algorithm 991 } 992 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 993} 994 995// Contains an HSM-generated attestation about a key operation. For more 996// information, see [Verifying attestations] 997// (https://cloud.google.com/kms/docs/attest-key). 998type KeyOperationAttestation struct { 999 state protoimpl.MessageState 1000 sizeCache protoimpl.SizeCache 1001 unknownFields protoimpl.UnknownFields 1002 1003 // Output only. The format of the attestation data. 1004 Format KeyOperationAttestation_AttestationFormat `protobuf:"varint,4,opt,name=format,proto3,enum=google.cloud.kms.v1.KeyOperationAttestation_AttestationFormat" json:"format,omitempty"` 1005 // Output only. The attestation data provided by the HSM when the key 1006 // operation was performed. 1007 Content []byte `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` 1008} 1009 1010func (x *KeyOperationAttestation) Reset() { 1011 *x = KeyOperationAttestation{} 1012 if protoimpl.UnsafeEnabled { 1013 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[3] 1014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1015 ms.StoreMessageInfo(mi) 1016 } 1017} 1018 1019func (x *KeyOperationAttestation) String() string { 1020 return protoimpl.X.MessageStringOf(x) 1021} 1022 1023func (*KeyOperationAttestation) ProtoMessage() {} 1024 1025func (x *KeyOperationAttestation) ProtoReflect() protoreflect.Message { 1026 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[3] 1027 if protoimpl.UnsafeEnabled && x != nil { 1028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1029 if ms.LoadMessageInfo() == nil { 1030 ms.StoreMessageInfo(mi) 1031 } 1032 return ms 1033 } 1034 return mi.MessageOf(x) 1035} 1036 1037// Deprecated: Use KeyOperationAttestation.ProtoReflect.Descriptor instead. 1038func (*KeyOperationAttestation) Descriptor() ([]byte, []int) { 1039 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{3} 1040} 1041 1042func (x *KeyOperationAttestation) GetFormat() KeyOperationAttestation_AttestationFormat { 1043 if x != nil { 1044 return x.Format 1045 } 1046 return KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED 1047} 1048 1049func (x *KeyOperationAttestation) GetContent() []byte { 1050 if x != nil { 1051 return x.Content 1052 } 1053 return nil 1054} 1055 1056// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the 1057// associated key material. 1058// 1059// An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be 1060// used for cryptographic operations. 1061// 1062// For security reasons, the raw cryptographic key material represented by a 1063// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to 1064// encrypt, decrypt, or sign data when an authorized user or application invokes 1065// Cloud KMS. 1066type CryptoKeyVersion struct { 1067 state protoimpl.MessageState 1068 sizeCache protoimpl.SizeCache 1069 unknownFields protoimpl.UnknownFields 1070 1071 // Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format 1072 // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. 1073 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1074 // The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. 1075 State CryptoKeyVersion_CryptoKeyVersionState `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState" json:"state,omitempty"` 1076 // Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] describing how crypto operations are 1077 // performed with this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. 1078 ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 1079 // Output only. The [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] that this 1080 // [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] supports. 1081 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,10,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 1082 // Output only. Statement that was generated and signed by the HSM at key 1083 // creation time. Use this statement to verify attributes of the key as stored 1084 // on the HSM, independently of Google. Only provided for key versions with 1085 // [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level] [HSM][google.cloud.kms.v1.ProtectionLevel.HSM]. 1086 Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"` 1087 // Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created. 1088 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1089 // Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was 1090 // generated. 1091 GenerateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"` 1092 // Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled 1093 // for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 1094 // [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]. 1095 DestroyTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=destroy_time,json=destroyTime,proto3" json:"destroy_time,omitempty"` 1096 // Output only. The time this CryptoKeyVersion's key material was 1097 // destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 1098 // [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 1099 DestroyEventTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=destroy_event_time,json=destroyEventTime,proto3" json:"destroy_event_time,omitempty"` 1100 // Output only. The name of the [ImportJob][google.cloud.kms.v1.ImportJob] used in the most recent import of this 1101 // [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only present if the underlying key material was 1102 // imported. 1103 ImportJob string `protobuf:"bytes,14,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"` 1104 // Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material 1105 // was most recently imported. 1106 ImportTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=import_time,json=importTime,proto3" json:"import_time,omitempty"` 1107 // Output only. The root cause of the most recent import failure. Only present if 1108 // [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 1109 // [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]. 1110 ImportFailureReason string `protobuf:"bytes,16,opt,name=import_failure_reason,json=importFailureReason,proto3" json:"import_failure_reason,omitempty"` 1111 // ExternalProtectionLevelOptions stores a group of additional fields for 1112 // configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the 1113 // [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level. 1114 ExternalProtectionLevelOptions *ExternalProtectionLevelOptions `protobuf:"bytes,17,opt,name=external_protection_level_options,json=externalProtectionLevelOptions,proto3" json:"external_protection_level_options,omitempty"` 1115 // Output only. Whether or not this key version is eligible for reimport, by being 1116 // specified as a target in 1117 // [ImportCryptoKeyVersionRequest.crypto_key_version][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.crypto_key_version]. 1118 ReimportEligible bool `protobuf:"varint,18,opt,name=reimport_eligible,json=reimportEligible,proto3" json:"reimport_eligible,omitempty"` 1119} 1120 1121func (x *CryptoKeyVersion) Reset() { 1122 *x = CryptoKeyVersion{} 1123 if protoimpl.UnsafeEnabled { 1124 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[4] 1125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1126 ms.StoreMessageInfo(mi) 1127 } 1128} 1129 1130func (x *CryptoKeyVersion) String() string { 1131 return protoimpl.X.MessageStringOf(x) 1132} 1133 1134func (*CryptoKeyVersion) ProtoMessage() {} 1135 1136func (x *CryptoKeyVersion) ProtoReflect() protoreflect.Message { 1137 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[4] 1138 if protoimpl.UnsafeEnabled && x != nil { 1139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1140 if ms.LoadMessageInfo() == nil { 1141 ms.StoreMessageInfo(mi) 1142 } 1143 return ms 1144 } 1145 return mi.MessageOf(x) 1146} 1147 1148// Deprecated: Use CryptoKeyVersion.ProtoReflect.Descriptor instead. 1149func (*CryptoKeyVersion) Descriptor() ([]byte, []int) { 1150 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{4} 1151} 1152 1153func (x *CryptoKeyVersion) GetName() string { 1154 if x != nil { 1155 return x.Name 1156 } 1157 return "" 1158} 1159 1160func (x *CryptoKeyVersion) GetState() CryptoKeyVersion_CryptoKeyVersionState { 1161 if x != nil { 1162 return x.State 1163 } 1164 return CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED 1165} 1166 1167func (x *CryptoKeyVersion) GetProtectionLevel() ProtectionLevel { 1168 if x != nil { 1169 return x.ProtectionLevel 1170 } 1171 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 1172} 1173 1174func (x *CryptoKeyVersion) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 1175 if x != nil { 1176 return x.Algorithm 1177 } 1178 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 1179} 1180 1181func (x *CryptoKeyVersion) GetAttestation() *KeyOperationAttestation { 1182 if x != nil { 1183 return x.Attestation 1184 } 1185 return nil 1186} 1187 1188func (x *CryptoKeyVersion) GetCreateTime() *timestamppb.Timestamp { 1189 if x != nil { 1190 return x.CreateTime 1191 } 1192 return nil 1193} 1194 1195func (x *CryptoKeyVersion) GetGenerateTime() *timestamppb.Timestamp { 1196 if x != nil { 1197 return x.GenerateTime 1198 } 1199 return nil 1200} 1201 1202func (x *CryptoKeyVersion) GetDestroyTime() *timestamppb.Timestamp { 1203 if x != nil { 1204 return x.DestroyTime 1205 } 1206 return nil 1207} 1208 1209func (x *CryptoKeyVersion) GetDestroyEventTime() *timestamppb.Timestamp { 1210 if x != nil { 1211 return x.DestroyEventTime 1212 } 1213 return nil 1214} 1215 1216func (x *CryptoKeyVersion) GetImportJob() string { 1217 if x != nil { 1218 return x.ImportJob 1219 } 1220 return "" 1221} 1222 1223func (x *CryptoKeyVersion) GetImportTime() *timestamppb.Timestamp { 1224 if x != nil { 1225 return x.ImportTime 1226 } 1227 return nil 1228} 1229 1230func (x *CryptoKeyVersion) GetImportFailureReason() string { 1231 if x != nil { 1232 return x.ImportFailureReason 1233 } 1234 return "" 1235} 1236 1237func (x *CryptoKeyVersion) GetExternalProtectionLevelOptions() *ExternalProtectionLevelOptions { 1238 if x != nil { 1239 return x.ExternalProtectionLevelOptions 1240 } 1241 return nil 1242} 1243 1244func (x *CryptoKeyVersion) GetReimportEligible() bool { 1245 if x != nil { 1246 return x.ReimportEligible 1247 } 1248 return false 1249} 1250 1251// The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via 1252// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 1253type PublicKey struct { 1254 state protoimpl.MessageState 1255 sizeCache protoimpl.SizeCache 1256 unknownFields protoimpl.UnknownFields 1257 1258 // The public key, encoded in PEM format. For more information, see the 1259 // [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for 1260 // [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and 1261 // [Textual Encoding of Subject Public Key Info] 1262 // (https://tools.ietf.org/html/rfc7468#section-13). 1263 Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"` 1264 // The [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] associated 1265 // with this key. 1266 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 1267 // Integrity verification field. A CRC32C checksum of the returned 1268 // [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem]. An integrity check of [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] can be performed 1269 // by computing the CRC32C checksum of [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] and 1270 // comparing your results to this field. Discard the response in case of 1271 // non-matching checksum values, and perform a limited number of retries. A 1272 // persistent mismatch may indicate an issue in your computation of the CRC32C 1273 // checksum. 1274 // Note: This field is defined as int64 for reasons of compatibility across 1275 // different languages. However, it is a non-negative integer, which will 1276 // never exceed 2^32-1, and can be safely downconverted to uint32 in languages 1277 // that support this type. 1278 // 1279 // NOTE: This field is in Beta. 1280 PemCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=pem_crc32c,json=pemCrc32c,proto3" json:"pem_crc32c,omitempty"` 1281 // The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key. 1282 // Provided here for verification. 1283 // 1284 // NOTE: This field is in Beta. 1285 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` 1286 // The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key. 1287 ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 1288} 1289 1290func (x *PublicKey) Reset() { 1291 *x = PublicKey{} 1292 if protoimpl.UnsafeEnabled { 1293 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[5] 1294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1295 ms.StoreMessageInfo(mi) 1296 } 1297} 1298 1299func (x *PublicKey) String() string { 1300 return protoimpl.X.MessageStringOf(x) 1301} 1302 1303func (*PublicKey) ProtoMessage() {} 1304 1305func (x *PublicKey) ProtoReflect() protoreflect.Message { 1306 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[5] 1307 if protoimpl.UnsafeEnabled && x != nil { 1308 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1309 if ms.LoadMessageInfo() == nil { 1310 ms.StoreMessageInfo(mi) 1311 } 1312 return ms 1313 } 1314 return mi.MessageOf(x) 1315} 1316 1317// Deprecated: Use PublicKey.ProtoReflect.Descriptor instead. 1318func (*PublicKey) Descriptor() ([]byte, []int) { 1319 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{5} 1320} 1321 1322func (x *PublicKey) GetPem() string { 1323 if x != nil { 1324 return x.Pem 1325 } 1326 return "" 1327} 1328 1329func (x *PublicKey) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 1330 if x != nil { 1331 return x.Algorithm 1332 } 1333 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 1334} 1335 1336func (x *PublicKey) GetPemCrc32C() *wrapperspb.Int64Value { 1337 if x != nil { 1338 return x.PemCrc32C 1339 } 1340 return nil 1341} 1342 1343func (x *PublicKey) GetName() string { 1344 if x != nil { 1345 return x.Name 1346 } 1347 return "" 1348} 1349 1350func (x *PublicKey) GetProtectionLevel() ProtectionLevel { 1351 if x != nil { 1352 return x.ProtectionLevel 1353 } 1354 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 1355} 1356 1357// An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and 1358// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, 1359// generated outside of Cloud KMS. 1360// 1361// When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will generate a "wrapping key", 1362// which is a public/private key pair. You use the wrapping key to encrypt (also 1363// known as wrap) the pre-existing key material to protect it during the import 1364// process. The nature of the wrapping key depends on the choice of 1365// [import_method][google.cloud.kms.v1.ImportJob.import_method]. When the wrapping key generation 1366// is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to 1367// [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the [public_key][google.cloud.kms.v1.ImportJob.public_key] 1368// can be fetched. The fetched public key can then be used to wrap your 1369// pre-existing key material. 1370// 1371// Once the key material is wrapped, it can be imported into a new 1372// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling 1373// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. 1374// Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be imported with a single 1375// [ImportJob][google.cloud.kms.v1.ImportJob]. Cloud KMS uses the private key portion of the wrapping key to 1376// unwrap the key material. Only Cloud KMS has access to the private key. 1377// 1378// An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS 1379// will no longer be able to import or unwrap any key material that was wrapped 1380// with the [ImportJob][google.cloud.kms.v1.ImportJob]'s public key. 1381// 1382// For more information, see 1383// [Importing a key](https://cloud.google.com/kms/docs/importing-a-key). 1384type ImportJob struct { 1385 state protoimpl.MessageState 1386 sizeCache protoimpl.SizeCache 1387 unknownFields protoimpl.UnknownFields 1388 1389 // Output only. The resource name for this [ImportJob][google.cloud.kms.v1.ImportJob] in the format 1390 // `projects/*/locations/*/keyRings/*/importJobs/*`. 1391 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1392 // Required. Immutable. The wrapping method to be used for incoming key material. 1393 ImportMethod ImportJob_ImportMethod `protobuf:"varint,2,opt,name=import_method,json=importMethod,proto3,enum=google.cloud.kms.v1.ImportJob_ImportMethod" json:"import_method,omitempty"` 1394 // Required. Immutable. The protection level of the [ImportJob][google.cloud.kms.v1.ImportJob]. This must match the 1395 // [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] of the 1396 // [version_template][google.cloud.kms.v1.CryptoKey.version_template] on the [CryptoKey][google.cloud.kms.v1.CryptoKey] you 1397 // attempt to import into. 1398 ProtectionLevel ProtectionLevel `protobuf:"varint,9,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 1399 // Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] was created. 1400 CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1401 // Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]'s key material was generated. 1402 GenerateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"` 1403 // Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] is scheduled for 1404 // expiration and can no longer be used to import key material. 1405 ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` 1406 // Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob] expired. Only present if 1407 // [state][google.cloud.kms.v1.ImportJob.state] is [EXPIRED][google.cloud.kms.v1.ImportJob.ImportJobState.EXPIRED]. 1408 ExpireEventTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expire_event_time,json=expireEventTime,proto3" json:"expire_event_time,omitempty"` 1409 // Output only. The current state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can 1410 // be used. 1411 State ImportJob_ImportJobState `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.kms.v1.ImportJob_ImportJobState" json:"state,omitempty"` 1412 // Output only. The public key with which to wrap key material prior to 1413 // import. Only returned if [state][google.cloud.kms.v1.ImportJob.state] is 1414 // [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE]. 1415 PublicKey *ImportJob_WrappingPublicKey `protobuf:"bytes,7,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1416 // Output only. Statement that was generated and signed by the key creator 1417 // (for example, an HSM) at key creation time. Use this statement to verify 1418 // attributes of the key as stored on the HSM, independently of Google. 1419 // Only present if the chosen [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] is one with a protection 1420 // level of [HSM][google.cloud.kms.v1.ProtectionLevel.HSM]. 1421 Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"` 1422} 1423 1424func (x *ImportJob) Reset() { 1425 *x = ImportJob{} 1426 if protoimpl.UnsafeEnabled { 1427 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[6] 1428 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1429 ms.StoreMessageInfo(mi) 1430 } 1431} 1432 1433func (x *ImportJob) String() string { 1434 return protoimpl.X.MessageStringOf(x) 1435} 1436 1437func (*ImportJob) ProtoMessage() {} 1438 1439func (x *ImportJob) ProtoReflect() protoreflect.Message { 1440 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[6] 1441 if protoimpl.UnsafeEnabled && x != nil { 1442 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1443 if ms.LoadMessageInfo() == nil { 1444 ms.StoreMessageInfo(mi) 1445 } 1446 return ms 1447 } 1448 return mi.MessageOf(x) 1449} 1450 1451// Deprecated: Use ImportJob.ProtoReflect.Descriptor instead. 1452func (*ImportJob) Descriptor() ([]byte, []int) { 1453 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{6} 1454} 1455 1456func (x *ImportJob) GetName() string { 1457 if x != nil { 1458 return x.Name 1459 } 1460 return "" 1461} 1462 1463func (x *ImportJob) GetImportMethod() ImportJob_ImportMethod { 1464 if x != nil { 1465 return x.ImportMethod 1466 } 1467 return ImportJob_IMPORT_METHOD_UNSPECIFIED 1468} 1469 1470func (x *ImportJob) GetProtectionLevel() ProtectionLevel { 1471 if x != nil { 1472 return x.ProtectionLevel 1473 } 1474 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 1475} 1476 1477func (x *ImportJob) GetCreateTime() *timestamppb.Timestamp { 1478 if x != nil { 1479 return x.CreateTime 1480 } 1481 return nil 1482} 1483 1484func (x *ImportJob) GetGenerateTime() *timestamppb.Timestamp { 1485 if x != nil { 1486 return x.GenerateTime 1487 } 1488 return nil 1489} 1490 1491func (x *ImportJob) GetExpireTime() *timestamppb.Timestamp { 1492 if x != nil { 1493 return x.ExpireTime 1494 } 1495 return nil 1496} 1497 1498func (x *ImportJob) GetExpireEventTime() *timestamppb.Timestamp { 1499 if x != nil { 1500 return x.ExpireEventTime 1501 } 1502 return nil 1503} 1504 1505func (x *ImportJob) GetState() ImportJob_ImportJobState { 1506 if x != nil { 1507 return x.State 1508 } 1509 return ImportJob_IMPORT_JOB_STATE_UNSPECIFIED 1510} 1511 1512func (x *ImportJob) GetPublicKey() *ImportJob_WrappingPublicKey { 1513 if x != nil { 1514 return x.PublicKey 1515 } 1516 return nil 1517} 1518 1519func (x *ImportJob) GetAttestation() *KeyOperationAttestation { 1520 if x != nil { 1521 return x.Attestation 1522 } 1523 return nil 1524} 1525 1526// ExternalProtectionLevelOptions stores a group of additional fields for 1527// configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the 1528// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level. 1529type ExternalProtectionLevelOptions struct { 1530 state protoimpl.MessageState 1531 sizeCache protoimpl.SizeCache 1532 unknownFields protoimpl.UnknownFields 1533 1534 // The URI for an external resource that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents. 1535 ExternalKeyUri string `protobuf:"bytes,1,opt,name=external_key_uri,json=externalKeyUri,proto3" json:"external_key_uri,omitempty"` 1536} 1537 1538func (x *ExternalProtectionLevelOptions) Reset() { 1539 *x = ExternalProtectionLevelOptions{} 1540 if protoimpl.UnsafeEnabled { 1541 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[7] 1542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1543 ms.StoreMessageInfo(mi) 1544 } 1545} 1546 1547func (x *ExternalProtectionLevelOptions) String() string { 1548 return protoimpl.X.MessageStringOf(x) 1549} 1550 1551func (*ExternalProtectionLevelOptions) ProtoMessage() {} 1552 1553func (x *ExternalProtectionLevelOptions) ProtoReflect() protoreflect.Message { 1554 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[7] 1555 if protoimpl.UnsafeEnabled && x != nil { 1556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1557 if ms.LoadMessageInfo() == nil { 1558 ms.StoreMessageInfo(mi) 1559 } 1560 return ms 1561 } 1562 return mi.MessageOf(x) 1563} 1564 1565// Deprecated: Use ExternalProtectionLevelOptions.ProtoReflect.Descriptor instead. 1566func (*ExternalProtectionLevelOptions) Descriptor() ([]byte, []int) { 1567 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{7} 1568} 1569 1570func (x *ExternalProtectionLevelOptions) GetExternalKeyUri() string { 1571 if x != nil { 1572 return x.ExternalKeyUri 1573 } 1574 return "" 1575} 1576 1577// The public key component of the wrapping key. For details of the type of 1578// key this public key corresponds to, see the [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod]. 1579type ImportJob_WrappingPublicKey struct { 1580 state protoimpl.MessageState 1581 sizeCache protoimpl.SizeCache 1582 unknownFields protoimpl.UnknownFields 1583 1584 // The public key, encoded in PEM format. For more information, see the [RFC 1585 // 7468](https://tools.ietf.org/html/rfc7468) sections for [General 1586 // Considerations](https://tools.ietf.org/html/rfc7468#section-2) and 1587 // [Textual Encoding of Subject Public Key Info] 1588 // (https://tools.ietf.org/html/rfc7468#section-13). 1589 Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"` 1590} 1591 1592func (x *ImportJob_WrappingPublicKey) Reset() { 1593 *x = ImportJob_WrappingPublicKey{} 1594 if protoimpl.UnsafeEnabled { 1595 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[9] 1596 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1597 ms.StoreMessageInfo(mi) 1598 } 1599} 1600 1601func (x *ImportJob_WrappingPublicKey) String() string { 1602 return protoimpl.X.MessageStringOf(x) 1603} 1604 1605func (*ImportJob_WrappingPublicKey) ProtoMessage() {} 1606 1607func (x *ImportJob_WrappingPublicKey) ProtoReflect() protoreflect.Message { 1608 mi := &file_google_cloud_kms_v1_resources_proto_msgTypes[9] 1609 if protoimpl.UnsafeEnabled && x != nil { 1610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1611 if ms.LoadMessageInfo() == nil { 1612 ms.StoreMessageInfo(mi) 1613 } 1614 return ms 1615 } 1616 return mi.MessageOf(x) 1617} 1618 1619// Deprecated: Use ImportJob_WrappingPublicKey.ProtoReflect.Descriptor instead. 1620func (*ImportJob_WrappingPublicKey) Descriptor() ([]byte, []int) { 1621 return file_google_cloud_kms_v1_resources_proto_rawDescGZIP(), []int{6, 0} 1622} 1623 1624func (x *ImportJob_WrappingPublicKey) GetPem() string { 1625 if x != nil { 1626 return x.Pem 1627 } 1628 return "" 1629} 1630 1631var File_google_cloud_kms_v1_resources_proto protoreflect.FileDescriptor 1632 1633var file_google_cloud_kms_v1_resources_proto_rawDesc = []byte{ 1634 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 1635 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 1636 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1637 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 1638 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 1639 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 1640 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1641 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 1642 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1643 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 1644 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 1645 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1646 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 1647 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1648 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 1649 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 1650 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1651 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 1652 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1653 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1654 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 1655 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x61, 0xea, 0x41, 1656 0x5e, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1657 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x69, 1658 0x6e, 0x67, 0x12, 0x3b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 1659 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1660 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 1661 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x22, 1662 0xff, 0x07, 0x0a, 0x09, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 1663 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 1664 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 1665 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1666 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 1667 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 1668 0xe0, 0x41, 0x03, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x07, 1669 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 1670 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 1671 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x2e, 0x43, 0x72, 1672 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x03, 1673 0xe0, 0x41, 0x05, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 1674 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 1675 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1676 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 1677 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 1678 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 1679 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 1680 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 1681 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x6f, 0x74, 0x61, 1682 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0f, 0x72, 0x6f, 0x74, 0x61, 1683 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 1684 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1685 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 1686 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x58, 1687 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 1688 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1689 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 1690 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 1691 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1692 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 1693 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1694 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 1695 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 1696 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0b, 1697 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 1698 0x08, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x6e, 1699 0x6c, 0x79, 0x12, 0x5c, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x73, 0x63, 1700 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1701 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1702 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 1703 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x53, 1704 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1705 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 1706 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 1707 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 1708 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x01, 0x0a, 0x10, 1709 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 1710 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x4f, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 1711 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 1712 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 1713 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x53, 0x59, 1714 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x05, 0x12, 0x16, 1715 0x0a, 0x12, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x43, 1716 0x52, 0x59, 0x50, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x43, 0x10, 0x09, 0x3a, 1717 0x7b, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 1718 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 1719 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1720 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 1721 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 1722 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 1723 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 1724 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x42, 0x13, 0x0a, 0x11, 1725 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 1726 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 1727 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x4f, 1728 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 1729 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1730 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 1731 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 1732 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 1733 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 1734 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1735 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 1736 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 1737 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 1738 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 1739 0x74, 0x68, 0x6d, 0x22, 0x82, 0x02, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 1740 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 1741 0x5b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 1742 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 1743 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1744 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x74, 1745 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 1746 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x07, 1747 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 1748 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x6b, 0x0a, 0x11, 0x41, 1749 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 1750 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 1751 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 1752 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x56, 0x49, 0x55, 0x4d, 0x5f, 0x56, 1753 0x31, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x18, 1754 0x0a, 0x14, 0x43, 0x41, 0x56, 0x49, 0x55, 0x4d, 0x5f, 0x56, 0x32, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 1755 0x52, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10, 0x04, 0x22, 0xdd, 0x11, 0x0a, 0x10, 0x43, 0x72, 0x79, 1756 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 1757 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 1758 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 1759 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1760 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 1761 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 1762 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 1763 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x70, 0x72, 0x6f, 1764 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 1765 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1766 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 1767 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 1768 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 1769 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x0a, 0x20, 0x01, 1770 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1771 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 1772 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 1773 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 1774 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 1775 0x74, 0x68, 0x6d, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 1776 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1777 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 1778 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 1779 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 1780 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 1781 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 1782 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1783 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 1784 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x67, 0x65, 1785 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 1786 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1787 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 1788 0x41, 0x03, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 1789 0x12, 0x42, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 1790 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1791 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 1792 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 1793 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 1794 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 1795 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1796 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 1797 0x03, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 1798 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 1799 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x69, 0x6d, 1800 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x40, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 1801 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1802 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1803 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x69, 1804 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6d, 0x70, 1805 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 1806 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x69, 1807 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 1808 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x21, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 1809 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 1810 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 1811 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 1812 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 1813 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 1814 0x6e, 0x73, 0x52, 0x1e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 1815 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 1816 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x72, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 1817 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 1818 0x41, 0x03, 0x52, 0x10, 0x72, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6c, 0x69, 0x67, 1819 0x69, 0x62, 0x6c, 0x65, 0x22, 0xa5, 0x06, 0x0a, 0x19, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 1820 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 1821 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x52, 0x59, 0x50, 0x54, 0x4f, 0x5f, 0x4b, 0x45, 0x59, 1822 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 1823 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 1824 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x59, 0x4d, 0x4d, 0x45, 1825 0x54, 0x52, 0x49, 0x43, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 1826 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x53, 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x53, 1827 0x53, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x02, 0x12, 1828 0x1c, 0x0a, 0x18, 0x52, 0x53, 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x53, 0x53, 0x5f, 1829 0x33, 0x30, 0x37, 0x32, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x03, 0x12, 0x1c, 0x0a, 1830 0x18, 0x52, 0x53, 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x53, 0x53, 0x5f, 0x34, 0x30, 1831 0x39, 0x36, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x52, 1832 0x53, 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x53, 0x53, 0x5f, 0x34, 0x30, 0x39, 0x36, 1833 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31, 0x32, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 1834 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x32, 0x30, 0x34, 0x38, 1835 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 1836 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x33, 0x30, 0x37, 0x32, 1837 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 1838 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x34, 0x30, 0x39, 0x36, 1839 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 1840 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x34, 0x30, 0x39, 0x36, 1841 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31, 0x32, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x53, 0x41, 1842 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x52, 0x41, 0x57, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 1843 0x32, 0x30, 0x34, 0x38, 0x10, 0x1c, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x53, 0x41, 0x5f, 0x53, 0x49, 1844 0x47, 0x4e, 0x5f, 0x52, 0x41, 0x57, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x33, 0x30, 0x37, 1845 0x32, 0x10, 0x1d, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x53, 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 1846 0x52, 0x41, 0x57, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x10, 0x1e, 1847 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 1848 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 1849 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 1850 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x33, 0x30, 0x37, 0x32, 0x5f, 0x53, 0x48, 0x41, 0x32, 1851 0x35, 0x36, 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x52, 1852 0x59, 0x50, 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x5f, 0x53, 0x48, 1853 0x41, 0x32, 0x35, 0x36, 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x53, 0x41, 0x5f, 0x44, 0x45, 1854 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x5f, 1855 0x53, 0x48, 0x41, 0x35, 0x31, 0x32, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 0x5f, 1856 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x32, 0x30, 0x34, 1857 0x38, 0x5f, 0x53, 0x48, 0x41, 0x31, 0x10, 0x25, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 0x5f, 1858 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x33, 0x30, 0x37, 1859 0x32, 0x5f, 0x53, 0x48, 0x41, 0x31, 0x10, 0x26, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 0x5f, 1860 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4f, 0x41, 0x45, 0x50, 0x5f, 0x34, 0x30, 0x39, 1861 0x36, 0x5f, 0x53, 0x48, 0x41, 0x31, 0x10, 0x27, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x43, 0x5f, 0x53, 1862 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x32, 0x35, 0x36, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 1863 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x43, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x33, 0x38, 1864 0x34, 0x5f, 0x53, 0x48, 0x41, 0x33, 0x38, 0x34, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x43, 1865 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x32, 0x35, 0x36, 0x4b, 0x31, 0x5f, 1866 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x1f, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x4d, 0x41, 0x43, 1867 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x20, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x58, 0x54, 1868 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 1869 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x12, 0x22, 0xc1, 0x01, 0x0a, 1870 0x15, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 1871 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x52, 0x59, 0x50, 0x54, 0x4f, 1872 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 1873 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 1874 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x45, 0x4e, 0x45, 1875 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 1876 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 1877 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 1878 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x53, 0x43, 1879 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x45, 0x4e, 1880 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x06, 0x12, 0x11, 0x0a, 1881 0x0d, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 1882 0x22, 0x49, 0x0a, 0x14, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 1883 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x52, 0x59, 0x50, 1884 0x54, 0x4f, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 1885 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 1886 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x3a, 0xaa, 0x01, 0xea, 0x41, 1887 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 1888 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 1889 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 0x70, 0x72, 1890 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 1891 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 1892 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 1893 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 1894 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 1895 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 1896 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 1897 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0xce, 0x03, 0x0a, 0x09, 0x50, 0x75, 0x62, 1898 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, 1899 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x65, 0x6d, 0x12, 0x5d, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 1900 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 1901 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 1902 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 1903 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 1904 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x09, 0x61, 0x6c, 1905 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x65, 0x6d, 0x5f, 0x63, 1906 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 1907 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 1908 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x65, 0x6d, 0x43, 0x72, 0x63, 1909 0x33, 0x32, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 1910 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 1911 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 1912 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1913 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 1914 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 1915 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0xae, 0x01, 0xea, 0x41, 0xaa, 0x01, 0x0a, 1916 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1917 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 1918 0x65, 0x79, 0x12, 0x84, 0x01, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 1919 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1920 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 1921 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 1922 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 1923 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 1924 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 1925 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 1926 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0xdb, 0x08, 0x0a, 0x09, 0x49, 0x6d, 1927 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1928 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1929 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 1930 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1931 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 1932 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 1933 0x74, 0x68, 0x6f, 0x64, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0c, 0x69, 0x6d, 1934 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 1935 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 1936 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1937 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 1938 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 1939 0x41, 0x05, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 1940 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 1941 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1942 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 1943 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 1944 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 1945 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1946 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1947 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x67, 1948 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 1949 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 1950 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1951 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 1952 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 1953 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 1954 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1955 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 1956 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 1957 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 1958 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1959 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 1960 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 1961 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 1962 0x74, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 1963 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1964 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 1965 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 1966 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 1967 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x74, 1968 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 1969 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 1970 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1971 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 1972 0x41, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 1973 0x25, 0x0a, 0x11, 0x57, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 1974 0x63, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 1975 0x09, 0x52, 0x03, 0x70, 0x65, 0x6d, 0x22, 0x6d, 0x0a, 0x0c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 1976 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 1977 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 1978 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 0x5f, 0x4f, 0x41, 0x45, 1979 0x50, 0x5f, 0x33, 0x30, 0x37, 0x32, 0x5f, 0x53, 0x48, 0x41, 0x31, 0x5f, 0x41, 0x45, 0x53, 0x5f, 1980 0x32, 0x35, 0x36, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x53, 0x41, 0x5f, 0x4f, 0x41, 0x45, 1981 0x50, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x5f, 0x53, 0x48, 0x41, 0x31, 0x5f, 0x41, 0x45, 0x53, 0x5f, 1982 0x32, 0x35, 0x36, 0x10, 0x02, 0x22, 0x63, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 1983 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4d, 0x50, 0x4f, 0x52, 1984 0x54, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1985 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x4e, 1986 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 1987 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 1988 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x3a, 0x7b, 0xea, 0x41, 0x78, 0x0a, 1989 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1990 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 1991 0x6f, 0x62, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 1992 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1993 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 1994 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 1995 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x70, 0x6f, 1996 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x4a, 0x0a, 0x1e, 0x45, 0x78, 0x74, 0x65, 0x72, 1997 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 1998 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 1999 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 2000 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4b, 0x65, 0x79, 2001 0x55, 0x72, 0x69, 0x2a, 0x58, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 2002 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 2003 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 2004 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4f, 0x46, 0x54, 2005 0x57, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x53, 0x4d, 0x10, 0x02, 0x12, 2006 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x42, 0x95, 0x01, 2007 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2008 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4b, 0x6d, 0x73, 0x52, 0x65, 2009 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 2010 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 2011 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2012 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 2013 0x76, 0x31, 0x3b, 0x6b, 0x6d, 0x73, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 2014 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4b, 0x6d, 0x73, 0x2e, 0x56, 0x31, 0xca, 2015 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4b, 2016 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2017} 2018 2019var ( 2020 file_google_cloud_kms_v1_resources_proto_rawDescOnce sync.Once 2021 file_google_cloud_kms_v1_resources_proto_rawDescData = file_google_cloud_kms_v1_resources_proto_rawDesc 2022) 2023 2024func file_google_cloud_kms_v1_resources_proto_rawDescGZIP() []byte { 2025 file_google_cloud_kms_v1_resources_proto_rawDescOnce.Do(func() { 2026 file_google_cloud_kms_v1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_v1_resources_proto_rawDescData) 2027 }) 2028 return file_google_cloud_kms_v1_resources_proto_rawDescData 2029} 2030 2031var file_google_cloud_kms_v1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 8) 2032var file_google_cloud_kms_v1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 2033var file_google_cloud_kms_v1_resources_proto_goTypes = []interface{}{ 2034 (ProtectionLevel)(0), // 0: google.cloud.kms.v1.ProtectionLevel 2035 (CryptoKey_CryptoKeyPurpose)(0), // 1: google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose 2036 (KeyOperationAttestation_AttestationFormat)(0), // 2: google.cloud.kms.v1.KeyOperationAttestation.AttestationFormat 2037 (CryptoKeyVersion_CryptoKeyVersionAlgorithm)(0), // 3: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm 2038 (CryptoKeyVersion_CryptoKeyVersionState)(0), // 4: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState 2039 (CryptoKeyVersion_CryptoKeyVersionView)(0), // 5: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView 2040 (ImportJob_ImportMethod)(0), // 6: google.cloud.kms.v1.ImportJob.ImportMethod 2041 (ImportJob_ImportJobState)(0), // 7: google.cloud.kms.v1.ImportJob.ImportJobState 2042 (*KeyRing)(nil), // 8: google.cloud.kms.v1.KeyRing 2043 (*CryptoKey)(nil), // 9: google.cloud.kms.v1.CryptoKey 2044 (*CryptoKeyVersionTemplate)(nil), // 10: google.cloud.kms.v1.CryptoKeyVersionTemplate 2045 (*KeyOperationAttestation)(nil), // 11: google.cloud.kms.v1.KeyOperationAttestation 2046 (*CryptoKeyVersion)(nil), // 12: google.cloud.kms.v1.CryptoKeyVersion 2047 (*PublicKey)(nil), // 13: google.cloud.kms.v1.PublicKey 2048 (*ImportJob)(nil), // 14: google.cloud.kms.v1.ImportJob 2049 (*ExternalProtectionLevelOptions)(nil), // 15: google.cloud.kms.v1.ExternalProtectionLevelOptions 2050 nil, // 16: google.cloud.kms.v1.CryptoKey.LabelsEntry 2051 (*ImportJob_WrappingPublicKey)(nil), // 17: google.cloud.kms.v1.ImportJob.WrappingPublicKey 2052 (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp 2053 (*durationpb.Duration)(nil), // 19: google.protobuf.Duration 2054 (*wrapperspb.Int64Value)(nil), // 20: google.protobuf.Int64Value 2055} 2056var file_google_cloud_kms_v1_resources_proto_depIdxs = []int32{ 2057 18, // 0: google.cloud.kms.v1.KeyRing.create_time:type_name -> google.protobuf.Timestamp 2058 12, // 1: google.cloud.kms.v1.CryptoKey.primary:type_name -> google.cloud.kms.v1.CryptoKeyVersion 2059 1, // 2: google.cloud.kms.v1.CryptoKey.purpose:type_name -> google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose 2060 18, // 3: google.cloud.kms.v1.CryptoKey.create_time:type_name -> google.protobuf.Timestamp 2061 18, // 4: google.cloud.kms.v1.CryptoKey.next_rotation_time:type_name -> google.protobuf.Timestamp 2062 19, // 5: google.cloud.kms.v1.CryptoKey.rotation_period:type_name -> google.protobuf.Duration 2063 10, // 6: google.cloud.kms.v1.CryptoKey.version_template:type_name -> google.cloud.kms.v1.CryptoKeyVersionTemplate 2064 16, // 7: google.cloud.kms.v1.CryptoKey.labels:type_name -> google.cloud.kms.v1.CryptoKey.LabelsEntry 2065 19, // 8: google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration:type_name -> google.protobuf.Duration 2066 0, // 9: google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel 2067 3, // 10: google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm 2068 2, // 11: google.cloud.kms.v1.KeyOperationAttestation.format:type_name -> google.cloud.kms.v1.KeyOperationAttestation.AttestationFormat 2069 4, // 12: google.cloud.kms.v1.CryptoKeyVersion.state:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState 2070 0, // 13: google.cloud.kms.v1.CryptoKeyVersion.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel 2071 3, // 14: google.cloud.kms.v1.CryptoKeyVersion.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm 2072 11, // 15: google.cloud.kms.v1.CryptoKeyVersion.attestation:type_name -> google.cloud.kms.v1.KeyOperationAttestation 2073 18, // 16: google.cloud.kms.v1.CryptoKeyVersion.create_time:type_name -> google.protobuf.Timestamp 2074 18, // 17: google.cloud.kms.v1.CryptoKeyVersion.generate_time:type_name -> google.protobuf.Timestamp 2075 18, // 18: google.cloud.kms.v1.CryptoKeyVersion.destroy_time:type_name -> google.protobuf.Timestamp 2076 18, // 19: google.cloud.kms.v1.CryptoKeyVersion.destroy_event_time:type_name -> google.protobuf.Timestamp 2077 18, // 20: google.cloud.kms.v1.CryptoKeyVersion.import_time:type_name -> google.protobuf.Timestamp 2078 15, // 21: google.cloud.kms.v1.CryptoKeyVersion.external_protection_level_options:type_name -> google.cloud.kms.v1.ExternalProtectionLevelOptions 2079 3, // 22: google.cloud.kms.v1.PublicKey.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm 2080 20, // 23: google.cloud.kms.v1.PublicKey.pem_crc32c:type_name -> google.protobuf.Int64Value 2081 0, // 24: google.cloud.kms.v1.PublicKey.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel 2082 6, // 25: google.cloud.kms.v1.ImportJob.import_method:type_name -> google.cloud.kms.v1.ImportJob.ImportMethod 2083 0, // 26: google.cloud.kms.v1.ImportJob.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel 2084 18, // 27: google.cloud.kms.v1.ImportJob.create_time:type_name -> google.protobuf.Timestamp 2085 18, // 28: google.cloud.kms.v1.ImportJob.generate_time:type_name -> google.protobuf.Timestamp 2086 18, // 29: google.cloud.kms.v1.ImportJob.expire_time:type_name -> google.protobuf.Timestamp 2087 18, // 30: google.cloud.kms.v1.ImportJob.expire_event_time:type_name -> google.protobuf.Timestamp 2088 7, // 31: google.cloud.kms.v1.ImportJob.state:type_name -> google.cloud.kms.v1.ImportJob.ImportJobState 2089 17, // 32: google.cloud.kms.v1.ImportJob.public_key:type_name -> google.cloud.kms.v1.ImportJob.WrappingPublicKey 2090 11, // 33: google.cloud.kms.v1.ImportJob.attestation:type_name -> google.cloud.kms.v1.KeyOperationAttestation 2091 34, // [34:34] is the sub-list for method output_type 2092 34, // [34:34] is the sub-list for method input_type 2093 34, // [34:34] is the sub-list for extension type_name 2094 34, // [34:34] is the sub-list for extension extendee 2095 0, // [0:34] is the sub-list for field type_name 2096} 2097 2098func init() { file_google_cloud_kms_v1_resources_proto_init() } 2099func file_google_cloud_kms_v1_resources_proto_init() { 2100 if File_google_cloud_kms_v1_resources_proto != nil { 2101 return 2102 } 2103 if !protoimpl.UnsafeEnabled { 2104 file_google_cloud_kms_v1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2105 switch v := v.(*KeyRing); i { 2106 case 0: 2107 return &v.state 2108 case 1: 2109 return &v.sizeCache 2110 case 2: 2111 return &v.unknownFields 2112 default: 2113 return nil 2114 } 2115 } 2116 file_google_cloud_kms_v1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2117 switch v := v.(*CryptoKey); i { 2118 case 0: 2119 return &v.state 2120 case 1: 2121 return &v.sizeCache 2122 case 2: 2123 return &v.unknownFields 2124 default: 2125 return nil 2126 } 2127 } 2128 file_google_cloud_kms_v1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2129 switch v := v.(*CryptoKeyVersionTemplate); i { 2130 case 0: 2131 return &v.state 2132 case 1: 2133 return &v.sizeCache 2134 case 2: 2135 return &v.unknownFields 2136 default: 2137 return nil 2138 } 2139 } 2140 file_google_cloud_kms_v1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2141 switch v := v.(*KeyOperationAttestation); i { 2142 case 0: 2143 return &v.state 2144 case 1: 2145 return &v.sizeCache 2146 case 2: 2147 return &v.unknownFields 2148 default: 2149 return nil 2150 } 2151 } 2152 file_google_cloud_kms_v1_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2153 switch v := v.(*CryptoKeyVersion); i { 2154 case 0: 2155 return &v.state 2156 case 1: 2157 return &v.sizeCache 2158 case 2: 2159 return &v.unknownFields 2160 default: 2161 return nil 2162 } 2163 } 2164 file_google_cloud_kms_v1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2165 switch v := v.(*PublicKey); i { 2166 case 0: 2167 return &v.state 2168 case 1: 2169 return &v.sizeCache 2170 case 2: 2171 return &v.unknownFields 2172 default: 2173 return nil 2174 } 2175 } 2176 file_google_cloud_kms_v1_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2177 switch v := v.(*ImportJob); i { 2178 case 0: 2179 return &v.state 2180 case 1: 2181 return &v.sizeCache 2182 case 2: 2183 return &v.unknownFields 2184 default: 2185 return nil 2186 } 2187 } 2188 file_google_cloud_kms_v1_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2189 switch v := v.(*ExternalProtectionLevelOptions); i { 2190 case 0: 2191 return &v.state 2192 case 1: 2193 return &v.sizeCache 2194 case 2: 2195 return &v.unknownFields 2196 default: 2197 return nil 2198 } 2199 } 2200 file_google_cloud_kms_v1_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2201 switch v := v.(*ImportJob_WrappingPublicKey); i { 2202 case 0: 2203 return &v.state 2204 case 1: 2205 return &v.sizeCache 2206 case 2: 2207 return &v.unknownFields 2208 default: 2209 return nil 2210 } 2211 } 2212 } 2213 file_google_cloud_kms_v1_resources_proto_msgTypes[1].OneofWrappers = []interface{}{ 2214 (*CryptoKey_RotationPeriod)(nil), 2215 } 2216 type x struct{} 2217 out := protoimpl.TypeBuilder{ 2218 File: protoimpl.DescBuilder{ 2219 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2220 RawDescriptor: file_google_cloud_kms_v1_resources_proto_rawDesc, 2221 NumEnums: 8, 2222 NumMessages: 10, 2223 NumExtensions: 0, 2224 NumServices: 0, 2225 }, 2226 GoTypes: file_google_cloud_kms_v1_resources_proto_goTypes, 2227 DependencyIndexes: file_google_cloud_kms_v1_resources_proto_depIdxs, 2228 EnumInfos: file_google_cloud_kms_v1_resources_proto_enumTypes, 2229 MessageInfos: file_google_cloud_kms_v1_resources_proto_msgTypes, 2230 }.Build() 2231 File_google_cloud_kms_v1_resources_proto = out.File 2232 file_google_cloud_kms_v1_resources_proto_rawDesc = nil 2233 file_google_cloud_kms_v1_resources_proto_goTypes = nil 2234 file_google_cloud_kms_v1_resources_proto_depIdxs = nil 2235} 2236