1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/cloud/kms/v1/resources.proto 3 4package kms 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 duration "github.com/golang/protobuf/ptypes/duration" 12 timestamp "github.com/golang/protobuf/ptypes/timestamp" 13 _ "google.golang.org/genproto/googleapis/api/annotations" 14) 15 16// Reference imports to suppress errors if they are not otherwise used. 17var _ = proto.Marshal 18var _ = fmt.Errorf 19var _ = math.Inf 20 21// This is a compile-time assertion to ensure that this generated file 22// is compatible with the proto package it is being compiled against. 23// A compilation error at this line likely means your copy of the 24// proto package needs to be updated. 25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 26 27// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed. 28// For more information, see [Protection levels] 29// (https://cloud.google.com/kms/docs/algorithms#protection_levels). 30type ProtectionLevel int32 31 32const ( 33 // Not specified. 34 ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED ProtectionLevel = 0 35 // Crypto operations are performed in software. 36 ProtectionLevel_SOFTWARE ProtectionLevel = 1 37 // Crypto operations are performed in a Hardware Security Module. 38 ProtectionLevel_HSM ProtectionLevel = 2 39 // Crypto operations are performed by an external key manager. 40 ProtectionLevel_EXTERNAL ProtectionLevel = 3 41) 42 43var ProtectionLevel_name = map[int32]string{ 44 0: "PROTECTION_LEVEL_UNSPECIFIED", 45 1: "SOFTWARE", 46 2: "HSM", 47 3: "EXTERNAL", 48} 49 50var ProtectionLevel_value = map[string]int32{ 51 "PROTECTION_LEVEL_UNSPECIFIED": 0, 52 "SOFTWARE": 1, 53 "HSM": 2, 54 "EXTERNAL": 3, 55} 56 57func (x ProtectionLevel) String() string { 58 return proto.EnumName(ProtectionLevel_name, int32(x)) 59} 60 61func (ProtectionLevel) EnumDescriptor() ([]byte, []int) { 62 return fileDescriptor_e40e1384d35a80c5, []int{0} 63} 64 65// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] describes the cryptographic capabilities of a 66// [CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used for the operations allowed by 67// its purpose. For more information, see 68// [Key purposes](https://cloud.google.com/kms/docs/algorithms#key_purposes). 69type CryptoKey_CryptoKeyPurpose int32 70 71const ( 72 // Not specified. 73 CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED CryptoKey_CryptoKeyPurpose = 0 74 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 75 // [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and 76 // [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. 77 CryptoKey_ENCRYPT_DECRYPT CryptoKey_CryptoKeyPurpose = 1 78 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 79 // [AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign] and 80 // [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 81 CryptoKey_ASYMMETRIC_SIGN CryptoKey_CryptoKeyPurpose = 5 82 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 83 // [AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt] and 84 // [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 85 CryptoKey_ASYMMETRIC_DECRYPT CryptoKey_CryptoKeyPurpose = 6 86) 87 88var CryptoKey_CryptoKeyPurpose_name = map[int32]string{ 89 0: "CRYPTO_KEY_PURPOSE_UNSPECIFIED", 90 1: "ENCRYPT_DECRYPT", 91 5: "ASYMMETRIC_SIGN", 92 6: "ASYMMETRIC_DECRYPT", 93} 94 95var CryptoKey_CryptoKeyPurpose_value = map[string]int32{ 96 "CRYPTO_KEY_PURPOSE_UNSPECIFIED": 0, 97 "ENCRYPT_DECRYPT": 1, 98 "ASYMMETRIC_SIGN": 5, 99 "ASYMMETRIC_DECRYPT": 6, 100} 101 102func (x CryptoKey_CryptoKeyPurpose) String() string { 103 return proto.EnumName(CryptoKey_CryptoKeyPurpose_name, int32(x)) 104} 105 106func (CryptoKey_CryptoKeyPurpose) EnumDescriptor() ([]byte, []int) { 107 return fileDescriptor_e40e1384d35a80c5, []int{1, 0} 108} 109 110// Attestation formats provided by the HSM. 111type KeyOperationAttestation_AttestationFormat int32 112 113const ( 114 // Not specified. 115 KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED KeyOperationAttestation_AttestationFormat = 0 116 // Cavium HSM attestation compressed with gzip. Note that this format is 117 // defined by Cavium and subject to change at any time. 118 KeyOperationAttestation_CAVIUM_V1_COMPRESSED KeyOperationAttestation_AttestationFormat = 3 119 // Cavium HSM attestation V2 compressed with gzip. This is a new format 120 // introduced in Cavium's version 3.2-08. 121 KeyOperationAttestation_CAVIUM_V2_COMPRESSED KeyOperationAttestation_AttestationFormat = 4 122) 123 124var KeyOperationAttestation_AttestationFormat_name = map[int32]string{ 125 0: "ATTESTATION_FORMAT_UNSPECIFIED", 126 3: "CAVIUM_V1_COMPRESSED", 127 4: "CAVIUM_V2_COMPRESSED", 128} 129 130var KeyOperationAttestation_AttestationFormat_value = map[string]int32{ 131 "ATTESTATION_FORMAT_UNSPECIFIED": 0, 132 "CAVIUM_V1_COMPRESSED": 3, 133 "CAVIUM_V2_COMPRESSED": 4, 134} 135 136func (x KeyOperationAttestation_AttestationFormat) String() string { 137 return proto.EnumName(KeyOperationAttestation_AttestationFormat_name, int32(x)) 138} 139 140func (KeyOperationAttestation_AttestationFormat) EnumDescriptor() ([]byte, []int) { 141 return fileDescriptor_e40e1384d35a80c5, []int{3, 0} 142} 143 144// The algorithm of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what 145// parameters must be used for each cryptographic operation. 146// 147// The 148// [GOOGLE_SYMMETRIC_ENCRYPTION][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION] 149// algorithm is usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 150// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. 151// 152// Algorithms beginning with "RSA_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 153// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]. 154// 155// The fields in the name after "RSA_SIGN_" correspond to the following 156// parameters: padding algorithm, modulus bit length, and digest algorithm. 157// 158// For PSS, the salt length used is equal to the length of digest 159// algorithm. For example, 160// [RSA_SIGN_PSS_2048_SHA256][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256] 161// will use PSS with a salt length of 256 bits or 32 bytes. 162// 163// Algorithms beginning with "RSA_DECRYPT_" are usable with 164// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 165// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT]. 166// 167// The fields in the name after "RSA_DECRYPT_" correspond to the following 168// parameters: padding algorithm, modulus bit length, and digest algorithm. 169// 170// Algorithms beginning with "EC_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] 171// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]. 172// 173// The fields in the name after "EC_SIGN_" correspond to the following 174// parameters: elliptic curve, digest algorithm. 175// 176// For more information, see [Key purposes and algorithms] 177// (https://cloud.google.com/kms/docs/algorithms). 178type CryptoKeyVersion_CryptoKeyVersionAlgorithm int32 179 180const ( 181 // Not specified. 182 CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionAlgorithm = 0 183 // Creates symmetric encryption keys. 184 CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION CryptoKeyVersion_CryptoKeyVersionAlgorithm = 1 185 // RSASSA-PSS 2048 bit key with a SHA256 digest. 186 CryptoKeyVersion_RSA_SIGN_PSS_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 2 187 // RSASSA-PSS 3072 bit key with a SHA256 digest. 188 CryptoKeyVersion_RSA_SIGN_PSS_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 3 189 // RSASSA-PSS 4096 bit key with a SHA256 digest. 190 CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 4 191 // RSASSA-PSS 4096 bit key with a SHA512 digest. 192 CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 15 193 // RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest. 194 CryptoKeyVersion_RSA_SIGN_PKCS1_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 5 195 // RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest. 196 CryptoKeyVersion_RSA_SIGN_PKCS1_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 6 197 // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest. 198 CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 7 199 // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest. 200 CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 16 201 // RSAES-OAEP 2048 bit key with a SHA256 digest. 202 CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 8 203 // RSAES-OAEP 3072 bit key with a SHA256 digest. 204 CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 9 205 // RSAES-OAEP 4096 bit key with a SHA256 digest. 206 CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 10 207 // RSAES-OAEP 4096 bit key with a SHA512 digest. 208 CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 17 209 // ECDSA on the NIST P-256 curve with a SHA256 digest. 210 CryptoKeyVersion_EC_SIGN_P256_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 12 211 // ECDSA on the NIST P-384 curve with a SHA384 digest. 212 CryptoKeyVersion_EC_SIGN_P384_SHA384 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 13 213) 214 215var CryptoKeyVersion_CryptoKeyVersionAlgorithm_name = map[int32]string{ 216 0: "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", 217 1: "GOOGLE_SYMMETRIC_ENCRYPTION", 218 2: "RSA_SIGN_PSS_2048_SHA256", 219 3: "RSA_SIGN_PSS_3072_SHA256", 220 4: "RSA_SIGN_PSS_4096_SHA256", 221 15: "RSA_SIGN_PSS_4096_SHA512", 222 5: "RSA_SIGN_PKCS1_2048_SHA256", 223 6: "RSA_SIGN_PKCS1_3072_SHA256", 224 7: "RSA_SIGN_PKCS1_4096_SHA256", 225 16: "RSA_SIGN_PKCS1_4096_SHA512", 226 8: "RSA_DECRYPT_OAEP_2048_SHA256", 227 9: "RSA_DECRYPT_OAEP_3072_SHA256", 228 10: "RSA_DECRYPT_OAEP_4096_SHA256", 229 17: "RSA_DECRYPT_OAEP_4096_SHA512", 230 12: "EC_SIGN_P256_SHA256", 231 13: "EC_SIGN_P384_SHA384", 232} 233 234var CryptoKeyVersion_CryptoKeyVersionAlgorithm_value = map[string]int32{ 235 "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED": 0, 236 "GOOGLE_SYMMETRIC_ENCRYPTION": 1, 237 "RSA_SIGN_PSS_2048_SHA256": 2, 238 "RSA_SIGN_PSS_3072_SHA256": 3, 239 "RSA_SIGN_PSS_4096_SHA256": 4, 240 "RSA_SIGN_PSS_4096_SHA512": 15, 241 "RSA_SIGN_PKCS1_2048_SHA256": 5, 242 "RSA_SIGN_PKCS1_3072_SHA256": 6, 243 "RSA_SIGN_PKCS1_4096_SHA256": 7, 244 "RSA_SIGN_PKCS1_4096_SHA512": 16, 245 "RSA_DECRYPT_OAEP_2048_SHA256": 8, 246 "RSA_DECRYPT_OAEP_3072_SHA256": 9, 247 "RSA_DECRYPT_OAEP_4096_SHA256": 10, 248 "RSA_DECRYPT_OAEP_4096_SHA512": 17, 249 "EC_SIGN_P256_SHA256": 12, 250 "EC_SIGN_P384_SHA384": 13, 251} 252 253func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) String() string { 254 return proto.EnumName(CryptoKeyVersion_CryptoKeyVersionAlgorithm_name, int32(x)) 255} 256 257func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) EnumDescriptor() ([]byte, []int) { 258 return fileDescriptor_e40e1384d35a80c5, []int{4, 0} 259} 260 261// The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used. 262type CryptoKeyVersion_CryptoKeyVersionState int32 263 264const ( 265 // Not specified. 266 CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionState = 0 267 // This version is still being generated. It may not be used, enabled, 268 // disabled, or destroyed yet. Cloud KMS will automatically mark this 269 // version [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] as soon as the version is ready. 270 CryptoKeyVersion_PENDING_GENERATION CryptoKeyVersion_CryptoKeyVersionState = 5 271 // This version may be used for cryptographic operations. 272 CryptoKeyVersion_ENABLED CryptoKeyVersion_CryptoKeyVersionState = 1 273 // This version may not be used, but the key material is still available, 274 // and the version can be placed back into the [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] state. 275 CryptoKeyVersion_DISABLED CryptoKeyVersion_CryptoKeyVersionState = 2 276 // This version is destroyed, and the key material is no longer stored. 277 // A version may not leave this state once entered. 278 CryptoKeyVersion_DESTROYED CryptoKeyVersion_CryptoKeyVersionState = 3 279 // This version is scheduled for destruction, and will be destroyed soon. 280 // Call 281 // [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] 282 // to put it back into the [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] state. 283 CryptoKeyVersion_DESTROY_SCHEDULED CryptoKeyVersion_CryptoKeyVersionState = 4 284 // This version is still being imported. It may not be used, enabled, 285 // disabled, or destroyed yet. Cloud KMS will automatically mark this 286 // version [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] as soon as the version is ready. 287 CryptoKeyVersion_PENDING_IMPORT CryptoKeyVersion_CryptoKeyVersionState = 6 288 // This version was not imported successfully. It may not be used, enabled, 289 // disabled, or destroyed. The submitted key material has been discarded. 290 // Additional details can be found in 291 // [CryptoKeyVersion.import_failure_reason][google.cloud.kms.v1.CryptoKeyVersion.import_failure_reason]. 292 CryptoKeyVersion_IMPORT_FAILED CryptoKeyVersion_CryptoKeyVersionState = 7 293) 294 295var CryptoKeyVersion_CryptoKeyVersionState_name = map[int32]string{ 296 0: "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", 297 5: "PENDING_GENERATION", 298 1: "ENABLED", 299 2: "DISABLED", 300 3: "DESTROYED", 301 4: "DESTROY_SCHEDULED", 302 6: "PENDING_IMPORT", 303 7: "IMPORT_FAILED", 304} 305 306var CryptoKeyVersion_CryptoKeyVersionState_value = map[string]int32{ 307 "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED": 0, 308 "PENDING_GENERATION": 5, 309 "ENABLED": 1, 310 "DISABLED": 2, 311 "DESTROYED": 3, 312 "DESTROY_SCHEDULED": 4, 313 "PENDING_IMPORT": 6, 314 "IMPORT_FAILED": 7, 315} 316 317func (x CryptoKeyVersion_CryptoKeyVersionState) String() string { 318 return proto.EnumName(CryptoKeyVersion_CryptoKeyVersionState_name, int32(x)) 319} 320 321func (CryptoKeyVersion_CryptoKeyVersionState) EnumDescriptor() ([]byte, []int) { 322 return fileDescriptor_e40e1384d35a80c5, []int{4, 1} 323} 324 325// A view for [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]s. Controls the level of detail returned 326// for [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] in 327// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions] and 328// [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys]. 329type CryptoKeyVersion_CryptoKeyVersionView int32 330 331const ( 332 // Default view for each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Does not include 333 // the [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation] field. 334 CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionView = 0 335 // Provides all fields in each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], including the 336 // [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation]. 337 CryptoKeyVersion_FULL CryptoKeyVersion_CryptoKeyVersionView = 1 338) 339 340var CryptoKeyVersion_CryptoKeyVersionView_name = map[int32]string{ 341 0: "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED", 342 1: "FULL", 343} 344 345var CryptoKeyVersion_CryptoKeyVersionView_value = map[string]int32{ 346 "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED": 0, 347 "FULL": 1, 348} 349 350func (x CryptoKeyVersion_CryptoKeyVersionView) String() string { 351 return proto.EnumName(CryptoKeyVersion_CryptoKeyVersionView_name, int32(x)) 352} 353 354func (CryptoKeyVersion_CryptoKeyVersionView) EnumDescriptor() ([]byte, []int) { 355 return fileDescriptor_e40e1384d35a80c5, []int{4, 2} 356} 357 358// [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] describes the key wrapping method chosen for this 359// [ImportJob][google.cloud.kms.v1.ImportJob]. 360type ImportJob_ImportMethod int32 361 362const ( 363 // Not specified. 364 ImportJob_IMPORT_METHOD_UNSPECIFIED ImportJob_ImportMethod = 0 365 // This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping 366 // scheme defined in the PKCS #11 standard. In summary, this involves 367 // wrapping the raw key with an ephemeral AES key, and wrapping the 368 // ephemeral AES key with a 3072 bit RSA key. For more details, see 369 // [RSA AES key wrap 370 // mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908). 371 ImportJob_RSA_OAEP_3072_SHA1_AES_256 ImportJob_ImportMethod = 1 372 // This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping 373 // scheme defined in the PKCS #11 standard. In summary, this involves 374 // wrapping the raw key with an ephemeral AES key, and wrapping the 375 // ephemeral AES key with a 4096 bit RSA key. For more details, see 376 // [RSA AES key wrap 377 // mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908). 378 ImportJob_RSA_OAEP_4096_SHA1_AES_256 ImportJob_ImportMethod = 2 379) 380 381var ImportJob_ImportMethod_name = map[int32]string{ 382 0: "IMPORT_METHOD_UNSPECIFIED", 383 1: "RSA_OAEP_3072_SHA1_AES_256", 384 2: "RSA_OAEP_4096_SHA1_AES_256", 385} 386 387var ImportJob_ImportMethod_value = map[string]int32{ 388 "IMPORT_METHOD_UNSPECIFIED": 0, 389 "RSA_OAEP_3072_SHA1_AES_256": 1, 390 "RSA_OAEP_4096_SHA1_AES_256": 2, 391} 392 393func (x ImportJob_ImportMethod) String() string { 394 return proto.EnumName(ImportJob_ImportMethod_name, int32(x)) 395} 396 397func (ImportJob_ImportMethod) EnumDescriptor() ([]byte, []int) { 398 return fileDescriptor_e40e1384d35a80c5, []int{6, 0} 399} 400 401// The state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used. 402type ImportJob_ImportJobState int32 403 404const ( 405 // Not specified. 406 ImportJob_IMPORT_JOB_STATE_UNSPECIFIED ImportJob_ImportJobState = 0 407 // The wrapping key for this job is still being generated. It may not be 408 // used. Cloud KMS will automatically mark this job as 409 // [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] as soon as the wrapping key is generated. 410 ImportJob_PENDING_GENERATION ImportJob_ImportJobState = 1 411 // This job may be used in 412 // [CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey] and 413 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 414 // requests. 415 ImportJob_ACTIVE ImportJob_ImportJobState = 2 416 // This job can no longer be used and may not leave this state once entered. 417 ImportJob_EXPIRED ImportJob_ImportJobState = 3 418) 419 420var ImportJob_ImportJobState_name = map[int32]string{ 421 0: "IMPORT_JOB_STATE_UNSPECIFIED", 422 1: "PENDING_GENERATION", 423 2: "ACTIVE", 424 3: "EXPIRED", 425} 426 427var ImportJob_ImportJobState_value = map[string]int32{ 428 "IMPORT_JOB_STATE_UNSPECIFIED": 0, 429 "PENDING_GENERATION": 1, 430 "ACTIVE": 2, 431 "EXPIRED": 3, 432} 433 434func (x ImportJob_ImportJobState) String() string { 435 return proto.EnumName(ImportJob_ImportJobState_name, int32(x)) 436} 437 438func (ImportJob_ImportJobState) EnumDescriptor() ([]byte, []int) { 439 return fileDescriptor_e40e1384d35a80c5, []int{6, 1} 440} 441 442// A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. 443type KeyRing struct { 444 // Output only. The resource name for the [KeyRing][google.cloud.kms.v1.KeyRing] in the format 445 // `projects/*/locations/*/keyRings/*`. 446 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 447 // Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing] was created. 448 CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 449 XXX_NoUnkeyedLiteral struct{} `json:"-"` 450 XXX_unrecognized []byte `json:"-"` 451 XXX_sizecache int32 `json:"-"` 452} 453 454func (m *KeyRing) Reset() { *m = KeyRing{} } 455func (m *KeyRing) String() string { return proto.CompactTextString(m) } 456func (*KeyRing) ProtoMessage() {} 457func (*KeyRing) Descriptor() ([]byte, []int) { 458 return fileDescriptor_e40e1384d35a80c5, []int{0} 459} 460 461func (m *KeyRing) XXX_Unmarshal(b []byte) error { 462 return xxx_messageInfo_KeyRing.Unmarshal(m, b) 463} 464func (m *KeyRing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 465 return xxx_messageInfo_KeyRing.Marshal(b, m, deterministic) 466} 467func (m *KeyRing) XXX_Merge(src proto.Message) { 468 xxx_messageInfo_KeyRing.Merge(m, src) 469} 470func (m *KeyRing) XXX_Size() int { 471 return xxx_messageInfo_KeyRing.Size(m) 472} 473func (m *KeyRing) XXX_DiscardUnknown() { 474 xxx_messageInfo_KeyRing.DiscardUnknown(m) 475} 476 477var xxx_messageInfo_KeyRing proto.InternalMessageInfo 478 479func (m *KeyRing) GetName() string { 480 if m != nil { 481 return m.Name 482 } 483 return "" 484} 485 486func (m *KeyRing) GetCreateTime() *timestamp.Timestamp { 487 if m != nil { 488 return m.CreateTime 489 } 490 return nil 491} 492 493// A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic 494// operations. 495// 496// A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which 497// represent the actual key material used in cryptographic operations. 498type CryptoKey struct { 499 // Output only. The resource name for this [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format 500 // `projects/*/locations/*/keyRings/*/cryptoKeys/*`. 501 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 502 // Output only. A copy of the "primary" [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 503 // by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this [CryptoKey][google.cloud.kms.v1.CryptoKey] is given 504 // in [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 505 // 506 // The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be updated via 507 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 508 // 509 // Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 510 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] may have a 511 // primary. For other keys, this field will be omitted. 512 Primary *CryptoKeyVersion `protobuf:"bytes,2,opt,name=primary,proto3" json:"primary,omitempty"` 513 // Immutable. The immutable purpose of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 514 Purpose CryptoKey_CryptoKeyPurpose `protobuf:"varint,3,opt,name=purpose,proto3,enum=google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose" json:"purpose,omitempty"` 515 // Output only. The time at which this [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 516 CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 517 // At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], the Key Management Service will automatically: 518 // 519 // 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 520 // 2. Mark the new version as primary. 521 // 522 // Key rotations performed manually via 523 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] and 524 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 525 // do not affect [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 526 // 527 // Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 528 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support 529 // automatic rotation. For other keys, this field must be omitted. 530 NextRotationTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=next_rotation_time,json=nextRotationTime,proto3" json:"next_rotation_time,omitempty"` 531 // Controls the rate of automatic rotation. 532 // 533 // Types that are valid to be assigned to RotationSchedule: 534 // *CryptoKey_RotationPeriod 535 RotationSchedule isCryptoKey_RotationSchedule `protobuf_oneof:"rotation_schedule"` 536 // A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. 537 // The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either 538 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or 539 // auto-rotation are controlled by this template. 540 VersionTemplate *CryptoKeyVersionTemplate `protobuf:"bytes,11,opt,name=version_template,json=versionTemplate,proto3" json:"version_template,omitempty"` 541 // Labels with user-defined metadata. For more information, see 542 // [Labeling Keys](/kms/docs/labeling-keys). 543 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"` 544 XXX_NoUnkeyedLiteral struct{} `json:"-"` 545 XXX_unrecognized []byte `json:"-"` 546 XXX_sizecache int32 `json:"-"` 547} 548 549func (m *CryptoKey) Reset() { *m = CryptoKey{} } 550func (m *CryptoKey) String() string { return proto.CompactTextString(m) } 551func (*CryptoKey) ProtoMessage() {} 552func (*CryptoKey) Descriptor() ([]byte, []int) { 553 return fileDescriptor_e40e1384d35a80c5, []int{1} 554} 555 556func (m *CryptoKey) XXX_Unmarshal(b []byte) error { 557 return xxx_messageInfo_CryptoKey.Unmarshal(m, b) 558} 559func (m *CryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 560 return xxx_messageInfo_CryptoKey.Marshal(b, m, deterministic) 561} 562func (m *CryptoKey) XXX_Merge(src proto.Message) { 563 xxx_messageInfo_CryptoKey.Merge(m, src) 564} 565func (m *CryptoKey) XXX_Size() int { 566 return xxx_messageInfo_CryptoKey.Size(m) 567} 568func (m *CryptoKey) XXX_DiscardUnknown() { 569 xxx_messageInfo_CryptoKey.DiscardUnknown(m) 570} 571 572var xxx_messageInfo_CryptoKey proto.InternalMessageInfo 573 574func (m *CryptoKey) GetName() string { 575 if m != nil { 576 return m.Name 577 } 578 return "" 579} 580 581func (m *CryptoKey) GetPrimary() *CryptoKeyVersion { 582 if m != nil { 583 return m.Primary 584 } 585 return nil 586} 587 588func (m *CryptoKey) GetPurpose() CryptoKey_CryptoKeyPurpose { 589 if m != nil { 590 return m.Purpose 591 } 592 return CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED 593} 594 595func (m *CryptoKey) GetCreateTime() *timestamp.Timestamp { 596 if m != nil { 597 return m.CreateTime 598 } 599 return nil 600} 601 602func (m *CryptoKey) GetNextRotationTime() *timestamp.Timestamp { 603 if m != nil { 604 return m.NextRotationTime 605 } 606 return nil 607} 608 609type isCryptoKey_RotationSchedule interface { 610 isCryptoKey_RotationSchedule() 611} 612 613type CryptoKey_RotationPeriod struct { 614 RotationPeriod *duration.Duration `protobuf:"bytes,8,opt,name=rotation_period,json=rotationPeriod,proto3,oneof"` 615} 616 617func (*CryptoKey_RotationPeriod) isCryptoKey_RotationSchedule() {} 618 619func (m *CryptoKey) GetRotationSchedule() isCryptoKey_RotationSchedule { 620 if m != nil { 621 return m.RotationSchedule 622 } 623 return nil 624} 625 626func (m *CryptoKey) GetRotationPeriod() *duration.Duration { 627 if x, ok := m.GetRotationSchedule().(*CryptoKey_RotationPeriod); ok { 628 return x.RotationPeriod 629 } 630 return nil 631} 632 633func (m *CryptoKey) GetVersionTemplate() *CryptoKeyVersionTemplate { 634 if m != nil { 635 return m.VersionTemplate 636 } 637 return nil 638} 639 640func (m *CryptoKey) GetLabels() map[string]string { 641 if m != nil { 642 return m.Labels 643 } 644 return nil 645} 646 647// XXX_OneofWrappers is for the internal use of the proto package. 648func (*CryptoKey) XXX_OneofWrappers() []interface{} { 649 return []interface{}{ 650 (*CryptoKey_RotationPeriod)(nil), 651 } 652} 653 654// A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating 655// a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with 656// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or 657// automatically as a result of auto-rotation. 658type CryptoKeyVersionTemplate struct { 659 // [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on 660 // this template. Immutable. Defaults to [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE]. 661 ProtectionLevel ProtectionLevel `protobuf:"varint,1,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 662 // Required. [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] to use 663 // when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this template. 664 // 665 // For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both 666 // this field is omitted and [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is 667 // [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. 668 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,3,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 669 XXX_NoUnkeyedLiteral struct{} `json:"-"` 670 XXX_unrecognized []byte `json:"-"` 671 XXX_sizecache int32 `json:"-"` 672} 673 674func (m *CryptoKeyVersionTemplate) Reset() { *m = CryptoKeyVersionTemplate{} } 675func (m *CryptoKeyVersionTemplate) String() string { return proto.CompactTextString(m) } 676func (*CryptoKeyVersionTemplate) ProtoMessage() {} 677func (*CryptoKeyVersionTemplate) Descriptor() ([]byte, []int) { 678 return fileDescriptor_e40e1384d35a80c5, []int{2} 679} 680 681func (m *CryptoKeyVersionTemplate) XXX_Unmarshal(b []byte) error { 682 return xxx_messageInfo_CryptoKeyVersionTemplate.Unmarshal(m, b) 683} 684func (m *CryptoKeyVersionTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 685 return xxx_messageInfo_CryptoKeyVersionTemplate.Marshal(b, m, deterministic) 686} 687func (m *CryptoKeyVersionTemplate) XXX_Merge(src proto.Message) { 688 xxx_messageInfo_CryptoKeyVersionTemplate.Merge(m, src) 689} 690func (m *CryptoKeyVersionTemplate) XXX_Size() int { 691 return xxx_messageInfo_CryptoKeyVersionTemplate.Size(m) 692} 693func (m *CryptoKeyVersionTemplate) XXX_DiscardUnknown() { 694 xxx_messageInfo_CryptoKeyVersionTemplate.DiscardUnknown(m) 695} 696 697var xxx_messageInfo_CryptoKeyVersionTemplate proto.InternalMessageInfo 698 699func (m *CryptoKeyVersionTemplate) GetProtectionLevel() ProtectionLevel { 700 if m != nil { 701 return m.ProtectionLevel 702 } 703 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 704} 705 706func (m *CryptoKeyVersionTemplate) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 707 if m != nil { 708 return m.Algorithm 709 } 710 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 711} 712 713// Contains an HSM-generated attestation about a key operation. For more 714// information, see [Verifying attestations] 715// (https://cloud.google.com/kms/docs/attest-key). 716type KeyOperationAttestation struct { 717 // Output only. The format of the attestation data. 718 Format KeyOperationAttestation_AttestationFormat `protobuf:"varint,4,opt,name=format,proto3,enum=google.cloud.kms.v1.KeyOperationAttestation_AttestationFormat" json:"format,omitempty"` 719 // Output only. The attestation data provided by the HSM when the key 720 // operation was performed. 721 Content []byte `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` 722 XXX_NoUnkeyedLiteral struct{} `json:"-"` 723 XXX_unrecognized []byte `json:"-"` 724 XXX_sizecache int32 `json:"-"` 725} 726 727func (m *KeyOperationAttestation) Reset() { *m = KeyOperationAttestation{} } 728func (m *KeyOperationAttestation) String() string { return proto.CompactTextString(m) } 729func (*KeyOperationAttestation) ProtoMessage() {} 730func (*KeyOperationAttestation) Descriptor() ([]byte, []int) { 731 return fileDescriptor_e40e1384d35a80c5, []int{3} 732} 733 734func (m *KeyOperationAttestation) XXX_Unmarshal(b []byte) error { 735 return xxx_messageInfo_KeyOperationAttestation.Unmarshal(m, b) 736} 737func (m *KeyOperationAttestation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 738 return xxx_messageInfo_KeyOperationAttestation.Marshal(b, m, deterministic) 739} 740func (m *KeyOperationAttestation) XXX_Merge(src proto.Message) { 741 xxx_messageInfo_KeyOperationAttestation.Merge(m, src) 742} 743func (m *KeyOperationAttestation) XXX_Size() int { 744 return xxx_messageInfo_KeyOperationAttestation.Size(m) 745} 746func (m *KeyOperationAttestation) XXX_DiscardUnknown() { 747 xxx_messageInfo_KeyOperationAttestation.DiscardUnknown(m) 748} 749 750var xxx_messageInfo_KeyOperationAttestation proto.InternalMessageInfo 751 752func (m *KeyOperationAttestation) GetFormat() KeyOperationAttestation_AttestationFormat { 753 if m != nil { 754 return m.Format 755 } 756 return KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED 757} 758 759func (m *KeyOperationAttestation) GetContent() []byte { 760 if m != nil { 761 return m.Content 762 } 763 return nil 764} 765 766// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the 767// associated key material. 768// 769// An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be 770// used for cryptographic operations. 771// 772// For security reasons, the raw cryptographic key material represented by a 773// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to 774// encrypt, decrypt, or sign data when an authorized user or application invokes 775// Cloud KMS. 776type CryptoKeyVersion struct { 777 // Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format 778 // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. 779 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 780 // The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. 781 State CryptoKeyVersion_CryptoKeyVersionState `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState" json:"state,omitempty"` 782 // Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] describing how crypto operations are 783 // performed with this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. 784 ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 785 // Output only. The [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] that this 786 // [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] supports. 787 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,10,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 788 // Output only. Statement that was generated and signed by the HSM at key 789 // creation time. Use this statement to verify attributes of the key as stored 790 // on the HSM, independently of Google. Only provided for key versions with 791 // [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level] [HSM][google.cloud.kms.v1.ProtectionLevel.HSM]. 792 Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"` 793 // Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created. 794 CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 795 // Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was 796 // generated. 797 GenerateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"` 798 // Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled 799 // for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 800 // [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]. 801 DestroyTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=destroy_time,json=destroyTime,proto3" json:"destroy_time,omitempty"` 802 // Output only. The time this CryptoKeyVersion's key material was 803 // destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 804 // [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 805 DestroyEventTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=destroy_event_time,json=destroyEventTime,proto3" json:"destroy_event_time,omitempty"` 806 // Output only. The name of the [ImportJob][google.cloud.kms.v1.ImportJob] used to import this 807 // [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only present if the underlying key material was 808 // imported. 809 ImportJob string `protobuf:"bytes,14,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"` 810 // Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material 811 // was imported. 812 ImportTime *timestamp.Timestamp `protobuf:"bytes,15,opt,name=import_time,json=importTime,proto3" json:"import_time,omitempty"` 813 // Output only. The root cause of an import failure. Only present if 814 // [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 815 // [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]. 816 ImportFailureReason string `protobuf:"bytes,16,opt,name=import_failure_reason,json=importFailureReason,proto3" json:"import_failure_reason,omitempty"` 817 XXX_NoUnkeyedLiteral struct{} `json:"-"` 818 XXX_unrecognized []byte `json:"-"` 819 XXX_sizecache int32 `json:"-"` 820} 821 822func (m *CryptoKeyVersion) Reset() { *m = CryptoKeyVersion{} } 823func (m *CryptoKeyVersion) String() string { return proto.CompactTextString(m) } 824func (*CryptoKeyVersion) ProtoMessage() {} 825func (*CryptoKeyVersion) Descriptor() ([]byte, []int) { 826 return fileDescriptor_e40e1384d35a80c5, []int{4} 827} 828 829func (m *CryptoKeyVersion) XXX_Unmarshal(b []byte) error { 830 return xxx_messageInfo_CryptoKeyVersion.Unmarshal(m, b) 831} 832func (m *CryptoKeyVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 833 return xxx_messageInfo_CryptoKeyVersion.Marshal(b, m, deterministic) 834} 835func (m *CryptoKeyVersion) XXX_Merge(src proto.Message) { 836 xxx_messageInfo_CryptoKeyVersion.Merge(m, src) 837} 838func (m *CryptoKeyVersion) XXX_Size() int { 839 return xxx_messageInfo_CryptoKeyVersion.Size(m) 840} 841func (m *CryptoKeyVersion) XXX_DiscardUnknown() { 842 xxx_messageInfo_CryptoKeyVersion.DiscardUnknown(m) 843} 844 845var xxx_messageInfo_CryptoKeyVersion proto.InternalMessageInfo 846 847func (m *CryptoKeyVersion) GetName() string { 848 if m != nil { 849 return m.Name 850 } 851 return "" 852} 853 854func (m *CryptoKeyVersion) GetState() CryptoKeyVersion_CryptoKeyVersionState { 855 if m != nil { 856 return m.State 857 } 858 return CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED 859} 860 861func (m *CryptoKeyVersion) GetProtectionLevel() ProtectionLevel { 862 if m != nil { 863 return m.ProtectionLevel 864 } 865 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 866} 867 868func (m *CryptoKeyVersion) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 869 if m != nil { 870 return m.Algorithm 871 } 872 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 873} 874 875func (m *CryptoKeyVersion) GetAttestation() *KeyOperationAttestation { 876 if m != nil { 877 return m.Attestation 878 } 879 return nil 880} 881 882func (m *CryptoKeyVersion) GetCreateTime() *timestamp.Timestamp { 883 if m != nil { 884 return m.CreateTime 885 } 886 return nil 887} 888 889func (m *CryptoKeyVersion) GetGenerateTime() *timestamp.Timestamp { 890 if m != nil { 891 return m.GenerateTime 892 } 893 return nil 894} 895 896func (m *CryptoKeyVersion) GetDestroyTime() *timestamp.Timestamp { 897 if m != nil { 898 return m.DestroyTime 899 } 900 return nil 901} 902 903func (m *CryptoKeyVersion) GetDestroyEventTime() *timestamp.Timestamp { 904 if m != nil { 905 return m.DestroyEventTime 906 } 907 return nil 908} 909 910func (m *CryptoKeyVersion) GetImportJob() string { 911 if m != nil { 912 return m.ImportJob 913 } 914 return "" 915} 916 917func (m *CryptoKeyVersion) GetImportTime() *timestamp.Timestamp { 918 if m != nil { 919 return m.ImportTime 920 } 921 return nil 922} 923 924func (m *CryptoKeyVersion) GetImportFailureReason() string { 925 if m != nil { 926 return m.ImportFailureReason 927 } 928 return "" 929} 930 931// The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via 932// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. 933type PublicKey struct { 934 // The public key, encoded in PEM format. For more information, see the 935 // [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for 936 // [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and 937 // [Textual Encoding of Subject Public Key Info] 938 // (https://tools.ietf.org/html/rfc7468#section-13). 939 Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"` 940 // The [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] associated 941 // with this key. 942 Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"` 943 XXX_NoUnkeyedLiteral struct{} `json:"-"` 944 XXX_unrecognized []byte `json:"-"` 945 XXX_sizecache int32 `json:"-"` 946} 947 948func (m *PublicKey) Reset() { *m = PublicKey{} } 949func (m *PublicKey) String() string { return proto.CompactTextString(m) } 950func (*PublicKey) ProtoMessage() {} 951func (*PublicKey) Descriptor() ([]byte, []int) { 952 return fileDescriptor_e40e1384d35a80c5, []int{5} 953} 954 955func (m *PublicKey) XXX_Unmarshal(b []byte) error { 956 return xxx_messageInfo_PublicKey.Unmarshal(m, b) 957} 958func (m *PublicKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 959 return xxx_messageInfo_PublicKey.Marshal(b, m, deterministic) 960} 961func (m *PublicKey) XXX_Merge(src proto.Message) { 962 xxx_messageInfo_PublicKey.Merge(m, src) 963} 964func (m *PublicKey) XXX_Size() int { 965 return xxx_messageInfo_PublicKey.Size(m) 966} 967func (m *PublicKey) XXX_DiscardUnknown() { 968 xxx_messageInfo_PublicKey.DiscardUnknown(m) 969} 970 971var xxx_messageInfo_PublicKey proto.InternalMessageInfo 972 973func (m *PublicKey) GetPem() string { 974 if m != nil { 975 return m.Pem 976 } 977 return "" 978} 979 980func (m *PublicKey) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm { 981 if m != nil { 982 return m.Algorithm 983 } 984 return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED 985} 986 987// An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and 988// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, 989// generated outside of Cloud KMS. 990// 991// When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will generate a "wrapping key", 992// which is a public/private key pair. You use the wrapping key to encrypt (also 993// known as wrap) the pre-existing key material to protect it during the import 994// process. The nature of the wrapping key depends on the choice of 995// [import_method][google.cloud.kms.v1.ImportJob.import_method]. When the wrapping key generation 996// is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to 997// [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the [public_key][google.cloud.kms.v1.ImportJob.public_key] 998// can be fetched. The fetched public key can then be used to wrap your 999// pre-existing key material. 1000// 1001// Once the key material is wrapped, it can be imported into a new 1002// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling 1003// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. 1004// Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be imported with a single 1005// [ImportJob][google.cloud.kms.v1.ImportJob]. Cloud KMS uses the private key portion of the wrapping key to 1006// unwrap the key material. Only Cloud KMS has access to the private key. 1007// 1008// An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS 1009// will no longer be able to import or unwrap any key material that was wrapped 1010// with the [ImportJob][google.cloud.kms.v1.ImportJob]'s public key. 1011// 1012// For more information, see 1013// [Importing a key](https://cloud.google.com/kms/docs/importing-a-key). 1014type ImportJob struct { 1015 // Output only. The resource name for this [ImportJob][google.cloud.kms.v1.ImportJob] in the format 1016 // `projects/*/locations/*/keyRings/*/importJobs/*`. 1017 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1018 // Required. Immutable. The wrapping method to be used for incoming key material. 1019 ImportMethod ImportJob_ImportMethod `protobuf:"varint,2,opt,name=import_method,json=importMethod,proto3,enum=google.cloud.kms.v1.ImportJob_ImportMethod" json:"import_method,omitempty"` 1020 // Required. Immutable. The protection level of the [ImportJob][google.cloud.kms.v1.ImportJob]. This must match the 1021 // [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] of the 1022 // [version_template][google.cloud.kms.v1.CryptoKey.version_template] on the [CryptoKey][google.cloud.kms.v1.CryptoKey] you 1023 // attempt to import into. 1024 ProtectionLevel ProtectionLevel `protobuf:"varint,9,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"` 1025 // Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] was created. 1026 CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1027 // Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]'s key material was generated. 1028 GenerateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"` 1029 // Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] is scheduled for 1030 // expiration and can no longer be used to import key material. 1031 ExpireTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` 1032 // Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob] expired. Only present if 1033 // [state][google.cloud.kms.v1.ImportJob.state] is [EXPIRED][google.cloud.kms.v1.ImportJob.ImportJobState.EXPIRED]. 1034 ExpireEventTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=expire_event_time,json=expireEventTime,proto3" json:"expire_event_time,omitempty"` 1035 // Output only. The current state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can 1036 // be used. 1037 State ImportJob_ImportJobState `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.kms.v1.ImportJob_ImportJobState" json:"state,omitempty"` 1038 // Output only. The public key with which to wrap key material prior to 1039 // import. Only returned if [state][google.cloud.kms.v1.ImportJob.state] is 1040 // [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE]. 1041 PublicKey *ImportJob_WrappingPublicKey `protobuf:"bytes,7,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1042 // Output only. Statement that was generated and signed by the key creator 1043 // (for example, an HSM) at key creation time. Use this statement to verify 1044 // attributes of the key as stored on the HSM, independently of Google. 1045 // Only present if the chosen [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] is one with a protection 1046 // level of [HSM][google.cloud.kms.v1.ProtectionLevel.HSM]. 1047 Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"` 1048 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1049 XXX_unrecognized []byte `json:"-"` 1050 XXX_sizecache int32 `json:"-"` 1051} 1052 1053func (m *ImportJob) Reset() { *m = ImportJob{} } 1054func (m *ImportJob) String() string { return proto.CompactTextString(m) } 1055func (*ImportJob) ProtoMessage() {} 1056func (*ImportJob) Descriptor() ([]byte, []int) { 1057 return fileDescriptor_e40e1384d35a80c5, []int{6} 1058} 1059 1060func (m *ImportJob) XXX_Unmarshal(b []byte) error { 1061 return xxx_messageInfo_ImportJob.Unmarshal(m, b) 1062} 1063func (m *ImportJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1064 return xxx_messageInfo_ImportJob.Marshal(b, m, deterministic) 1065} 1066func (m *ImportJob) XXX_Merge(src proto.Message) { 1067 xxx_messageInfo_ImportJob.Merge(m, src) 1068} 1069func (m *ImportJob) XXX_Size() int { 1070 return xxx_messageInfo_ImportJob.Size(m) 1071} 1072func (m *ImportJob) XXX_DiscardUnknown() { 1073 xxx_messageInfo_ImportJob.DiscardUnknown(m) 1074} 1075 1076var xxx_messageInfo_ImportJob proto.InternalMessageInfo 1077 1078func (m *ImportJob) GetName() string { 1079 if m != nil { 1080 return m.Name 1081 } 1082 return "" 1083} 1084 1085func (m *ImportJob) GetImportMethod() ImportJob_ImportMethod { 1086 if m != nil { 1087 return m.ImportMethod 1088 } 1089 return ImportJob_IMPORT_METHOD_UNSPECIFIED 1090} 1091 1092func (m *ImportJob) GetProtectionLevel() ProtectionLevel { 1093 if m != nil { 1094 return m.ProtectionLevel 1095 } 1096 return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED 1097} 1098 1099func (m *ImportJob) GetCreateTime() *timestamp.Timestamp { 1100 if m != nil { 1101 return m.CreateTime 1102 } 1103 return nil 1104} 1105 1106func (m *ImportJob) GetGenerateTime() *timestamp.Timestamp { 1107 if m != nil { 1108 return m.GenerateTime 1109 } 1110 return nil 1111} 1112 1113func (m *ImportJob) GetExpireTime() *timestamp.Timestamp { 1114 if m != nil { 1115 return m.ExpireTime 1116 } 1117 return nil 1118} 1119 1120func (m *ImportJob) GetExpireEventTime() *timestamp.Timestamp { 1121 if m != nil { 1122 return m.ExpireEventTime 1123 } 1124 return nil 1125} 1126 1127func (m *ImportJob) GetState() ImportJob_ImportJobState { 1128 if m != nil { 1129 return m.State 1130 } 1131 return ImportJob_IMPORT_JOB_STATE_UNSPECIFIED 1132} 1133 1134func (m *ImportJob) GetPublicKey() *ImportJob_WrappingPublicKey { 1135 if m != nil { 1136 return m.PublicKey 1137 } 1138 return nil 1139} 1140 1141func (m *ImportJob) GetAttestation() *KeyOperationAttestation { 1142 if m != nil { 1143 return m.Attestation 1144 } 1145 return nil 1146} 1147 1148// The public key component of the wrapping key. For details of the type of 1149// key this public key corresponds to, see the [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod]. 1150type ImportJob_WrappingPublicKey struct { 1151 // The public key, encoded in PEM format. For more information, see the [RFC 1152 // 7468](https://tools.ietf.org/html/rfc7468) sections for [General 1153 // Considerations](https://tools.ietf.org/html/rfc7468#section-2) and 1154 // [Textual Encoding of Subject Public Key Info] 1155 // (https://tools.ietf.org/html/rfc7468#section-13). 1156 Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"` 1157 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1158 XXX_unrecognized []byte `json:"-"` 1159 XXX_sizecache int32 `json:"-"` 1160} 1161 1162func (m *ImportJob_WrappingPublicKey) Reset() { *m = ImportJob_WrappingPublicKey{} } 1163func (m *ImportJob_WrappingPublicKey) String() string { return proto.CompactTextString(m) } 1164func (*ImportJob_WrappingPublicKey) ProtoMessage() {} 1165func (*ImportJob_WrappingPublicKey) Descriptor() ([]byte, []int) { 1166 return fileDescriptor_e40e1384d35a80c5, []int{6, 0} 1167} 1168 1169func (m *ImportJob_WrappingPublicKey) XXX_Unmarshal(b []byte) error { 1170 return xxx_messageInfo_ImportJob_WrappingPublicKey.Unmarshal(m, b) 1171} 1172func (m *ImportJob_WrappingPublicKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1173 return xxx_messageInfo_ImportJob_WrappingPublicKey.Marshal(b, m, deterministic) 1174} 1175func (m *ImportJob_WrappingPublicKey) XXX_Merge(src proto.Message) { 1176 xxx_messageInfo_ImportJob_WrappingPublicKey.Merge(m, src) 1177} 1178func (m *ImportJob_WrappingPublicKey) XXX_Size() int { 1179 return xxx_messageInfo_ImportJob_WrappingPublicKey.Size(m) 1180} 1181func (m *ImportJob_WrappingPublicKey) XXX_DiscardUnknown() { 1182 xxx_messageInfo_ImportJob_WrappingPublicKey.DiscardUnknown(m) 1183} 1184 1185var xxx_messageInfo_ImportJob_WrappingPublicKey proto.InternalMessageInfo 1186 1187func (m *ImportJob_WrappingPublicKey) GetPem() string { 1188 if m != nil { 1189 return m.Pem 1190 } 1191 return "" 1192} 1193 1194func init() { 1195 proto.RegisterEnum("google.cloud.kms.v1.ProtectionLevel", ProtectionLevel_name, ProtectionLevel_value) 1196 proto.RegisterEnum("google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose", CryptoKey_CryptoKeyPurpose_name, CryptoKey_CryptoKeyPurpose_value) 1197 proto.RegisterEnum("google.cloud.kms.v1.KeyOperationAttestation_AttestationFormat", KeyOperationAttestation_AttestationFormat_name, KeyOperationAttestation_AttestationFormat_value) 1198 proto.RegisterEnum("google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm", CryptoKeyVersion_CryptoKeyVersionAlgorithm_name, CryptoKeyVersion_CryptoKeyVersionAlgorithm_value) 1199 proto.RegisterEnum("google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState", CryptoKeyVersion_CryptoKeyVersionState_name, CryptoKeyVersion_CryptoKeyVersionState_value) 1200 proto.RegisterEnum("google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView", CryptoKeyVersion_CryptoKeyVersionView_name, CryptoKeyVersion_CryptoKeyVersionView_value) 1201 proto.RegisterEnum("google.cloud.kms.v1.ImportJob_ImportMethod", ImportJob_ImportMethod_name, ImportJob_ImportMethod_value) 1202 proto.RegisterEnum("google.cloud.kms.v1.ImportJob_ImportJobState", ImportJob_ImportJobState_name, ImportJob_ImportJobState_value) 1203 proto.RegisterType((*KeyRing)(nil), "google.cloud.kms.v1.KeyRing") 1204 proto.RegisterType((*CryptoKey)(nil), "google.cloud.kms.v1.CryptoKey") 1205 proto.RegisterMapType((map[string]string)(nil), "google.cloud.kms.v1.CryptoKey.LabelsEntry") 1206 proto.RegisterType((*CryptoKeyVersionTemplate)(nil), "google.cloud.kms.v1.CryptoKeyVersionTemplate") 1207 proto.RegisterType((*KeyOperationAttestation)(nil), "google.cloud.kms.v1.KeyOperationAttestation") 1208 proto.RegisterType((*CryptoKeyVersion)(nil), "google.cloud.kms.v1.CryptoKeyVersion") 1209 proto.RegisterType((*PublicKey)(nil), "google.cloud.kms.v1.PublicKey") 1210 proto.RegisterType((*ImportJob)(nil), "google.cloud.kms.v1.ImportJob") 1211 proto.RegisterType((*ImportJob_WrappingPublicKey)(nil), "google.cloud.kms.v1.ImportJob.WrappingPublicKey") 1212} 1213 1214func init() { 1215 proto.RegisterFile("google/cloud/kms/v1/resources.proto", fileDescriptor_e40e1384d35a80c5) 1216} 1217 1218var fileDescriptor_e40e1384d35a80c5 = []byte{ 1219 // 1745 bytes of a gzipped FileDescriptorProto 1220 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4b, 0x77, 0xdb, 0xc6, 1221 0x15, 0x0e, 0x48, 0x8a, 0x14, 0x2f, 0xf5, 0x80, 0x46, 0x76, 0x4c, 0xab, 0x8e, 0xad, 0x32, 0xc9, 1222 0xa9, 0x4e, 0x9a, 0x10, 0x16, 0xfd, 0x88, 0x63, 0x9f, 0xd3, 0x06, 0x24, 0x21, 0x89, 0xe6, 0x03, 1223 0x2c, 0x00, 0xd1, 0x72, 0xeb, 0x16, 0x07, 0xa4, 0xc6, 0x34, 0x22, 0xe2, 0x71, 0x00, 0x50, 0x35, 1224 0xab, 0x6a, 0xd3, 0xff, 0xd0, 0x5d, 0x57, 0x5d, 0x74, 0x91, 0x7f, 0xd1, 0x55, 0xcf, 0xe9, 0xa6, 1225 0x3f, 0xa0, 0x9b, 0xac, 0xbd, 0xeb, 0xae, 0xcb, 0x9c, 0x19, 0x0c, 0x48, 0x90, 0xa2, 0x5e, 0x89, 1226 0xb3, 0xd2, 0xf0, 0xde, 0xfb, 0x7d, 0x77, 0xe6, 0xce, 0x7d, 0x0c, 0x04, 0x1f, 0xf7, 0x1d, 0xa7, 1227 0x3f, 0xc0, 0x42, 0x6f, 0xe0, 0x0c, 0x0f, 0x85, 0x23, 0xcb, 0x17, 0x8e, 0xb7, 0x05, 0x0f, 0xfb, 1228 0xce, 0xd0, 0xeb, 0x61, 0xbf, 0xe8, 0x7a, 0x4e, 0xe0, 0xa0, 0xf5, 0xd0, 0xa8, 0x48, 0x8d, 0x8a, 1229 0x47, 0x96, 0x5f, 0x3c, 0xde, 0xde, 0xb8, 0xc3, 0x90, 0x86, 0x6b, 0x0a, 0x86, 0x6d, 0x3b, 0x81, 1230 0x11, 0x98, 0x8e, 0xcd, 0x20, 0x1b, 0xf7, 0x62, 0xda, 0xd7, 0x26, 0x1e, 0x1c, 0xea, 0x5d, 0xfc, 1231 0xc6, 0x38, 0x36, 0x1d, 0x8f, 0x19, 0xdc, 0x8e, 0x19, 0x44, 0xfe, 0x98, 0xea, 0x2e, 0x53, 0xd1, 1232 0x5f, 0xdd, 0xe1, 0x6b, 0xe1, 0x70, 0xe8, 0x51, 0xf2, 0x19, 0xee, 0xb1, 0x3e, 0x30, 0x2d, 0xec, 1233 0x07, 0x86, 0xe5, 0x86, 0x06, 0x85, 0x7f, 0x71, 0x90, 0xa9, 0xe3, 0x91, 0x62, 0xda, 0x7d, 0x74, 1234 0x0b, 0x52, 0xb6, 0x61, 0xe1, 0x3c, 0xb7, 0xc9, 0x6d, 0x65, 0xcb, 0xc9, 0xef, 0xc4, 0xa4, 0x42, 1235 0x05, 0xe8, 0x6b, 0xc8, 0xf5, 0x3c, 0x6c, 0x04, 0x58, 0x27, 0xf0, 0x7c, 0x62, 0x93, 0xdb, 0xca, 1236 0x95, 0x36, 0x8a, 0xec, 0xa8, 0x11, 0x77, 0x51, 0x8b, 0xb8, 0x43, 0x2c, 0x84, 0x18, 0x22, 0x7d, 1237 0x6a, 0xbc, 0x13, 0xff, 0x00, 0xf7, 0x68, 0x50, 0x48, 0x4c, 0x42, 0xa4, 0xe1, 0x9a, 0x7e, 0xb1, 1238 0xe7, 0x58, 0x42, 0xb4, 0x81, 0x67, 0xae, 0xe7, 0x7c, 0x83, 0x7b, 0x81, 0x2f, 0x9c, 0xb0, 0xd5, 1239 0xa9, 0x30, 0x70, 0x7a, 0x61, 0xb4, 0x84, 0x93, 0x68, 0x79, 0x2a, 0x1c, 0x85, 0x00, 0x5f, 0x38, 1240 0x39, 0xc2, 0x23, 0xdd, 0x33, 0xed, 0xfe, 0x69, 0xe1, 0x7f, 0x69, 0xc8, 0x56, 0xbc, 0x91, 0x1b, 1241 0x38, 0x75, 0x3c, 0x3a, 0xff, 0x2c, 0x55, 0xc8, 0xb8, 0x9e, 0x69, 0x19, 0xde, 0x88, 0x9d, 0xe3, 1242 0xd3, 0xe2, 0x9c, 0x2b, 0x2b, 0x8e, 0x99, 0x3a, 0xd8, 0xf3, 0x4d, 0xc7, 0x0e, 0x29, 0x22, 0x28, 1243 0x6a, 0x41, 0xc6, 0x1d, 0x7a, 0xae, 0xe3, 0xe3, 0x7c, 0x72, 0x93, 0xdb, 0x5a, 0x29, 0x09, 0x17, 1244 0xb3, 0x4c, 0x56, 0xed, 0x10, 0x46, 0xf8, 0x16, 0x94, 0x88, 0x64, 0x36, 0xc2, 0x0b, 0xd7, 0x8e, 1245 0x30, 0xda, 0x03, 0x64, 0xe3, 0xb7, 0x81, 0xee, 0xb1, 0xec, 0x0a, 0x89, 0x32, 0x97, 0x11, 0x29, 1246 0x3c, 0x41, 0x29, 0x0c, 0x44, 0x99, 0xaa, 0xb0, 0x3a, 0x26, 0x71, 0xb1, 0x67, 0x3a, 0x87, 0xf9, 1247 0x45, 0x4a, 0x73, 0xfb, 0x0c, 0x4d, 0x95, 0x65, 0xdb, 0xde, 0x07, 0xca, 0x4a, 0x84, 0x69, 0x53, 1248 0x08, 0x3a, 0x00, 0xfe, 0x38, 0x0c, 0x9d, 0x1e, 0x60, 0xcb, 0x1d, 0x18, 0x01, 0xce, 0xe7, 0x28, 1249 0xcd, 0x17, 0x57, 0x0a, 0xb8, 0xc6, 0x40, 0xca, 0xea, 0xf1, 0xb4, 0x00, 0x95, 0x21, 0x3d, 0x30, 1250 0xba, 0x78, 0xe0, 0xe7, 0x61, 0x33, 0xb9, 0x95, 0x2b, 0x7d, 0x76, 0x49, 0xe8, 0x1b, 0xd4, 0x58, 1251 0xb2, 0x03, 0x6f, 0xa4, 0x30, 0xe4, 0xc6, 0x57, 0x90, 0x8b, 0x89, 0x11, 0x0f, 0xc9, 0x23, 0x3c, 1252 0x0a, 0x93, 0x45, 0x21, 0x4b, 0x74, 0x03, 0x16, 0x8e, 0x8d, 0xc1, 0x30, 0x4c, 0xf6, 0xac, 0x12, 1253 0xfe, 0x78, 0x9a, 0x78, 0xc2, 0x15, 0xde, 0x02, 0x3f, 0x7b, 0x99, 0xa8, 0x00, 0x77, 0x2b, 0xca, 1254 0xcb, 0xb6, 0x26, 0xeb, 0x75, 0xe9, 0xa5, 0xde, 0xde, 0x57, 0xda, 0xb2, 0x2a, 0xe9, 0xfb, 0x2d, 1255 0xb5, 0x2d, 0x55, 0x6a, 0x3b, 0x35, 0xa9, 0xca, 0x7f, 0x80, 0xd6, 0x61, 0x55, 0x6a, 0x51, 0x2b, 1256 0xbd, 0x2a, 0xd1, 0xbf, 0x3c, 0x47, 0x84, 0xa2, 0xfa, 0xb2, 0xd9, 0x94, 0x34, 0xa5, 0x56, 0xd1, 1257 0xd5, 0xda, 0x6e, 0x8b, 0x5f, 0x40, 0x1f, 0x02, 0x8a, 0x09, 0x23, 0xe3, 0xf4, 0xd3, 0x93, 0x77, 1258 0xe2, 0x5b, 0xf8, 0xf9, 0x79, 0x45, 0x34, 0xc9, 0x7d, 0xf5, 0x47, 0x94, 0x91, 0xd0, 0x8b, 0x68, 1259 0x7c, 0xe1, 0x24, 0x5c, 0xeb, 0x47, 0x78, 0x74, 0x5a, 0x5e, 0x87, 0xb5, 0x71, 0x56, 0xf8, 0xbd, 1260 0x37, 0xf8, 0x70, 0x38, 0xc0, 0x85, 0xff, 0x70, 0x90, 0x3f, 0xef, 0xe2, 0x90, 0x0c, 0x3c, 0x49, 1261 0x14, 0xdc, 0xa3, 0x98, 0x01, 0x3e, 0xc6, 0x03, 0x1a, 0xe1, 0x95, 0xd2, 0x27, 0x73, 0x6f, 0xac, 1262 0x3d, 0x36, 0x6e, 0x10, 0x5b, 0x65, 0xd5, 0x9d, 0x16, 0xa0, 0x2e, 0x64, 0x8d, 0x41, 0xdf, 0xf1, 1263 0xcc, 0xe0, 0x8d, 0xc5, 0xca, 0xee, 0xd7, 0x57, 0xca, 0xa5, 0x33, 0x02, 0x31, 0xa2, 0x21, 0x75, 1264 0x94, 0x50, 0x26, 0xb4, 0x85, 0xbf, 0x24, 0xe0, 0x56, 0x1d, 0x8f, 0x64, 0x17, 0x87, 0x99, 0x2d, 1265 0x06, 0x01, 0x29, 0x14, 0xb2, 0x44, 0xbf, 0x83, 0xf4, 0x6b, 0xc7, 0xb3, 0x8c, 0x20, 0x9f, 0xa2, 1266 0xce, 0x7f, 0x35, 0xd7, 0xf9, 0x39, 0xe8, 0x62, 0x6c, 0xbd, 0x43, 0x59, 0xc2, 0x1a, 0x66, 0x94, 1267 0xe8, 0x23, 0xc8, 0xf4, 0x1c, 0x3b, 0xc0, 0x76, 0x40, 0xab, 0x7f, 0x89, 0x35, 0x1c, 0x26, 0x2b, 1268 0x1c, 0xc1, 0xda, 0x19, 0x02, 0x92, 0x76, 0xa2, 0xa6, 0x49, 0xaa, 0x26, 0x6a, 0x35, 0xb9, 0xa5, 1269 0xef, 0xc8, 0x4a, 0x53, 0xd4, 0x66, 0xd2, 0x2e, 0x0f, 0x37, 0x2a, 0x62, 0xa7, 0xb6, 0xdf, 0xd4, 1270 0x3b, 0xdb, 0x7a, 0x45, 0x6e, 0xb6, 0x15, 0x49, 0x55, 0xa5, 0x2a, 0x9f, 0x8c, 0x6b, 0x4a, 0x71, 1271 0x4d, 0xaa, 0xf0, 0xf7, 0x95, 0x58, 0x8e, 0xb3, 0x90, 0x9d, 0xdf, 0x51, 0x7f, 0x03, 0x0b, 0x64, 1272 0x5b, 0x51, 0x27, 0x7c, 0xf6, 0xc3, 0xae, 0x44, 0x25, 0x14, 0x4a, 0xc8, 0x84, 0xb4, 0x39, 0xa9, 1273 0x93, 0xb9, 0x7a, 0xea, 0x84, 0xbb, 0xbb, 0x38, 0x7f, 0xe0, 0xbd, 0xe5, 0x4f, 0x32, 0x96, 0x3f, 1274 0x48, 0x85, 0x9c, 0x31, 0xb9, 0x27, 0xd6, 0x38, 0x3f, 0xbf, 0x4e, 0xa2, 0x84, 0x94, 0x71, 0x96, 1275 0xd9, 0xe9, 0x90, 0xba, 0xfe, 0x74, 0xa8, 0xc2, 0x72, 0x1f, 0xdb, 0xc4, 0x19, 0xe3, 0xc8, 0x5d, 1276 0x8d, 0x63, 0x29, 0x42, 0x51, 0x96, 0x32, 0x2c, 0x1d, 0x62, 0x3f, 0xf0, 0x9c, 0xd1, 0xb5, 0xc6, 1277 0x54, 0x8e, 0x81, 0x28, 0x47, 0x13, 0x50, 0xc4, 0x81, 0x8f, 0xb1, 0x1d, 0x84, 0x4c, 0xe9, 0xab, 1278 0x31, 0xf1, 0x0c, 0x2a, 0x11, 0x24, 0xa5, 0x2b, 0x00, 0x98, 0x96, 0xeb, 0x78, 0x81, 0xfe, 0x8d, 1279 0xd3, 0xcd, 0xaf, 0x4c, 0x72, 0x33, 0x1b, 0x8a, 0x9f, 0x3b, 0x5d, 0x12, 0x3e, 0x66, 0x43, 0x7d, 1280 0xad, 0x5e, 0x31, 0x7c, 0x21, 0x86, 0x7a, 0xf9, 0x12, 0x6e, 0x32, 0x86, 0xd7, 0x86, 0x39, 0x18, 1281 0x7a, 0x58, 0xf7, 0xb0, 0xe1, 0x3b, 0x76, 0x9e, 0x9f, 0x38, 0x5c, 0x0f, 0x2d, 0x76, 0x42, 0x03, 1282 0x85, 0xea, 0x0b, 0x7f, 0x4b, 0xc1, 0xed, 0x73, 0x93, 0x07, 0x7d, 0x0e, 0x5b, 0xb1, 0xb1, 0xd1, 1283 0x91, 0x14, 0x95, 0x94, 0xb1, 0xd8, 0xd8, 0x95, 0x95, 0x9a, 0xb6, 0xd7, 0x9c, 0xa9, 0xe4, 0x7b, 1284 0xf0, 0xb3, 0x5d, 0x59, 0xde, 0x6d, 0x48, 0xfa, 0x64, 0x38, 0xb0, 0x89, 0x52, 0x93, 0x5b, 0x3c, 1285 0x87, 0xee, 0x40, 0x5e, 0x51, 0x45, 0x3a, 0x45, 0xf4, 0xb6, 0xaa, 0xea, 0xa5, 0xfb, 0x0f, 0x9f, 1286 0xe8, 0xea, 0x9e, 0x58, 0x7a, 0xf4, 0x98, 0x4f, 0x9c, 0xd1, 0x3e, 0xb8, 0xff, 0x65, 0x29, 0xd2, 1287 0x26, 0xcf, 0x68, 0x1f, 0xde, 0xff, 0xea, 0x71, 0xa4, 0x4d, 0x9d, 0xab, 0x7d, 0xb4, 0x5d, 0xe2, 1288 0x57, 0xd1, 0x5d, 0xd8, 0x98, 0x68, 0xeb, 0x15, 0x75, 0x7b, 0xca, 0xf3, 0xc2, 0x1c, 0x7d, 0xdc, 1289 0x77, 0x7a, 0x8e, 0x3e, 0xee, 0x3d, 0x73, 0x81, 0x9e, 0xf8, 0xe7, 0xd1, 0x26, 0xdc, 0x21, 0x7a, 1290 0x36, 0x28, 0x75, 0x59, 0x94, 0xda, 0x53, 0x3b, 0x58, 0x9c, 0x6b, 0x11, 0xdf, 0x43, 0x76, 0xae, 1291 0x45, 0x7c, 0x17, 0x70, 0xa1, 0x05, 0xd9, 0xc7, 0x1a, 0xba, 0x05, 0xeb, 0x52, 0x85, 0x6d, 0xb3, 1292 0xf4, 0x68, 0x0c, 0x5d, 0x9a, 0x52, 0x3c, 0x78, 0xf2, 0x90, 0x28, 0x1e, 0x3c, 0x79, 0xc8, 0x2f, 1293 0x17, 0xfe, 0xc9, 0xc1, 0xcd, 0xb9, 0x8d, 0x10, 0x6d, 0xc1, 0x27, 0x73, 0x52, 0x83, 0x74, 0xfa, 1294 0xd9, 0x77, 0xc5, 0x87, 0x80, 0xda, 0x52, 0xab, 0x5a, 0x6b, 0xed, 0xea, 0xbb, 0x52, 0x4b, 0x52, 1295 0xe8, 0x2c, 0xe0, 0x17, 0x50, 0x0e, 0x32, 0x52, 0x4b, 0x2c, 0x37, 0xa4, 0x2a, 0xcf, 0xa1, 0x25, 1296 0x58, 0xac, 0xd6, 0xd4, 0xf0, 0x57, 0x02, 0x2d, 0x43, 0xb6, 0x2a, 0xa9, 0x9a, 0x22, 0xbf, 0xa4, 1297 0x83, 0xe0, 0x26, 0xac, 0xb1, 0x9f, 0xba, 0x5a, 0xd9, 0x93, 0xaa, 0xfb, 0xc4, 0x2a, 0x85, 0x10, 1298 0xac, 0x44, 0xc4, 0xb5, 0x66, 0x5b, 0x56, 0x34, 0x3e, 0x8d, 0xd6, 0x60, 0x39, 0x5c, 0xeb, 0x3b, 1299 0x62, 0x8d, 0x98, 0x65, 0x0a, 0x35, 0xb8, 0x31, 0x7b, 0x84, 0x8e, 0x89, 0xff, 0x88, 0x7e, 0x01, 1300 0x1f, 0xcf, 0x39, 0x41, 0xa7, 0x26, 0xbd, 0x98, 0x39, 0xc0, 0x22, 0xa4, 0x76, 0xf6, 0x1b, 0x0d, 1301 0x9e, 0x7b, 0xfa, 0x2d, 0xf7, 0x4e, 0xfc, 0x07, 0x07, 0x5b, 0x97, 0x3e, 0x71, 0xa2, 0x99, 0xf4, 1302 0xa7, 0x9f, 0xe0, 0xa5, 0x33, 0x91, 0x33, 0x2f, 0x53, 0x6a, 0x9d, 0xbd, 0x46, 0x4f, 0x0b, 0x7f, 1303 0x86, 0x6c, 0x7b, 0xd8, 0x1d, 0x98, 0x3d, 0xf2, 0xe4, 0xe2, 0x21, 0xe9, 0x62, 0x2b, 0x7a, 0x40, 1304 0xba, 0xd8, 0x42, 0xbf, 0x8f, 0x0f, 0x9b, 0xc4, 0x7b, 0x19, 0x36, 0xf1, 0x77, 0xca, 0x7f, 0x17, 1305 0x21, 0x5b, 0x1b, 0x77, 0xb8, 0x73, 0x67, 0xf3, 0x01, 0x2c, 0xb3, 0xc6, 0x65, 0xe1, 0xe0, 0x8d, 1306 0x73, 0xc8, 0x76, 0xf2, 0xcb, 0xb9, 0x3b, 0x19, 0xf3, 0xb1, 0x55, 0x93, 0x42, 0xca, 0xe9, 0xef, 1307 0xc4, 0x04, 0xf9, 0x58, 0x59, 0x32, 0x63, 0x52, 0xf4, 0x62, 0xce, 0x88, 0xce, 0x5e, 0x63, 0x44, 1308 0x47, 0xac, 0x67, 0xa6, 0xf4, 0xcc, 0xb0, 0x4b, 0xbe, 0x87, 0x61, 0x97, 0xfa, 0x21, 0xc3, 0xee, 1309 0x6b, 0xc8, 0xe1, 0xb7, 0xae, 0xe9, 0x5d, 0xf3, 0x93, 0x2c, 0xc4, 0x50, 0x86, 0x3a, 0xac, 0x31, 1310 0x86, 0xd8, 0xa4, 0x83, 0xab, 0xf1, 0xac, 0x86, 0xc8, 0xc9, 0xa0, 0xdb, 0x8b, 0x5e, 0x59, 0x69, 1311 0x1a, 0xe4, 0x2f, 0xae, 0x74, 0x83, 0xcf, 0x9d, 0x2e, 0x6d, 0x27, 0x21, 0xe7, 0xf8, 0x71, 0x05, 1312 0x2e, 0x4d, 0x5c, 0x92, 0xcf, 0xec, 0x0b, 0xf1, 0xfe, 0x25, 0x74, 0x2f, 0x3c, 0xc3, 0x75, 0x4d, 1313 0xbb, 0x3f, 0xce, 0x78, 0x36, 0x64, 0xdd, 0x71, 0x05, 0xfc, 0x14, 0x0f, 0x9f, 0x8d, 0x4f, 0x61, 1314 0xed, 0x8c, 0xe7, 0xb3, 0xb5, 0x56, 0xb0, 0x60, 0x29, 0x9e, 0xb1, 0xe8, 0x23, 0xb8, 0xcd, 0xba, 1315 0x54, 0x53, 0xd2, 0xf6, 0xe4, 0xea, 0x4c, 0xc3, 0x61, 0xf3, 0x64, 0x6a, 0x0a, 0x6c, 0xeb, 0xa2, 1316 0xa4, 0xea, 0xa4, 0x5d, 0x73, 0x53, 0xfa, 0xa8, 0xc3, 0x4f, 0xf4, 0x89, 0x42, 0x0f, 0x56, 0xa6, 1317 0xc3, 0x4b, 0x66, 0x03, 0x73, 0xf8, 0x5c, 0x2e, 0x5f, 0xa3, 0x4b, 0x73, 0x08, 0x20, 0x2d, 0x56, 1318 0xb4, 0x5a, 0x47, 0xe2, 0x13, 0xb4, 0x63, 0x1f, 0xb4, 0x6b, 0x0a, 0x69, 0xca, 0x97, 0x7c, 0xec, 1319 0x4d, 0x4a, 0xff, 0x47, 0x7d, 0xec, 0x8d, 0xdf, 0x48, 0xbe, 0x70, 0x32, 0x79, 0x46, 0x9d, 0x7e, 1320 0x76, 0x00, 0xab, 0x33, 0xf5, 0x4a, 0x8e, 0xd8, 0x56, 0x64, 0x4d, 0xaa, 0xd0, 0x4f, 0x8d, 0x86, 1321 0xd4, 0x91, 0x1a, 0x33, 0x47, 0x5c, 0x82, 0x45, 0x55, 0xde, 0xd1, 0x5e, 0x88, 0x8a, 0xc4, 0x73, 1322 0x28, 0x03, 0xc9, 0x3d, 0xb5, 0xc9, 0x27, 0x88, 0x58, 0x3a, 0xd0, 0x24, 0xa5, 0x25, 0x36, 0xf8, 1323 0x64, 0xf9, 0xaf, 0x1c, 0xdc, 0xea, 0x39, 0xd6, 0xbc, 0xbc, 0x28, 0xaf, 0xd5, 0x2d, 0x5f, 0x89, 1324 0xfe, 0x9f, 0x46, 0xfc, 0x3b, 0x6d, 0xee, 0xb7, 0x8f, 0x99, 0x65, 0xdf, 0x19, 0x18, 0x76, 0xbf, 1325 0xe8, 0x78, 0x7d, 0xa1, 0x8f, 0x6d, 0x5a, 0x36, 0xc2, 0x24, 0x28, 0x53, 0xff, 0x94, 0x7b, 0x76, 1326 0x64, 0xf9, 0xff, 0xe7, 0xb8, 0x6f, 0x13, 0xeb, 0xbb, 0x21, 0xb6, 0x42, 0xbd, 0xd4, 0x2d, 0xbf, 1327 0xd8, 0xd9, 0xfe, 0x77, 0x24, 0x7d, 0x45, 0xa5, 0xaf, 0xea, 0x96, 0xff, 0xaa, 0xb3, 0xdd, 0x4d, 1328 0x53, 0xc6, 0x07, 0xdf, 0x07, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x67, 0x51, 0x84, 0xe5, 0x13, 0x00, 1329 0x00, 1330} 1331